0
    Text = textBox.Text;

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

私は多くの検索を行いましたが、おそらく簡単ですが、何も見つかりませんでしlabel2.Textたが、2番目と3番目だけでなく、 CurrentText[2] を過ぎたものを に配置したいのですが、これを行う方法はありますか? また、どうすれば間にスペースを入れる"!say Hello Hello World!"ことができますか(たとえば、

  label1 = Hello  

  label2 = Hello World!    

スペースと。

4

4 に答える 4

2

試す

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

配列インデックスはゼロベースCurrentText[0]CurrentText[1]あるため、スキップする必要があります。

于 2012-09-14T21:15:02.723 に答える
1

最初の""だけを気にする必要がある場合は、これを使用してみませんか。

int index = Text.IndexOf(" ");

label1.Text = text.Substring(0, index);
label2.Text = text.Substring(index + 1);
于 2012-09-14T21:13:37.343 に答える
0

テキスト = textBox.Text;

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

これは役に立ちます。

于 2012-09-14T21:17:08.373 に答える
0

これのことですか?

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

私には、Linq はこの状況ではやり過ぎのように思えます。

于 2012-09-14T21:30:01.710 に答える