无法在ListBox的选定项目上使用索引

时间:2012-09-01 16:39:44

标签: c# listbox

我有这个:

string curr = "";
if (emails.SelectedItem != null)
{
  for (int i = 0; i <= 19; i++)
  {
    curr = (emails.SelectedItem.ToString()[i] + "." + 
            emails.SelectedItem.ToString()[i + 1]);
    clone.Items.Add(curr);
  }
}

但是,每当我运行它时,它都会给我“索引超出数组的范围”错误。

为什么呢?有什么问题?

另外,如何将其余的字符串(不仅仅是i + 1)添加到克隆中?

代码说明:

我正在尝试在单词的一个字母后插入句点(。),然后将其添加到克隆。在那之后,我想在SECOND字母之后添加一段时间,添加到克隆,第三个字母之后的期间,添加等...

但是,我不希望它是t.h.i.s.i.s.t.h.e.n.a.m.e,我希望它一次只有一个句号。

应该看起来像:

  

a.ntimatter
  an.timatter
  ant.imatter
  anti.matter
  等...

2 个答案:

答案 0 :(得分:3)

if (emails.SelectedItem != null)
{
    var item = emails.SelectedItem.ToString();
    for (int i = 1; i < item.Length; i++)
    {
         clone.Items.Add(item.Insert(i, "."));
    }
}

答案 1 :(得分:0)

试试这个

if (emails.SelectedItem != null) {
    string text = emails.SelectedItem.ToString();
    for (int i = 1; i < text.Length; i++) {
        string textWithPeriod = text.Substring(0, i) + "." + text.Substring(i);
        clone.Items.Add(textWithPeriod); 
    }
}