问:
当我通过以下代码行从string
转换为character
时。
grp.EntireClass = char.Parse(record[3]);
我得到以下值:: 49'1'
首先为什么ascii出现为 部分价值?
其次,如何只获得'1'
部分
答案 0 :(得分:5)
我怀疑你实际得不到“49'1'” - 这可能就是调试人员如何显示它。
更简单的方法是:
string text = record[3]; // I assume...
grp.EntireClass = text[0]; // Gets the first character of text
这相当于:
grp.EntireClass = record[3][0];
为了清楚起见,我在第一个版本中拆分了它。
您可能希望检查文字不是:
在前两种情况下,上述代码将抛出异常;在第三种情况下,它会忽略第一个字符后的所有内容。
答案 1 :(得分:1)
记录和记录[3] 的类型是什么?如果record是一个字符串,为什么要调用Parse呢 - 你可以只读取记录[3]并且它将是一个字符。如果record [3]本身是一个字符串,请使用record [3] [0](例如)。