【发布时间】:2019-09-08 19:42:11
【问题描述】:
我有一个foreach 循环,它用来自groupbox 的checkboxes 填充列表。问题是它们是按随机顺序添加的。由于我按字母升序对它们进行了命名,因此我想按它们的Name 属性对它们进行排序。
我已经尝试过使用.Sort(),但它什么也没做。我也尝试使用 Linq 表达式 DigBoxes = DigBoxes.OrderBy(x => x.Name).ToList();
但它也没有做任何事情......
这是我的代码:
GroupBox box = (GroupBox)e.Argument;
string DigInput = "";
List<CheckBox> DigBoxes = new List<CheckBox>();
foreach (Control c in box.Controls)
{
if(c is CheckBox)
{
DigBoxes.Add(c as CheckBox);
}
}
DigBoxes = DigBoxes.OrderBy(x => x.Name).ToList();
【问题讨论】:
-
定义“不做任何事情”。
-
你把
.OrderBy放在哪里了? -
您能否发布带有
.OrderBy的代码,因为您已经实现了它和输出示例?似乎很奇怪,这不起作用。 -
说不做任何事情正是我的意思。在它执行那行代码后,当我使用调试器检查时没有任何变化
-
@Ziema 我不认为你的意思是你认为你的意思。当然,它正在做某事,它正在对集合进行排序。您只是没有以有意义的方式使用结果。
标签: c# list winforms sorting checkbox