我的代码如下:
var score = ((Dictionary<string, object>)entry.Value)["score"];
print("score: " + score + "!");
FBManager.instance.friends[id].score = (int) score;
//OUTPUT:
//score: 5!
//InvalidCastException: Specified cast is not valid.
为什么不能将score
转换为int?
我非常确定entry.Value
是Dictionary<string, object>
,因为我打印了entry.Value.GetType()
并准确地说了这句话。
答案 0 :(得分:2)
看看自己做得到的事情:Console.WriteLine(score.GetType())
如果它是System.String,则需要转换(Convert.ToInt32(score))或int.Parse(score)。如果是System.Int32,则应该可以投放。如果还有其他(双精度,十进制等),请执行Convert事情:)
祝你好运!