0

我有这个:

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)来克隆?

代码说明:

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

但是,我不想让它成为t.h.i.s.i.s.t.h.e.n.a.m.e,我希望它一次只有一个时期。

它应该看起来像:

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

4

2 回答 2

3
if (emails.SelectedItem != null)
{
    var item = emails.SelectedItem.ToString();
    for (int i = 1; i < item.Length; i++)
    {
         clone.Items.Add(item.Insert(i, "."));
    }
}
于 2012-09-01T17:00:19.257 回答
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); 
    }
}
于 2012-09-01T17:02:43.120 回答