0

我有以下 C# 代码-

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

grdGrading是一个数据网格。

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

关于是什么原因的任何想法?

4

2 回答 2

2

Convert.ToInt32()不适用于字节数组。假设您将它传递给它一个object实现IConvertible. 改为使用BitConverter.ToInt32()

但是,正如@AVD 所指出的,您真正想要使用的是Int32.TryParse().

于 2012-07-31T13:55:34.340 回答
1

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

int value;

if(int.TryParse(grdGrading.Text.Trim(),out value))
{
  //code
}
于 2012-07-31T13:55:30.903 回答