[英]sorting array with array.sort
我有一个列表框,我想从az对该列表框中的每个项目进行排序,并在一个按钮中分配这些代码。 我需要将数组分配给列表框吗? 然后使用循环?
这就是我做的:
protected void sortImageButton_Click(object sender, ImageClickEventArgs e)
{
string[] sort = new string[cartListBox.Items.Count];
for (int i = 0; i < sort.Length; i++)
{
sort[i] = cartListBox.Items[i].ToString();
Array.Sort(sort);
}
}
但是,当我点击按钮时,它什么也没做。
你需要在循环外排序。
protected void sortImageButton_Click(object sender, ImageClickEventArgs e)
{
string[] sort = new string[cartListBox.Items.Count];
for (int i = 0; i < sort.Length; i++)
{
sort[i] = cartListBox.Items[i].ToString();
}
Array.Sort(sort);
for (int i = 0; i < sort.Length; i++)
{
// reset the order for the cartListBox collection according to the sort array, if needed
}
}
ListBox有一个Sorted属性 ,可用于启用排序
cartListBox.Sorted = true;
从以上MSDN链接:
使用Sorted属性在ListBox中按字母顺序自动排序字符串。 当项目添加到已排序的ListBox时,项目将移动到已排序列表中的相应位置。 将项目添加到ListBox时,首先对项目进行排序然后添加新项目会更有效。
将Sorted设置为true的ListBox不应使用DataSource属性绑定到数据。 要在绑定的ListBox中显示已排序的数据,您应该绑定到支持排序的数据源,并让数据源提供排序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.