C# 将两个linq查询放入一个列表框中
我需要在一个列表框中获取两个LINQ查询的值。目前,我有两个单独的listboxe的并排,所以它的工作,但不是最佳的。数据本质上是一个名称列表以及与这些名称相关的值列表C# 将两个linq查询放入一个列表框中,c#,linq,C#,Linq,我需要在一个列表框中获取两个LINQ查询的值。目前,我有两个单独的listboxe的并排,所以它的工作,但不是最佳的。数据本质上是一个名称列表以及与这些名称相关的值列表 var getTotalsColumn = from p in dataTable select p.TOTALS; foreach (var totals in getTotalsColumn) { employeeByIspListBox.Items.
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);
}
我如何将其组合起来,将例如johndoe:21
放入一个列表框中。
总计和名称都返回类型字符串。更改查询:
var values = from p in dataTable
select p.NAME + " : " + p.TOTALS;
listBox1.Items.AddRange(values.ToArray());
更改您的查询:
var values = from p in dataTable
select p.NAME + " : " + p.TOTALS;
listBox1.Items.AddRange(values.ToArray());
听起来你只是想:
var items = dataTable.Select(p => string.Format("{0} : {1}", p.NAME, p.TOTALS));
listBox1.Items.AddRange(items.ToArray());
听起来你只是想:
var items = dataTable.Select(p => string.Format("{0} : {1}", p.NAME, p.TOTALS));
listBox1.Items.AddRange(items.ToArray());
作为补充说明。如果我想按“总计”列中的数字对列表框中的项目进行排序,该怎么办?我想我必须提前声明数组并使用Orderby方法?有什么提示吗?@Nabbic:没有,你只需要使用
dataTable.OrderBy(p=>p.TOTALS)。选择(p=>…)
谢谢你的回复。我确实试过这个。我从var items=dataTable.OrderBy(p=>p.TOTALS)得到了意外的结果。选择(p
=>string.Format(“{0}:{1}”,p.NAME,p.TOTALS))代码>我有数字1到16,它从上到下返回1,10,12,13,14,16,2,3,4,6,7,8。我在想,因为它们实际上不是整数,而是字符串?@Nabbic:你是说总计的类型是字符串?哎呀!尝试解决这个问题-这自然是数字数据,对吗?因此,将其设置为数字类型。否则您需要解析它…我也这么想,并且在我的待办事项列表中,我将把它移到我的待办事项列表中更高的优先级。谢谢:)作为补充说明。如果我想按“总计”列中的数字对列表框中的项目进行排序,该怎么办?我想我必须提前声明数组并使用Orderby方法?有什么提示吗?@Nabbic:没有,你只需要使用dataTable.OrderBy(p=>p.TOTALS)。选择(p=>…)
谢谢你的回复。我确实试过这个。我从var items=dataTable.OrderBy(p=>p.TOTALS)得到了意外的结果。选择(p
=>string.Format(“{0}:{1}”,p.NAME,p.TOTALS))代码>我有数字1到16,它从上到下返回1,10,12,13,14,16,2,3,4,6,7,8。我在想,因为它们实际上不是整数,而是字符串?@Nabbic:你是说总计的类型是字符串?哎呀!尝试解决这个问题-这自然是数字数据,对吗?因此,将其设置为数字类型。否则您需要解析它…我也这么想,并且在我的待办事项列表中,我将把它移到我的待办事项列表中更高的优先级。谢谢:)