C# 将值数组到列表框中
我有以下代码 我正在尝试将值插入列表框,然后能够按字母顺序使用这些值,并在同一列表框中重新显示它们。由于某些原因,代码无法工作(没有错误-仅当我按下按钮时列表框才会清除)C# 将值数组到列表框中,c#,asp.net,arrays,sorting,listbox,C#,Asp.net,Arrays,Sorting,Listbox,我有以下代码 我正在尝试将值插入列表框,然后能够按字母顺序使用这些值,并在同一列表框中重新显示它们。由于某些原因,代码无法工作(没有错误-仅当我按下按钮时列表框才会清除) protectedvoid排序按钮\u单击(对象发送者,ImageClickEventArgs e) { string[]movieArray=新字符串[cartListBox.Items.Count]; 对于(int i=0;i
protectedvoid排序按钮\u单击(对象发送者,ImageClickEventArgs e)
{
string[]movieArray=新字符串[cartListBox.Items.Count];
对于(int i=0;i
我认为问题出在最后一个循环中
这样做如下:
cartListBox.Items.Clear();
for (int i = 0; i < movieArray.Length; i++)
{
cartListBox.Items.Add(movieArray[i].ToString());
}
cartListBox.Items.Clear();
对于(int i=0;i
清除cartListBox.Items.Clear()时
,它不应作为循环计数器,例如,for(int i=0;i
cartListBox.Items.Count
产生了问题
cartListBox.Items.Count // is 0 length
您在上一步中执行的操作:
cartListBox.Items.Clear();
通过以更现代的方式执行此操作,您可以避免所有循环和bug:
var items = cartListBox.Items
.Select(item => item.ToString())
.OrderBy(x => x);
cartListBox.Items.Clear();
cartListBox.Items.AddRange(items);
要将movieArray添加到列表框,请使用AddRange
- carListBox.Items.AddRange(movieArray)李>
- carListBox.Sorted=true李>
- carListBox.Items.AddRange(movieArray)李>
- carListBox.Sorted=true李>
var items = cartListBox.Items
.Select(item => item.ToString())
.OrderBy(x => x);
cartListBox.Items.Clear();
cartListBox.Items.AddRange(items);