假设我有一个带有Enum
值的C#字典,如下所示:
public enum TileType
{
Source,
Horizontal,
Vertical
}
Dictionary<Tile, TileType> tiles = new Dictionary<Tile, TileType>();
...之后我想从dict中检索所有键值对,例如value = TileType.Horizontal
,但没有使用foreach
循环。
如何在没有循环的情况下检索它们?我毫不怀疑LINQ是可能的。有人可以给我一个提示如何编写LINQ吗?
答案 0 :(得分:4)
试试这个:
var horizontals = tiles.Where(kvp => kvp.Value == TileType.Horizontal).ToList()
答案 1 :(得分:0)
使用此:
tiles.Where(x => x.Value == TileType.Horizontal);
答案 2 :(得分:0)
就像这样:
var filteredTiles = tiles.Where(x=>x.Value == TileType.Horizontal);
答案 3 :(得分:0)
我会写这样的东西:
tiles.Where(t => t.value == TileType.Horizontal).ToArray();
答案 4 :(得分:0)
foreach (var item in tiles.Where(t => t.Value == TileType.Horizontal))
{
Console.WriteLine(item.Key);
}