c#中list里元素按字母排序

listBoxdisplay.Items.Clear();stringn1,n2;intswapcount=0;boolswapmode=true;while(swapm... listBoxdisplay.Items.Clear();
string n1, n2;
int swapcount = 0;
bool swapmode = true;
while (swapmode == true)
{
for (int i = 0; i < teamlist.Count - 1; i++)
{
n1 = teamlist[i].name;
n2 = teamlist[i + 1].name;
if (n1.ToUpper()[0] > n2.ToUpper()[0])
{

swap[0] = teamlist[i];
teamlist[i] = teamlist[i + 1];
teamlist[i + 1] = swap[0];
swapcount++;

}
}
if (swapcount == 0)
{
swapmode = false;
}
else
{
swapcount = 0;
}
}

teamlist中有11个元素 对其中的name按字母排序后输出在listbox里
现在上面这个代码运行后提示在交换过程中list的范围超出了 求高手指点
swap是我建的空list 用的和teamlist一样的struct 为了交换数据用
展开
 我来答
da_chengl
2011-10-13 · TA获得超过536个赞
知道小有建树答主
回答量:245
采纳率:100%
帮助的人:158万
展开全部
swap[0]可能有问题,是否没有初始值?你换成一个变量,别用数组可能好点。因为范围超出,如果是i溢出,在前几句程序就报错了,所以估计循环变量和范围没有问题。(如有追问,我只能用百度的消息回答你,因为追问后,我提交不上回答。)
追问
我有一个同样的循环 是按照id顺序排列 和这个写的是一样的 也是用swap这个list作为交换
没有问题 我感觉这个是因为比较第一个字母时 char的问题 不是很懂这一部分 这个会不会造成数据溢出?
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式