2 ds1992o ds1992o 于 2015.05.25 10:41 提问

C#中字符串根据字符种类进行分类
c#

将一个文本文件(有数字,有字母)读入到一个字符串s里
for(int i = 0;i<s.length-1;i++)
if(s[i] is int )
number.add(s[i]);
else
alphabet.add(s[i]);
为什么number是空的

3个回答

wsh1992o
wsh1992o   Rxr 2015.05.25 10:44
已采纳

首先,对于字符串而言,它的每一个元素都是字符,也就是char类型,不管你觉得是数组还是字母还是符号
那么s[i] is int这句话就始终为false,所以你的number就加不进去元素
其次,如果你的数字+字母文本文件存在回车换行,那么string里面的每个字符元素除了数字,字母以外
还有可能是 '\r' 回车 和 '\n' 换行

ds1992o
ds1992o 谢谢
2 年多之前 回复
xunlijiang
xunlijiang   2015.05.25 16:22

大哥,你字符串数组里取的当然是字符串了,不会是其他类型的,你可以把数组的类型,改成var,弱类型,这个数组里可以存放多种类型

songsunday
songsunday   2015.05.26 19:00

数字也是字符串啊,你得转换为数字,比如double.tryparse(s[i]),如果转换正确,就是数字,否则是字母或者其他字符串

Csdn user default icon
上传中...
上传图片
插入图片