switch语句中的ASCII.GetBytes错误 - 无法转换对象类型

时间:2012-07-31 13:53:02

标签: c# visual-studio-2010

我有以下C#代码 -

switch (Convert.ToInt32(Encoding.ASCII.GetBytes(grdGrading.Text.Trim())))

grdGrading是一个数据网格。

我目前收到此错误 - Unable to cast object of type 'System.Byte[]' to type 'System.IConvertible'.

关于导致这种情况的任何想法?

2 个答案:

答案 0 :(得分:2)

Convert.ToInt32()不适用于字节数组。假设您传递的是实现object的{​​{1}}。请改用IConvertible

正如@AVD所指出的,看起来你真正想要使用的是BitConverter.ToInt32()

答案 1 :(得分:1)

如果grdGrading.Text属性返回digits (numeric value),则使用int.Parseint.TryParse方法解析字符串数据。

int value;

if(int.TryParse(grdGrading.Text.Trim(),out value))
{
  //code
}