使用LINQ选择字典<T1,T2>

丰富

我已经使用“ select”关键字和扩展方法来返回IEnumerable<T>LINQ,但是我需要返回一个泛型Dictionary<T1, T2>并且无法弄清楚。我从使用类似于以下形式的内容中学到了以下示例:

IEnumerable<T> coll = from x in y 
    select new SomeClass{ prop1 = value1, prop2 = value2 };

我也对扩展方法做了同样的事情。我假设由于Dictionary<T1, T2>可以迭代a中的项,因为KeyValuePair<T1, T2>我可以将上述示例中的“ SomeClass”替换为“ new KeyValuePair<T1, T2> { ...”,但这没有用(键和值被标记为只读,因此我无法编译此代码)。

这可能吗,还是我需要分多个步骤进行?

谢谢。

昆汀·罗宾逊

扩展方法还提供了ToDictionary扩展。它使用起来非常简单,一般用法是为键传递一个lambda选择器,然后将对象作为值,但是您可以为键和值传递一个lambda选择器。

class SomeObject
{
    public int ID { get; set; }
    public string Name { get; set; }
}

SomeObject[] objects = new SomeObject[]
{
    new SomeObject { ID = 1, Name = "Hello" },
    new SomeObject { ID = 2, Name = "World" }
};

Dictionary<int, string> objectDictionary = objects.ToDictionary(o => o.ID, o => o.Name);

然后objectDictionary[1]将包含值“ Hello”

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用需要T1的T2构造函数,从T1列表创建T2列表

使用 Tuple<T1,T2> 返回多种类型

从 t1 中选择所有行 join t2 on id 并从 t2 中选择最小值,如果没有则选择 null

如何使用numpy将NxN矩阵H与Nx1数组t = [t1,t2,...,tN]相乘,使得H * t = [H * t1,H * t2,...,H * tN]?

如何使用来自T2的随机重复行将较大的表T1连接到较小的T2

我可以使用 t1 行作为 t2 行的键从两个表中选择行吗?

如何使用迭代器和Async等待查询Google Cloud Spaner表T1,同时为T1中的每个记录查询第二个表T2

有人可以说出为什么在成员函数的定义中使用这样的代码的原因:Base :: fool(T1 * pub,T2 * info){(void)pub; (void)info;}`

有没有一种方法可以根据R中的一组条件,使用表T2中的列B更新表T1中的列A?

Choice <'T1,'T2>上的Monadic操作

嵌套泛型<T1 <T2 >>

此<[T1,T2,T2]>语法在TypeScript中有什么作用?

类型参数是否彼此定义?A <T1,T2>类,其中T1:Foo其中T2:T1

为什么Tuple <T1,T2,T3>不继承自Tuple <T1,T2>?

创建一个SQL查询以检索2个日期T1和T2之间或T1和T2之外的元素

C#将Func <T1,object>转换为Func <T1,T2>

Typescript 中语句“export type T1 = object & ComponentOptions<T1, T2>”的“&”是什么意思?

如果T1和T2拥有std :: pair <T1,T2>不应该具有琐碎的默认构造函数?

在Go中,如果类型T2基于类型T1,那么从T1到T2是否存在任何“继承”?

如何将委托`Func<T1, Func<T2, Task<TResult>>>` 转换为`Func<T1, Task<Func<T2, TResult>>`?

如何将IList <T1>分配给IList <T2>,其中T1是T2的子类型?

“ t1 .__ index = t2”和“ setmetatable(t1,{__index = t2})”之间有什么区别?

如果T2是.NET中的T1的子类型,为什么List <T2>不是List <T1>的子类型?

将 T1 中当前不在 T2 中的所有行插入到 T2

无法理解如何编码Func <Func <T1,T2>,T3>

Dictionary<string, Action<T1,T2>>,其中 T 是列表<>?

数据库表的名称,例如t1,t2,t3等

调用Func <T1,T2,T3>有哪些可选参数?

T-SQL-更新T2中的T1余额+ Amt T2中的多行与T1-T1匹配