显示超过一定数量的所有数组

时间:2012-09-14 21:09:51

标签: c# arrays split

    Text = textBox.Text;

    if (Text.StartsWith("!say"))
    {
        string[] CurrentText = Text.Trim().Split(' ');
        label1.Text = CurrentText[1];
        label2.Text = CurrentText[2] += CurrentText[3];
    }

我已经做了很多搜索,这可能很容易,但我找不到任何东西,但我希望将任何超过CurrentText [2]的内容放到label2.Text,而不仅仅是第2和第3,无论如何要做到这一点?另外,我如何在两者之间保留空格(例如,如果我将"!say Hello Hello World!"放在

  label1 = Hello  

  label2 = Hello World!    

与空间。

4 个答案:

答案 0 :(得分:2)

尝试

label2.Text = String.Join(" ", CurrentText.Skip(2).ToArray());

由于数组索引为零CurrentText[0],因此必须跳过CurrentText[1]

答案 1 :(得分:1)

如果您只需要关注第一个“”,为什么不使用它:

int index = Text.IndexOf(" ");

label1.Text = text.Substring(0, index);
label2.Text = text.Substring(index + 1);

答案 2 :(得分:0)

Text = textBox.Text;

if (Text.StartsWith("!say"))
{
    string[] CurrentText = Text.Trim().Split(' ');
    label1.Text = CurrentText[1];
    label2.Text = string.Join(", ", CurrentText.Skip(2).ToArray());
} 

这会有所帮助。

答案 3 :(得分:0)

你是说这个吗?

label2.Text += string.Join(" ", CurrentText, 1, CurrentText.Length-1);

对我来说,Linq在这种情况下似乎有些过分。