1

アイテムを入力または貼り付けることができる複数行のテキストボックスがあります。テキストボックスの下部に、「Item Count="」ラベルとその横に「0」テキストボックスがあります。

「0」テキストボックス内のテキストで、テキストボックスリスト内のアイテム数をリアルタイムで追跡したいと思います。これは可能ですか?

これは私が持っているものですが、それを機能させることができません:

 private void textBox2_TextChanged(object sender, EventArgs e)
    {
        char[] delimiterChars = { ',', ':', '|', '\n' };
        List<string> sortBox = 
              new List<string>(textBox_ListSource.Text.Split(delimiterChars));
        var itemCount = sortBox.Count();
        textBox_SourceCount.Text = itemCount;
    }

最後の行の「itemCount」の下に赤い波線が表示されています。コンパイルされず、「int」を「string」に明示的に変換できないと表示されます。

4

1 に答える 1

4

試す

textBox_SourceCount.Text = itemCount.ToString();

また、リストにはCountプロパティがあるため、LINQCount関数を使用する必要はありません。

var itemCount = sortBox.Count(); // Calls a LINQ function which calls the Count property
var itemCount = sortBox.Count; // Calls the Count property directly

後で参照できるように、C#は自動的にをにキャストしませintstring。ほとんどの場合、変換を明示的に実行する必要があります。

于 2012-12-16T05:46:36.833 に答える