将两个linq查询放入一个列表框中

时间:2013-09-20 20:21:24

标签: c# linq

我需要将两个LINQ查询的值放入一个列表框中。目前我将它并排进入两个单独的列表框,因此它可以工作但不是最佳的。数据本质上是一个名称列表和一个与这些名称一起使用的值列表。

        var getTotalsColumn = from p in dataTable select p.TOTALS;

        foreach (var totals in getTotalsColumn)
        {
            employeeByIspListBox.Items.Add(totals);

        }
            var getNamesColumn = from p in dataTable select p.NAME;

        foreach (var names in getNamesColumn)
        {
            listBox1.Items.Add(names);
        }

如何将此结合起来将例如John Doe : 21放入一个列表框中。 Totals和Name都返回String类型。

3 个答案:

答案 0 :(得分:4)

听起来你只是想要:

var items = dataTable.Select(p => string.Format("{0} : {1}", p.NAME, p.TOTALS));
listBox1.Items.AddRange(items.ToArray());

答案 1 :(得分:2)

更改您的查询:

var values = from p in dataTable
             select p.NAME + " : " + p.TOTALS;

listBox1.Items.AddRange(values.ToArray());

答案 2 :(得分:1)

    foreach (var p in dataTable )
    {
        employeeByIspListBox.Items.Add(p.NAME + " : " + p.TOTALS);

    }