gpt4 book ai didi

c# - 在非常大的集合 (10,000) 中更改值

转载 作者:行者123 更新时间:2023-11-30 19:45:41 25 4
gpt4 key购买 nike

我正在将一个非常大的文件(2-3 GB 的文本)导入到一个集合中,一次导入 10,000 个。我需要将某些业务规则应用于集合中包含的值。最好的方法是什么?

最初的想法是创建一个 List<>一个自定义类,但它变得非常沉重。此外,我不确定如何有效地更改列表中的值。例如,对于列表中的所有项目,如果属性 x 是“abc”,我需要将其更改为“xyz”。

建议?

最佳答案

使用 List<T>应该绝对没问题。如果您只需要迭代,您可能想考虑使用 LinkedList<T> ,但我预计 IO 会使这里的其他一切相形见绌。

至于你的改变:

foreach (var item in list)
{
if (item.Property == "abc")
{
item.Property = "xyz";
}
}

... 阅读起来非常简单,IMO。你可以使用List<T>.ForEach如果你真的想要,或者 LINQ - 但我通常不喜欢在查询结果中更改值,如果它会改变结果。例如:

// I dislike doing this, though it would work:
foreach (var item in list.Where(x => x.Property == "abc"))
{
item.Property = "xyz";
}

关于c# - 在非常大的集合 (10,000) 中更改值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9907496/

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