gpt4 book ai didi

linq - 将 DataTable 转换为 IList

转载 作者:行者123 更新时间:2023-12-04 02:49:07 27 4
gpt4 key购买 nike

我正在更新一些具有仅包含一行的表的旧版。我想将它转换为 IList。这个想法是 IFoo 的第一个属性是 Name ,它是表中的列名,第二个属性是 Value ,它是列的值。

/// <summary>
/// Name = Column Name
/// </summary>
String Name { get; set; }
/// <summary>
/// Value = Column Value
/// </summary>
String Value { get; set; }

数据可能看起来像这样

Foo1     Foo2     Foo3    Foo4     Foo5

xyz zyx abc def ghi

并且会是:

Foo1, xyz

Foo2, zyx

Foo3, abc

Foo4, def

Foo5, ghi

我不太确定如何做到这一点。似乎有一个 linq 查询可以做到这一点。任何帮助将不胜感激。

朗达

最佳答案

也许(如果表格包含更多行也适用):

IList<Foo> data = table.AsEnumerable()
.SelectMany(r => table.Columns.Cast<DataColumn>()
.Select(col => new Foo
{
Name = col.ColumnName,
Value = r.IsNull(col) ? null : r[col].ToString()
}))
.ToList();

关于linq - 将 DataTable 转换为 IList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18137390/

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