从数据表的值制作标题时遇到麻烦。我有一个文本文件,我在其中搜索一些字符串。拆分它们并将它们放入数据表中。之后,我使用一些 linq 代码将“名称”列作为该表的标题。对于小文本文件,它工作得很好,但是当我得到更大的文件时,我的编译器会抛出 MemoryOutOfExeption。所以我在问如何修复我的代码?
我的代码:
DataTable evHeader00 = resAtt.Copy();
var prds1 = evHeader00.AsEnumerable() // make Name Values as header
.GroupBy(c => c["Name"])
.Where(g => !(g.Key is DBNull))
.Select(g => (string)g.Key)
.ToList();
prds1.ForEach(p => evHeader00.Columns.Add(p, typeof(string))); // Here i got MemoryOutOfExeption
foreach (var row in evHeader00.AsEnumerable())
{
if (!(row["Name"] is DBNull))
{
row[(string)row["Name"]] = row["Products"];
}
}
数据表1:
ID Name Products
1 a A
2 b B
3 c C
... ... ...
结果:
ID a b c ...
1 A
2 B
3 C
... ... ... ... ...