c# - 关于 System.Linq.Lookup 类

标签 c# linq

我在阅读一本 C# 书籍时遇到了这个类,并且有一些问题。

  • 为什么将其添加到 System.Linq 命名空间而不是通常的 Collections 命名空间?
  • 这门课的目的是什么
  • 为什么这个类不适合直接实例化?这只能通过 ToLookup 扩展程序获得,对吧?

最佳答案

类的用途:一个字典,其中一个键可以映射到多个值。将其视为用于分组而不是一对一映射。

只有通过ToLookup 才决定:通过。再次,对我来说似乎是一个糟糕的电话。另一方面,这意味着结果对于外界是不可变的,这很好。当然,编写自己的支持此功能的集合非常容易——但如果能“正确地”将它放在集合中就更好了。我的猜测是 MS 没有时间/金钱来完成使其成为一流收藏决策所需的相当严格的设计/测试。

命名空间决定:可能与上述有关。在 System.Collections.Generic 中拥有一个您无法自己创建的版本会有点奇怪。

关于c# - 关于 System.Linq.Lookup 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/197241/

相关文章:

c# - LINQ to SQL 'where' 条件中的 Lambda 表达式异常

c# - MVC 表单在提交时未通过模型

c# - SynchronizationContext.Current 在主 UI 线程的 Continuation 中为 null

c# - WebApi 2.0 RouteAttribute 错误

c# - 获取与每年最高值(value)增长相关的字符串?

c# - .Select Vs .Include Vs .Select Many

c# - 从 C# 调用 ActionScript 3 函数

c# - 授权策略的依赖注入(inject)

.net - LINQ 是否将代码转换为 SQL 查询

c# - 使用经度和纬度查找给定距离内的所有附近客户