C#对象未解析为int

时间:2019-01-28 23:24:30

标签: c# casting

我的代码如下:

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.ValueDictionary<string, object>,因为我打印了entry.Value.GetType()并准确地说了这句话。

1 个答案:

答案 0 :(得分:2)

看看自己做得到的事情:Console.WriteLine(score.GetType())

如果它是System.String,则需要转换(Convert.ToInt32(score))或int.Parse(score)。如果是System.Int32,则应该可以投放。如果还有其他(双精度,十进制等),请执行Convert事情:)

祝你好运!