删除字符串数组中的空字符串
1.问题引入
在做C#作业的时候,想要读取文件中的字符串遇到异常。
String[] lines = File.ReadAllLines(fileName);ArrayList array = new ArrayList();foreach(String stu in line){String[] s = stu.Split(' ');array.Add(new Student(int.Parse(s[0]),s[1],char.Parse(s[2])));}
经排查发现是在使用File类的ReadAllLines静态函数时,将文本文件中的空行写入了字符串数组,继而引发下面将学生对象加入数组时出现异常.
2.问题解决
将字符串数组中的空行除去
1.使用Lambda表达式
lines.Where(s=>!string.IsNullOrEmpty(s)).ToArray();
2.使用List泛型集合的ForEach方法循环获取非空字符串
List<string> list = new List<string>();lines.ToList().ForEach((s)=>{if(!string.IsNullOrEmpty(S)){list.Add(s);}});
3.循环
List<string> list = new List<string>();foreach(String s in lines){if(!string.IsNullOrEmpty(s))list.Add(s);}String[] line = list.ToArray();