实现C#Linq Distinct Help以将表中的列分组
它在实现C#Linq Distinct Help以将表中的列分组,c#,sql,linq,C#,Sql,Linq,它在cmbDept.Items.Add()上的输出显示了这种字符串 System.Linq.Enumerable+d_u7a1[System.Char]`不同于 在listview中,如何将其转换为可读的字符串类型 用户:它位于组合框中。尝试以下操作: private void GetRecDept() { cmbDept.Items.Clear(); ListViewMeasurements.Items.Clear(); SFCDataContext SFC = ne
cmbDept.Items.Add()上的输出显示了这种字符串
System.Linq.Enumerable+d_u7a
1[System.Char]`不同于
在listview中,如何将其转换为可读的字符串类型
用户:它位于组合框中。尝试以下操作:
private void GetRecDept()
{
cmbDept.Items.Clear();
ListViewMeasurements.Items.Clear();
SFCDataContext SFC = new SFCDataContext();
try
{
var query = (from i in SFC.Systems_SettingsMeasurements
orderby i.RowID descending
select new {
RowID = i.RowID,
Measure = i.Measurement,
Target = i.TargetPercentage,
Dept = i.Department_ID
});
foreach (var w in query)
{
ListViewItem List = new ListViewItem(w.RowID.ToString());
List.SubItems.Add(w.Measure);
List.SubItems.Add(string.Format("{0:n2}", w.Target));
List.SubItems.Add(w.Dept);
ListViewMeasurements.Items.AddRange(new ListViewItem[] { List });
}
foreach (var r in query)
{
cmbDept.Items.Add(r.Dept.Distinct());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
关于您的问题,当您使用cmbDept.Items.Add(r.Dept.Distinct())时,Dept
是字符串
添加的项是一个IEnumerable
项,当然它不能像您所期望的那样显示它,在显示IEnumerable
项之前会调用ToString()
,并按您所述给出结果
var distinctDept = query.Select(x=>x.Dept).Distinct().ToArray();
cmbDept.Items.AddRange(distinctDept)