Lambda表达式可以获取Dictionary中的所有值

gee*_*jay 2 c# linq lambda

我有一个LINQ查询,它返回一个Dictionary中的所有值,条件是:

var apps =
from entry in shape.Decorators
where entry.Value == DecoratorLayoutStyle.App
select entry.Key;
Run Code Online (Sandbox Code Playgroud)

shape.Decorators是一个

Dictionary<Shape, DecoratorLayoutStyle>
Run Code Online (Sandbox Code Playgroud)

是否有更简洁的东西,和/或我可以使用lambdas或其他东西的组合?

小智 6

var apps = shape.Decorators
                .Where(x=>x.Value == DecoratorLayoutStyle.App)
                .Select(x=>x.Key);
Run Code Online (Sandbox Code Playgroud)

我觉得你的一切都很好.