从KeyValuePair列表中接收对象列表的最佳方法?

问题描述

| 我有一个keyvaluePairs列表,我想根据键值对其进行过滤,因此最终我将获得一个经过过滤的值列表(意味着-不会包含原始列表中的所有值)。 我猜也许最好的方法是某种形式的Lambda表达式,但我不确定如何实现。 谢谢, 阿隆     

解决方法

        尝试这个:
var values = list.Where(x => x.Key == \"whatever\").Select(x => x.Value);
这将仅为您提供值的过滤列表。 显然,您可以更改过滤键的方式。     ,        使用以下内容:
var filteredList = list.Where(x => x.Key == \"Key\");
    ,        您正在寻找LINQ扩展方法的某种组合(具体取决于您要尝试执行的操作)。 例如,如果我有一个颜色列表的水果,并想要收集红色水果的集合,我可以执行以下操作:
var fruits = new List<KeyValuePair<string,string>>() { 
             new KeyValuePair<string,string>(\"Apple\",\"Green\"),new KeyValuePair<string,string>(\"Orange\",\"Orange\"),string>(\"Strawberry\",\"Red\"),string>(\"Cherry\",\"Red\") 
        };

var redFruits = fruits.Where(kvp => kvp.Value == \"Red\").Select(kvp => kvp.Key);

// this would result in a IEnumberable<string> { \"Strawberry\",\"Cherry\" }