以下是代码:
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。 提前谢谢。
答案 0 :(得分: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))
答案 1 :(得分:2)
如果经常访问,您还可以使用GroupBy
来计算所有文本:
var dic = Listahan.GroupBy(x => x)
.ToDictionary(g => g.Key, g => g.Count());
int count = dic["TEST1"]; //count of 'TEST1'