c#怎么分段截取字符串存入不同的LIST

有一个比较大的TXT,很多行,想要将其中按一些特征取出很多段(一个段有好多行),然后处理
想每段创一个LIST后面会方便处理,但是因为不知道到底有多少段且内容不同,怎么可以把它存到不同的LIST中呢?
初学者,有点困惑,该怎么办呢?
最新回答
Mentos曼妥思

2024-10-02 02:15:27

用泛型

List<string> strList=new List<string>;

//读取的代码我就不写了,你每读取到一段赋到str上,
strList.add(str);//遍历一下,把每一段都放到List中

//再遍历出来供你使用
foreach(string str in strList){ //这里就是供你使用的}
追问
一段里已经有好多行了啊,如果把这一段当做strList[i],那还可以将这一段在后期重新排序吗?
追答
你这样吧,每一段都创建一个List,然后创建一个List数组,每遍历完一段将List放入数组中,这样每一段就单独出来了,到时候,先遍历数组,再遍历List,至于你说的重新排序,排序的规则还得按你自己需要的写
追问
对啊我就是想问怎么在循环中创建LIST。。。
追答
我是做java的,C#具体怎么读文件不会
你可以遍历文本内容的每一段嘛(C#应该可以写出这样的功能)
先创建一个大的List>,(这个是全局变量)
然后每遍历一次的时候就创建一个新的List,add()方法添加到大的List中,当前遍历结束后,小List也就没了,下一次遍历再创建List....
思想懂了么。。。
祁梦

2024-10-02 02:06:55

给你看个例子

            string s = "123,456";
            char[] sep = new char[1];
            sep[0] = ',';
           string[] ss=s.Split(sep);

这个split函数的作用就是把一个string分开。上面这个程序ss会得到一个的数组ss[0]=123,ss[1]=456. 你需要把整个文本都读出来,然后用split函数来分开,分隔符是你的段落标识。