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();

此外,您不需要使用 LINQ Count 函数,因为 List 具有 Count 属性。

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

为了将来参考,C# 不会自动将 an 强制int转换为string. 在大多数情况下,您需要显式执行转换。

于 2012-12-16T05:46:36.833 回答