gpt4 book ai didi

c# - 将大量对象有效地匹配到 csv 标题映射

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:08:00 24 4
gpt4 key购买 nike

我正在处理大量数据对象,我需要能够将它们转换为基于 csv 标题映射的文本文件。标题映射基本上是需要按特定顺序打印的字段列表,例如如果头映射是:ID、名称、位置等,那么所有对象的这三个字段都需要写入一个 csv 文件。

问题在于对象列表可能有数百万个,而标题映射中可能有数百个字段名——它们在对象中始终是有效的字段名。目前,我正在使用的代码遍历整个对象列表,并在所有 csv 值的映射上使用 switch 语句来打印出必填字段。代码如下所示:

foreach (Object o in Objects)
{
foreach (String FieldName in CsvFieldsList)
{
switch (FieldName)
{
case "ID":
//Do something for this specific ID:
outString.Append(o.ID);
break;
....
....
}

}

}

据我所知,C# 将为字符串 switch 语句使用字典,因此这些语句应该很快,但是,对于我们的一些大型数据集,此代码需要花费数小时,我想知道是否可以改进此设计。

最佳答案

你能尝试一些并行方法吗?例如,将对象拆分成一些小对象,然后在单独的线程或进程中处理每个小对象。每个线程或进程写入一个csv文件,在所有线程或进程完成后,将这些csv文件组合在一起。

关于c# - 将大量对象有效地匹配到 csv 标题映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23487187/

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