簡體   English   中英

如何在C#中計算列表上相同值的數量

[英]How can I count the number of the same value on list in c#

這是代碼:

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。

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

如果您經常訪問,還可以使用GroupBy首先計算所有文本:

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

int count = dic["TEST1"]; //count of 'TEST1'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM