C# 为什么可以';“我解析”;0-2-6-1​&引用;以'拆分后的整数-';

C# 为什么可以';“我解析”;0-2-6-1​&引用;以'拆分后的整数-';,c#,C#,从复制并粘贴了字符串运算数字列表的Excel工作表中读取,为什么c#在将字符串按“-”拆分为数组后不将字符/字符串0转换为零或将字符/字符串1转换为整数1 似乎有一个字符问题,1和底部没有线条的1之间的区别是什么 谢谢拆分字符串的结果是一个字符串数组,如果它们是数字,则应进一步解析为整数 var str = "0-2-6-1"; var stringValues = str.Split('-'); // string[] values var intValues = Array.Conver

从复制并粘贴了字符串运算数字列表的Excel工作表中读取,为什么c#在将字符串按“-”拆分为数组后不将字符/字符串0转换为零或将字符/字符串1转换为整数1


似乎有一个字符问题,1和底部没有线条的1之间的区别是什么


谢谢

拆分字符串的结果是一个字符串数组,如果它们是数字,则应进一步解析为整数

var str = "0-2-6-1";
var stringValues = str.Split('-'); //  string[] values

var intValues = Array.ConvertAll(stringValues, s => int.Parse(s)); // int[] values

请分享代码和特定的不希望出现的和理想的行为,以便我们能够帮助排除故障。“1和底部没有线条的1”-听起来像是一个“l”(就像我的“hello”)。
'0'
有ASCII码
0x30
48
。这就是你看到的吗?谢谢你的想法。。。我做了一项工作,成功地替换了我从工作表中复制和粘贴的“1”,但“0”没有成功,所以在确定其余数字正在转换时,我使用了一个条件语句。。。字符串numCell=ws.Cells[r,2].Value.ToString().Replace(“1​","1”)。更换(“0”、“0”)。饰件();draw.draw=numCell//当“0”时无法转换int.Parse,因此必须在条件语句draw.Numbers=Array.ConvertAll(numCell.Split('-'),n=>int.tryParse(n,out i)?i:0中使用tryParse和failure==“0”;不需要lambda,
int.Parse
本身完全可以用作第二个参数。这是我使用的代码,但是它经常无法将“1”或“0”转换为int.Parse或int.TryParse…奇怪。"0-2-6-1​" 是直接从纸上复制粘贴的,所以我知道它不是“O”或“l”…谢谢