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是空的

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

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

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