如何填充的List 的从单一的数据行的列值
题
我还在学习(婴儿的步骤)。与函数搞乱并希望能找到一个更有条理的方式来处理我的数据表。
有关整个程序的生命中较为常用的表,我将它们转储到数据表和查询这些来代替。
:什么我希望做的发言权列X =“此”,与列“Y”的值直接转换为一个列表,返回给调用者查询数据表是 private List<string> LookupColumnY(string hex)
{
List<string> stringlist = new List<string>();
DataRow[] rows = tblDataTable.Select("Columnx = '" + hex + "'", "Columny ASC");
foreach (DataRow row in rows) { stringlist.Add(row["Columny"].ToString()); }
return stringlist;
}
任何人都知道一个稍微简单的方法是什么?我想这是很容易的,但我想知道,如果我做的不够的,如果这些迭代通过foreach循环不会影响性能。 TIA!
解决方案
可以使用LINQ来简化此:
public IEnumerable<string> LookupColumnY(string hex)
{
return tblDataTable
.Select("Columnx = '" + hex + "'", "Columny ASC")
.Select(row => row["Columny"].ToString() );
}
如果你需要返回一个列表,你可以添加ToList()
:
public IList<string> LookupColumnY(string hex)
{
return tblDataTable
.Select("Columnx = '" + hex + "'", "Columny ASC")
.Select(row => row["Columny"].ToString() )
.ToList();
}
然而,这仍然会迭代每行中的选择。
不隶属于 StackOverflow