如何检查文件中是否有超出标题行的行

本文关键字:标题 是否 何检查 检查 文件 | 更新日期: 2023-09-27 18:30:04

我有以下代码:

var lines = File.ReadLines(dir)
                .Skip(1);

foreach (var line in lines)
{
    var fields = line.Split(new Char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
    date.Add(fields[0].Trim(''"'));
    if (fields.Length > 1)
        value.Add(Convert.ToDouble(fields[1].Trim(''"');

所以我跳过标题(因为标题中写着"日期"answers"值"),开始阅读下面的行。当我点击一个按钮,然后显示在图表中时,就会出现这种情况。文件可能只有标题,其余的都是空的(所以只有一行)-我如何检查这一点,并可能发出带有警告的MessageBox?类似于:

if (---)
{
    MessageBox.Show("", "");
    return;
} 

如何检查文件中是否有超出标题行的行

在您的情况下,您可以使用Enumerable.Any<TSource>

var lines = File.ReadLines(dir).Skip(1);
if (!lines.Any())
{
    MessageBox.Show("", "");
    return;
} 
foreach (var line in lines)
{
    //process line here
}

使用Any扩展方法检查行是否有任何元素。

if (!lines.Any())
{
    MessageBox.Show("", "");
    return;
}

注意,这会枚举列表两次(With Any和foreach),但不要超出第一个元素。所以这应该没问题。

您可以检查行。可枚举,因此

if(!lines.Any()) 
{
   MessageBox.Show("", ""); 
}