我还在学习(婴儿的步骤)。与函数搞乱并希望能找到一个更有条理的方式来处理我的数据表。

有关整个程序的生命中较为常用的表,我将它们转储到数据表和查询这些来代替。

:什么我希望做的发言权列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();
}

然而,这仍然会迭代每行中的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top