gpt4 book ai didi

c# - 在 C# 中使用 System.IO.File.ReadAllLines(fil) 跳过第一行

转载 作者:行者123 更新时间:2023-12-02 16:01:30 24 4
gpt4 key购买 nike

我有这样的声明:

string[] lines = System.IO.File.ReadAllLines(file);
foreach (string line in lines)
{
...
}

这会导致我出错,因为底层 .csv 文件中有一个 header 。我想跳过这一行,但是当我使用时:

string [] lines = System.IO.File.ReadLines(file).Skip(1).ToArray();

让我知道String不能使用Skip(1)。当我尝试使用时同样的事情:

string[] lines = System.IO.File.ReadAllLines(file);
lines = lines.Skip(1).ToArray();

给我带来同样的错误。

有人知道吗?我可以将 Foreach 循环调整为 For 循环,在其中消除第一行吗?

问候,

EDIT

我现在使用的代码是:

    string[] lines = System.IO.File.ReadAllLines(file);
lines = lines.Skip(1).ToArray();

foreach (string line in lines)
{
var cols = line.Split(';');
if (cols.Length == 1)
continue;
DataRow dr = tbl.NewRow();
dr[0] = file;
for (int cIndex = 1; cIndex + 1 < tbl.Columns.Count; cIndex++)
{
dr[cIndex + 1] = cols[cIndex];
}
}
System.Text.StringBuilder b = new System.Text.StringBuilder();
foreach (System.Data.DataRow r in tbl.Rows)
{
foreach (System.Data.DataColumn c in tbl.Columns)
{
b.Append(c.ColumnName.ToString() + ":" + r[c.ColumnName].ToString());
}
}
MessageBox.Show(b.ToString());
return tbl;

此处 b.ToString() 返回 Nothing(如 NULL)。早些时候,当我使用 GetAllLines() 时,它返回:

文件名:文件名存储:存储数量:数量文件名:文件名存储:1000数量:30

就这样继续下去。

我的想法是,也许我只导入了一个大的长字符串,所以当我跳过第一行时,它会变为 NULL。

但这是我的第一个 C# 代码,因此我在解决这个问题时遇到了一些困难。

最佳答案

您当前的算法没有问题:

string[] lines = System.IO.File.ReadAllLines(file);
lines = lines.Skip(1).ToArray();

只需确保导入下面的命名空间即可。

using System.Linq;

关于c# - 在 C# 中使用 System.IO.File.ReadAllLines(fil) 跳过第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43048819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com