2014-01-12 70 views
0

我跑我的C#應用​​程序,它是很大的,所以我只是包含的代碼布爾在C#中的字符串?

我的代碼的一部分:

allowGift = Convert.ToInt32(dRow[14]) == 1; 
allowInventoryStack = Convert.ToInt32(dRow[15]) == 1; 
interactionType = InterractionTypes.GetTypeFromString((string)dRow[16]); //Line of error 

和堆棧跟蹤的誤差

System.InvalidCastException:無法鑄造Typpe'System.Boolean'的對象以鍵入'System.String'

+1

什麼是'dRow'類型的其他地方做了Converter類? 'interactionType'的類型是什麼?以及哪條線路導致錯誤? – Liel

+2

您似乎正在使用[此課程](https://github.com/Gnuns/Bfly/blob/master/Butterfly%20Emulator/HabboHotel/Items/InteractionType.cs)。儘管下面的大多數答案都是善意的,但它們將不起作用,因爲「InteractionType」沒有從「True」或「False」轉換。根據您提供給我們的信息,我很抱歉地說您的問題無法回答。 –

+0

查看'InteractionType'枚舉(其中包括諸如「football」,「teleport」和「firegate」之類的值),並確保傳遞給'GetTypeFromString'的值在那裏。 –

回答

1

取而代之:

(string)dRow[16] 

嘗試ToString

dRow[16].ToString() 

或者Convert.ToString

Convert.ToString(dRow[16]) 
1

改變這一行:

interactionType = InterractionTypes.GetTypeFromString((string)dRow[16]); //Line of error 

這樣:

interactionType = InterractionTypes.GetTypeFromString(dRow[16].ToString()); //Line of error 
+0

解析代碼中的未知交互類型:False System.InvalidCastException:指定的投射無效 – Fernando

+0

請查看@Michael Petrotta對您的問題的評論。這個錯誤與您的問題無關,這是如何將布爾轉換爲字符串。這個錯誤是由於使用了您正在使用的'InterractionTypes'庫,它不接受'False'作爲有效的輸入值。 – Liel

0

而不是使用(string)dRow[16]dRow[16].ToString()

+0

解析代碼中的未知交互類型:False System.InvalidCastException:指定的強制轉換無效 – Fernando

1

一個bool不能直接轉換爲需要轉換一個string。你可以用與您在代碼

InterractionTypes.GetTypeFromString(Convert.ToString(dRow[16]));