当前位置: 首页 > 编程语言 > C#

对列表框中的项目列表进行排序分享

时间:2023-04-10 23:53:16 C#

SortingaListofItemsinaListbox一个不同的列表框。这是我想出的:ArrayListq=newArrayList();foreach(listBox4.Items中的对象o)q.Add(o);q.排序();listBox5.Items.Add(q.ToString());但它不起作用。有任何想法吗?ArrayListq=newArrayList();foreach(listBox4.Items中的对象o)q.Add(o);}q.Sort();listBox5.Items.Clear();foreach(q中的对象o){listBox5.Items.Add(o);您可以使用ListBox.Sorted内置函数foreach(objectoinlistBox4.Items){listBox5.Items.Add(o);}listBox5.Sorted=true;设置ListBox5.Sorted=true将确保对列表框中的项目进行排序,并且所有后续添加到列表框中的项目都以正确的顺序添加。当然,这假设您具有示例所建议的简单排序要求。试试这个:varlist=lstBox.Items.Cast().OrderBy(item=>item.Text).ToList();lstBox.Items.Clear();foreach(ListItemlistIteminlist){lstBox.Items.Add(listItem);如果您需要按值排序,只需切换item.Text和item.Value。请享用!将项目添加到数组并关闭循环。然后对数组值进行排序,绑定到列表框试试AddRangeArrayListq=newArrayList();foreach(listBox4.Items中的对象o)q.Add(o);q.排序();listBox5.Items.AddRange(q.ToArray());如果您使用的是.Net3.5,请使用linq来执行此操作。这里我使用列表进行转换和排序varlist=ListBox1.Items.Cast().Select(item=>item.Value).ToList();列表.排序();ListBox2.DataSource=列表;ListBox2.DataBind();privatevoidSortListBox(ListBoxlistBox){SortedListlist=newSortedList();foreach(ListItemiinlistBox.Items){list.Add(i.Text,i.Value);}listBox.Items.Clear();foreach(KeyValuePairiinlist){listBox.Items.Add(newListItem(i.Key,i.Value));}}你也可以使用我写的“扩展方法”:列表=描述?list.OrderByDescending(x=>x.Text).ToArray():list.OrderBy(x=>x.Text).ToArray();lb.Items.Clear();lb.Items.AddRange(列表);}publicstaticvoidSortByValue(thisListControllb,booldesc=false){varlist=lb.Items.Cast().ToArray();列表=描述?list.OrderByDescending(x=>x.Value).ToArray():list.OrderBy(x=>x.Value).ToArray();lb.Items.Clear();lb.Items.AddRange(列表);}publicstaticvoidSortByText(thisListControllb,booldesc=false){lb.Sort(desc);}publicstaticvoidSortRandom(thisListControllb){varlist=lb.Items.Cast()。OrderBy(x=>Guid.NewGuid().ToString()).ToArray();lb.Items.Clear();lb.Items.AddRange(列表);}}排序列表框的解释以上是C#学习教程:是列表框中的项目列表是排序的所有内容分享,如果对大家有用,需要详细了解C#学习教程,希望大家会多加注意——voidsort(){if(listBox1.Items.CountprotectedvoidSort(ListBoxlbox){try{List>ListBoxList=newList>();foreach(ListItemliinlbox.Items){ListBoxList.Add(newKeyValuePair(li.Value,li.Text));}if(ListBoxList.Count>0){ListBoxList=ListBoxList.OrderBy(x=>x.Value).ToList();lbox.DataTextField="值";lbox.DataValueField="Key";lbox.DataSource=ListBoxList;lbox.DataBind();}}catch(Exceptionerror){error.WriteEvent();throw;}}本文收集自网络,不代表位置,如涉及侵权,请点击右侧联系管理员删除,如需转载,请注明出处: