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

C# 显示超过一定数量的所有数组,c#,arrays,split,C#,Arrays,Split,我已经做了很多搜索,可能很容易,但我找不到任何东西,但我希望任何超过CurrentText[2]的东西都放在标签2上。Text,而不仅仅是第二个和第三个,还有什么方法可以这样做吗?此外,我如何保持空格之间的间距(例如,如果我将“!say Hello Hello World!”作为 Text = textBox.Text; if (Text.StartsWith("!say")) { string[] CurrentText = Text.Trim().S

我已经做了很多搜索,可能很容易,但我找不到任何东西,但我希望任何超过CurrentText[2]的东西都放在
标签2上。Text
,而不仅仅是第二个和第三个,还有什么方法可以这样做吗?此外,我如何保持空格之间的间距(例如,如果我将
“!say Hello Hello World!”
作为

    Text = textBox.Text;

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


使用空格。

如果只需要注意第一个“”,为什么不使用此选项:

  label2 = Hello World!    

如果您只需要注意第一个“”,为什么不使用此选项:

  label2 = Hello World!    
试一试

由于数组索引是从零开始的
CurrentText[0]
CurrentText[1]
必须跳过。

试试看

由于数组索引是从零开始的,因此必须跳过
CurrentText[0]
CurrentText[1]

Text=textBox.Text

label2.Text = String.Join(" ", CurrentText.Skip(2).ToArray());
这将有所帮助。

Text=textBox.Text

label2.Text = String.Join(" ", CurrentText.Skip(2).ToArray());
这会有帮助的。

你是说这个吗

if (Text.StartsWith("!say"))
{
    string[] CurrentText = Text.Trim().Split(' ');
    label1.Text = CurrentText[1];
    label2.Text = string.Join(", ", CurrentText.Skip(2).ToArray());
} 
在我看来,在这种情况下,林克似乎有点过分了。

你是说这个吗

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

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

您的第一个子字符串应该使用
索引-1
,否?@DStanley:既不是-1也不是+1,没有什么是正确答案:-)。现在修复,谢谢。关闭,但它必须是随机的用户可以输入。例如!假设helloworld将helloworld设置为label1,而hello将hello设置为label1。你的!say,如果您将其更改为5,它将把Hello放入框中,但仅此而已。您的第一个子字符串应使用
索引-1
,否?@DStanley:note-1或+1,都不是正确答案:-)。现在修复,谢谢。关闭,但它必须是随机的用户可以输入。例如!假设helloworld将helloworld设置为label1,而hello将hello设置为label1。你的!说,如果你把它改成5,它会把Hello放进盒子里,但不会更多。