listbox 排序 取行号问题? 救命!!!!!!!!!!!

hellomaina 2008-07-08 03:41:57
ListBox1 listbox2
a c
b f
c a
d
e
f
首先要看listbox1 在listbox2中是否存在。
如果存在 就要排列成对象的显示行号。例如 a 对应的就是2 ; c 对应的就是 0; f 对应的就是 1;
如果不存在就依次往下排。
上面我想要出来的结果就是 。 2,3,0,4,5,1
求助
...全文
236 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
nattystyle 2008-07-08
  • 打赏
  • 举报
回复

System.Text.StringBuilder sb = new System.Text.StringBuilder();
int iTemp = 0;
bool bFlag = false;
for (int i = 0; i < listBox1.Items.Count; i++)
if (listBox2.Items.Contains(listBox1.Items[i]))
{
sb.Append((int)listBox2.Items.IndexOf(listBox1.Items[i]));
if (!bFlag)
{
iTemp = (int)listBox2.Items.IndexOf(listBox1.Items[i]);
bFlag = true;
}
}
else
sb.Append(++iTemp);
MessageBox.Show(sb.ToString());
Ador3 2008-07-08
  • 打赏
  • 举报
回复
遍历,遍历,再遍历就ok了!
zzyhuian06142 2008-07-08
  • 打赏
  • 举报
回复
int _count = this.listBox2.Items.Count;
int[] _index = new int[this.listBox1.Items.Count];
int i = 0;
foreach(object _obj1 in this.listBox1.Items)
{
int ii=0;
bool _islive =false;
foreach(object _obj2 in this.listBox2.Items)
{
if(_obj1.ToString()==_obj2.ToString())
{
_islive =true;
break;
}
ii = ii+1;
}
if(_islive)
{
_index[i] = ii;
}
else
{
_index[i] = _count;
_count = _count +1;
}
i = i+1;
}
string _str="";
for(int iii = 0;iii<_index.Length;iii++)
{
_str =_str + _index[iii] + ";";
}
MessageBox.Show(_str);
ericzhangbo1982111 2008-07-08
  • 打赏
  • 举报
回复
ListBox l = new ListBox();
ListBox l2 = new ListBox();
l.Items.Add("a");
l.Items.Add("b");
l.Items.Add("c");
l.Items.Add("d");
l.Items.Add("e");
l.Items.Add("f");

l2.Items.Add("c");
l2.Items.Add("f");
l2.Items.Add("a");

ArrayList list = new ArrayList();
int count = l2.Items.Count;
foreach (object o in l.Items)
{
int index = l2.Items.IndexOf(o);
if (index == -1)
{
list.Add(count + "");
count++;

}
else
{
list.Add(index.ToString());
}
}



输出
2,3 0, 4, 5,1
pupo 2008-07-08
  • 打赏
  • 举报
回复
int tmpIndex = this.listBox2.Items.Count;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
int index;
foreach (string s in this.listBox1.Items)
{
index = this.listBox2.Items.IndexOf(s);
if (index != -1)
sb.Append(index + ",");
else
{
sb.Append(tmpIndex.ToString() + ",");
tmpIndex++;
}
}
MessageBox.Show(sb.ToString());
huming_h 2008-07-08
  • 打赏
  • 举报
回复
如果不存在就依次往下排。
那3,4,5是什么意思?
ericzhangbo1982111 2008-07-08
  • 打赏
  • 举报
回复
3 ,4, 5
那来的?

110,915

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧