gpt4 book ai didi

c# - 将每行中具有 int 值的文件转换为 IEnumerable

转载 作者:太空宇宙 更新时间:2023-11-03 18:38:08 25 4
gpt4 key购买 nike

我有一个文件,每行都有 int 值(尽管有些值可能不像某些注释那样是 int)。但是文件的结构是:

1
2
3
4
5
6
7
#some comment
9
10
etc...

将其转换为 IEnumerable 的最快方法是什么。我可以逐行阅读并使用 List 并调用 Add 方法,但我想它在性能方面并不是最好的。

谢谢

最佳答案

您可以在读取文件时即时创建您的 IEnumerable:

IEnumerable<Int32> GetInts(string filename)
{
int tmp = 0;
foreach(string line in File.ReadLines(filename))
if (Int32.TryParse(line, out tmp))
yield return tmp;
}

这样,您可以在读取文件时使用 foreach 循环对整数做任何您想做的事情。

foreach(int i in GetInts(@"yourfile"))
{
... do something with i ...
}

如果您只想创建一个列表,只需使用 ToList 扩展:

List<Int32> myInts = GetInts(@"yourfile").ToList();

但是如果您按照问题中的描述“手动”创建列表,则可能不会有任何可衡量的性能差异。

关于c# - 将每行中具有 int 值的文件转换为 IEnumerable<int>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12212549/

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