查询查找 Table 并转换为列表
Query Lookup Table and Convert to List
我正在使用 System.Linq 中的 ILookup 来创建一个可以处理多个键值的字典。我想要的是有一个给定的 Vector2(作为键),然后将所有值作为共享该键的列表或数组获取。
我正在使用 Unity Vector2
public struct Image
{
public Vector2 pos19;
public string url;
}
我先有一个列表
var items = new List<KeyValuePair<Vector2, Image>>();
我用
填写
items.Add(new KeyValuePair<Vector2, Image>(intpos, img));
然后我使用
将它转换为 Ilookup
ILookup<Vector2, Image> Images = items.ToLookup(kvp => kvp.Key, kvp => kvp.Value);
这似乎可行,但现在我想找到某些键的值
我尝试使用
var pins = Images.Where(kv => ((int)kv.Key.x == x && (int)kv.Key.y == y)).ToList();
但这似乎不起作用
有人知道如何获取键的值作为列表吗?
Images
的 Key
是 Vector2
。您需要获得 Vector2
才能键入您的查找。
var pins = Images[new Vector2(x, y)].ToList(); // normally returned as enumerable
我正在使用 System.Linq 中的 ILookup 来创建一个可以处理多个键值的字典。我想要的是有一个给定的 Vector2(作为键),然后将所有值作为共享该键的列表或数组获取。
我正在使用 Unity Vector2
public struct Image
{
public Vector2 pos19;
public string url;
}
我先有一个列表
var items = new List<KeyValuePair<Vector2, Image>>();
我用
填写items.Add(new KeyValuePair<Vector2, Image>(intpos, img));
然后我使用
将它转换为 IlookupILookup<Vector2, Image> Images = items.ToLookup(kvp => kvp.Key, kvp => kvp.Value);
这似乎可行,但现在我想找到某些键的值 我尝试使用
var pins = Images.Where(kv => ((int)kv.Key.x == x && (int)kv.Key.y == y)).ToList();
但这似乎不起作用 有人知道如何获取键的值作为列表吗?
Images
的 Key
是 Vector2
。您需要获得 Vector2
才能键入您的查找。
var pins = Images[new Vector2(x, y)].ToList(); // normally returned as enumerable