我試圖找出一個LINQ查詢,將過濾掉從字典鍵的列表,並返回一個新的過濾掉辭典使用LINQ過濾掉從字典某些鍵和返回一個新的字典
var allDictEnteries = new Dictionary<string, string>
{
{"Key1", "Value1"},
{"Key2", "Value2"},
{"Key3", "Value3"},
{"Key4", "Value4"},
{"Key5", "Value5"},
{"Key6", "Value6"}
};
var keysToBeFiltered = new List<string> {"Key1", "Key3", "Key6"};
新字典應該只包含以下條目
"Key2", "Value2"
"Key4", "Value4"
"Key5", "Value5"
我不想讓原來的字典的副本,並做Dictionary.Remove,我想有可能是和比有效的方式。
感謝您的幫助
http://stackoverflow.com/questions/2131648/filtering-out-values- from-ac-sharp-generic-dictionary – univerio
無論如何,你會製作一本新字典。創建原始字典的副本並使用'Dictionary.Remove()'。這是一個O(1)操作,整個事情是O(n),其中n是「keysToBeFiltered」的數量。我懷疑你會比這更好。 –