如果它等于特定字符串,则使用 File.ReadAllLines 跳过行

Skip line using File.ReadAllLines if it equals a particular string

是否可以做到string[] CSV_file = File.ReadAllLines(@..\..\..\Data.csv").Skip() 而不是将一行硬编码为例如Skip(1) 它跳过等于字符串的一行。 假设 csv 文件是:

你好,山姆

你好,乔

没有

你好,本

没有

你想跳过每一行说 'no' 所以你只剩下三个你好 是否可以像下面的代码或其他方式那样做。

string[] CSV_file = File.ReadAllLines(@..\..\..\Data.csv").Skip(alllines).Equals("No");

提前致谢

改用Where扩展方法,使用此方法您可以按某些条件过滤行。在您的情况下,条件将是 不等于 "No".

var lines = File.ReadAllLines("file")
    .Where(line => line.Equals("No") == false)
    .ToArray();

要仅检查第一列,请更改条件以检查该行是否以 "no,"

开头
var lines = File.ReadAllLines("file")
    .Where(line => line.StartsWith("no,") == false)
    .ToArray();

上面的代码稍作修改

string[] CSV_file = File.ReadAllLines("file").Where(l => !l.StartsWith("No")).ToArray();