1

这是代码:

List<string> Listahan = new List<string>();
Listahan.Add("TEST1");
Listahan.Add("TEST2");
Listahan.Add("TEST3");
Listahan.Add("TEST4");
Listahan.Add("TEST5");
Listahan.Add("TEST5");
Listahan.Add("TEST1");

然后我想要的是当我在我的文本框中输入 TEST1 时,它会输出它的计数,即 2。提前致谢。

4

2 回答 2

7
string textboxVal = "TEST1";    
int testOccurence = Listahan.Count(str => str == textboxVal);

如果您使用的是.NET 2.0并且不使用LINQBridge

int testOccurence = Listahan.FindAll(delegate (string str) { return str == textboxVal;})
                            .Count;

一些注意事项:可能是这种情况,您可能还需要不区分大小写的搜索。例如,用户可以输入"test1"和接收有意义的结果。您可以使用下一个代码来实现此目的:

Listahan.Count(str => string.Equals(str, textboxVal, StringComparison.OrdinalIgnoreCase))
于 2013-06-07T07:41:20.610 回答
2

如果您经常访问,您也可以使用GroupBy先计算所有文本:

var dic = Listahan.GroupBy(x => x)
                  .ToDictionary(g => g.Key, g => g.Count());

int count = dic["TEST1"]; //count of 'TEST1'
于 2013-06-07T07:42:42.867 回答