C# 具有LINQ的字符串的C子数组
我有一个字符串数组,我必须只取那些条目 从81或82开始。我试过这样做:C# 具有LINQ的字符串的C子数组,c#,string,linq,startswith,sub-array,C#,String,Linq,Startswith,Sub Array,我有一个字符串数组,我必须只取那些条目 从81或82开始。我试过这样做: var lines = File.ReadAllLines(fileName); // This returns an array of strings lines = lines.TakeWhile(item => item.StartsWith("81") ||item.StartsWith("82")).ToArray(); 但这根本不起作用。它重新运行一个空字符串数组 当我用for循环遍历行并每次比较时 i
var lines = File.ReadAllLines(fileName); // This returns an array of strings
lines = lines.TakeWhile(item => item.StartsWith("81") ||item.StartsWith("82")).ToArray();
但这根本不起作用。它重新运行一个空字符串数组
当我用for循环遍历行并每次比较时
if (!firstline.Substring(0, 2).StartsWith("81")) continue;
然后我取下所需的条目,它工作得很好
有什么建议可以让LINQ做对吗 您需要在以下位置使用:
TakeWhile将执行序列,直到条件变为false,但Where将继续并查找与条件匹配的所有元素
lines = lines.Where(item => item.StartsWith("81") || item.StartsWith("82")).ToArray();