取決於你想要做什麼。它看起來像你想要那些鍵(標題)的計數?
一種方法是將您的標題分組,以給出計數,例如。
var listCounts = testList.GroupBy(item => item.title);
由於使用本示例:
class Item
{
public string title;
}
static void Main(string[] args)
{
var testList = new List<Item>
{
new Item { title = "Blah" },
new Item { title = "Blah" },
new Item { title = "Blah" },
new Item { title = null },
new Item { title = null },
new Item { title = "test" },
new Item { title = "test" },
new Item { title = "test" },
new Item { title = "test" }
};
var listCounts = testList.GroupBy(item => item.title);
foreach (var count in listCounts)
{
Console.WriteLine("{0}: {1}", count.Key ?? string.Empty, count.Count());
}
Console.ReadKey();
}
缺點是你每次得到的計數 - 就像我說的,這取決於你想要達到的目的。一個簡單的改變會使得它成爲一個二元組(字符串,整數),每個標題將是一個關鍵字,並且該值將是標題出現的次數。
編輯
使用字典中,listCounts行更改爲:
var listCounts = testList.GroupBy(t => t.title).ToDictionary(i => i.Key ?? string.Empty, i => i.Count());
(注意,關鍵不能爲空,因此i.Key ?? string.Empty
解決辦法,應罰款爲您的目的)
事先創建一個字符串數組,並檢查它是否包含'item.title' – Kilazur
如何從配置文件中讀取要查找的值? –