具有多个键的 ToLookup

2024-06-11

有没有办法需要多个密钥.ToLookupLINQ提供的功能?

我承认这一开始似乎不直观,我希望没有实际的方法可以做到这一点,但我希望有人知道一种方法。

我基本上希望能够通过两个值进行查找,例如string and an int,并检索具有这两个值的对象。

Example

    public class MyClass {
      public string StringProp {get;set;}
      public int IntProp {get;set;}
      public object MoreData {get;set;}
    }

    public class Main {
      public void Main() {
        HashSet<MyClass> set = new HashSet<MyClass>();
        set.Add(new MyClass {StringProp = "a", IntProp = 1, MoreData = null});
        set.Add(new MyClass {StringProp = "c", IntProp = 4, MoreData = new object()});
        set.Add(new MyClass {StringProp = "a", IntProp = 2, MoreData = "upupdowndown"});
        set.Add(new MyClass {StringProp = "c", IntProp = 1, MoreData = string.Empty});
        set.Add(new MyClass {StringProp = "c", IntProp = 4, MoreData = string.Empty});
        // Using 'var' because I don't know how this would be defined.
        // I recognize that this will not compile - but this is what I'm trying to do.
        var lookup = set.ToLookup(x => x.StringProp && x.IntProp)
        MyClass c = lookup["a", 1].First(); // Should return the first element
        IEnumerable<MyClass> list = lookup["c", 4]; // Should return the 2nd and last elements
      }
    }

我会用Tuples 用于此类事情:

var lookup = set.ToLookup(x => Tuple.Create(x.StringProp, x.IntProp));
MyClass c = lookup[Tuple.Create("a", 1)].First();
IEnumerable<MyClass> list = lookup[Tuple.Create("c", 4)];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有多个键的 ToLookup 的相关文章

  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • 为 Visual Studio 2013 编译 Tesseract

    我正在尝试使用tesseract在 Visual Studio 2013 中 我在链接器 gt 输入 不是 libtesseract302 static lib 中使用 libtesseract302 lib 一切都正常 并且已编译并运行
  • XamlReader.Load 在后台线程中。是否可以?

    WPF 应用程序具有从单独的文件加载用户控件的操作 使用XamlReader Load method StreamReader mysr new StreamReader pathToFile DependencyObject rootOb
  • 单元测试一起运行时失败,单独运行时通过

    所以我的单元测试遇到了一些问题 我不能只是将它们复制并粘贴到这里 但我会尽力而为 问题似乎是 如果我一项一项地运行测试 一切都会按预期进行 但如果我告诉它一起运行测试 则 1 5 将通过 TestMethod public void Obj
  • 如何访问另一个窗体上的ListView控件

    当单击与 ListView 所在表单不同的表单中的按钮时 我试图填充 ListView 我在 Form1 中创建了一个方法以在 Form2 中使用 并将参数传递给 Form1 中的方法 然后填充 ListView 当我调试时 我得到了传递的
  • 用于检查项目文件中的项目变量和引用路径的 api

    我正在研究一个 net application VS2010 与 x 没有 解和变量号这些解决方案中的项目数量 我需要检查项目属性 特定于一定数量的项目 是否同质 并且检查 验证构建期间的参考路径 有没有一个API是这样的吗 如果没有 我该
  • 获取 WPF 控件的所有附加事件处理程序

    我正在开发一个应用程序 在其中动态分配按钮的事件 现在的问题是 我希望获取按钮单击事件的所有事件 因为我希望删除以前的处理程序 我尝试将事件处理程序设置为 null 如下所示 Button Click null 但是我收到了一个无法分配 n
  • 回发或回调参数无效。使用“”启用事件验证

    当我从客户端回发页面时 出现以下错误 我有修改客户端 asp ListBox 的 JavaScript 代码 我们该如何解决这个问题 错误详细信息如下 Server Error in XXX Application Invalid post
  • 单击 form2 上的按钮触发 form 1 中的方法

    我对 Windows 窗体很陌生 我想知道是否可以通过单击表单 2 中的按钮来触发表单 1 中的方法 我的表格 1 有一个组合框 我的 Form 2 有一个 保存 按钮 我想要实现的是 当用户单击表单 2 中的 保存 时 我需要检查表单 1
  • 将 Excel 导入到 Datagridview

    我使用此代码打开 Excel 文件并将其保存在 DataGridView 中 string name Items string constr Provider Microsoft Jet OLEDB 4 0 Data Source Dial
  • 如何使用 watin 中的 FileUploadDialogHandler 访问文件上传对话框

    我正在使用 IE8 和 watin 并尝试通过我的网页测试上传文件 我不能简单地使用 set 方法设置上传文件 例如 ie FileUpload Find ById someId Set C Desktop image jpg 因为上传文本
  • 上下文敏感与歧义

    我对上下文敏感性和歧义如何相互影响感到困惑 我认为正确的是 歧义 歧义语法会导致使用左推导或右推导构建多个解析树 所有可能的语法都是二义性的语言是二义性语言 例如 C 是一种不明确的语言 因为 x y 总是可以表示两个不同的事物 如下所述
  • 将 log4net 与 Autofac 结合使用

    我正在尝试将 log4net 与 Autofac 一起使用 我粘贴了这段代码http autofac readthedocs org en latest examples log4net html http autofac readthed
  • 有人可以提供一个使用 Amazon Web Services 的 itemsearch 的 C# 示例吗

    我正在尝试使用 Amazon Web Services 查询艺术家和标题信息并接收回专辑封面 使用 C 我找不到任何与此接近的示例 所有在线示例都已过时 并且不适用于 AWS 的较新版本 有一个开源项目CodePlex http www c
  • .NET中的LinkedList是循环链表吗?

    我需要一个循环链表 所以我想知道是否LinkedList是循环链表吗 每当您想要移动列表中的 下一个 块时 以循环方式使用它的快速解决方案 current current Next current List First 电流在哪里Linke
  • (de)从 CSV 序列化为对象(或者最好是类型对象的列表)

    我是一名 C 程序员 试图学习 C 似乎有一些内置的对象序列化 但我在这里有点不知所措 我被要求将测试数据从 CSV 文件加载到对象集合中 CSV 比 xml 更受青睐 因为它更简单且更易于人类阅读 我们正在创建测试数据来运行单元测试 该集
  • Process.Start() 方法在什么情况下返回 false?

    From MSDN https msdn microsoft com en us library e8zac0ca v vs 110 aspx 返回值 true 表示有新的进程资源 开始了 如果由 FileName 成员指定的进程资源 St
  • Server.MapPath - 给定的物理路径,预期的虚拟路径

    我正在使用这行代码 var files Directory GetFiles Server MapPath E ftproot sales 在文件夹中查找文件 但是我收到错误消息说 给定物理路径但虚拟路径 预期的 我对在 C 中使用 Sys
  • 编译时“strlen()”有效吗?

    有时需要将字符串的长度与常量进行比较 例如 if line length gt 2 Do something 但我试图避免在代码中使用 魔法 常量 通常我使用这样的代码 if line length gt strlen Do somethi
  • 将自定义 ValueProviderFactories 添加到 ASP.NET MVC3?

    我试图尝试将 Protobuf ValueProviderFactory 添加到 MVC3 以便我可以选择 MIME 类型并将原始数据反序列化为操作参数的对象 我还可以使用它来更改默认的 Json 序列化器 看着JsonValueProvi

随机推荐

  • 从目录获取第一个文件名的批处理脚本

    我的函数需要特定目录中的第一个文件名来使用第一个文件处理一些测试 完成测试后从目录中删除第一个文件 我尝试如下 FOR R
  • Splunk 条件搜索

    我想做这个 If scope request search request type elif scope site search request type site scope zone search request type site
  • 将整数列表划分为总和相等的 K 个子列表

    类似的问题还有1 https stackoverflow com questions 27322804 partition of a set into k disjoint subsets with equal sum and 2 http
  • 身份验证中的随机数使用

    在基于摘要的身份验证中 随机数由服务器生成 然而 在基于 OAuth 的身份验证中 随机数是由客户端生成的 我想知道是否有人知道差异的原因 随机数用于使请求唯一 在没有随机数的身份验证方案中 恶意客户端可以生成一次请求并重放多次 即使计算成
  • Python 中的 if len(list)

    我正在将 Python 代码转换为 C 代码 以便利用 HPC 系统上可用的并行性 最初的程序员在 Python 中使用了一个令我困惑的条件 if rnum lt gt current res alim 0 if len f alim f
  • 寻找下一个素数的最佳方法(Java)

    我被要求编写一个程序以最佳方式找到下一个素数 我编写了这段代码 但找不到最佳答案 有什么建议么 public static int nextPrime int input input now find if the number is pr
  • SQL Server 查询从字符串中删除最后一个单词

    SO 中已经有一个带有 MySQL 标签的问题的答案 因此 我决定让您的生活更轻松 并为 SQL Server 用户提供以下答案 总是很高兴看到不同的答案 也许会有更好的表现 快乐编码 SELECT SUBSTRING YourString
  • Outlook 宏中的 SenderName 为空

    我想要得到SenderName和和To属性来自于MailItem对象 但它们是空白的 我可以看到有SentOn Subject以及其他不为空的属性 有谁知道为什么这两个是空白的 这是我的代码 Sub TestMacro Dim myOlAp
  • 在没有 TransactionScopeAsyncFlowOption.Enabled 的情况下启用异步 TransactionScope

    以下是使用事务范围的异步缓存和数据库更新 我无法使用TransactionScopeAsyncFlowOption Enabled在 v 4 5 1 中引入 因为我使用的 Apache Ignite Net 缓存不支持它 我尝试通过捕获当前
  • Java 中字符串的最大长度 - 调用 length() 方法

    In Java 最大尺寸 a 是多少String对象可能有 指的是length 方法调用 我知道length 返回 a 的大小String as a char 考虑到String http docs oracle com javase 7
  • C/C++ 使用字符串切换大小写[重复]

    这个问题在这里已经有答案了 可能的重复 C C 非整数切换 https stackoverflow com questions 4165131 c c switch for non integers 你好 我需要在 switch case
  • Azure 上的 SSAS 表格?

    我正在尝试部署 ssas 表格模型 我不知道我在做什么 我用VS2013在SQL Server 2008 R2上制作了多维 我想尝试将 Tabular 与 Power BI 结合使用 所以我设置了一个 SQL Azure DB 我有 Azu
  • 使用 microsoft graph api 时出现 404 文件未找到错误

    调用图形 api 时出现以下错误 https graph microsoft com v1 0 me drive root 文件夹名称 https graph microsoft com v1 0 me drive root foldern
  • 如何获取拍摄照片的uri?

    我想实现什么目标 我想获取捕获图像的 URI 并将其保存在 Firebase 上 我尝试了什么 首先我需要打开相机 下面我是如何做到的 Intent cameraIntent new Intent android provider Medi
  • FORTRAN:数据多态

    我试图隐藏真实数据类型和复杂数据类型之间的差异 在 FORTRAN 2003 中 我认为可能有一种方法可以做到这一点 目标是定义一个多态可分配数组 其类型可以在运行时决定 另外 还有一个子例程 它使用多态数组来做一些代数 相同的方程适用于真
  • 中继器按钮命令参数为空字符串

    我对这个失去了理智 即使命令参数已设置 我的按钮也会获得空字符串的命令参数 我已经验证它在调试模式下设置为正确的 ID 但是当我稍后在中继器 ItemCommand 事件中访问此命令参数时 命令参数是空字符串 我不知道为什么 我最终得到了
  • 获取 UWP 应用中当前登录用户的用户名/用户 ID

    我想要得到username或用户idUWP 应用中当前登录的用户的信息 下面是我正在使用但它返回的代码null var current users Where p gt p AuthenticationStatus UserAuthenti
  • 获取exe文件夹路径的最佳方法?

    我在另一个论坛上找到了这个 应该可以给你 但我认为这可能不是最好的方法 而且我认为它会由于数组未被删除而导致内存泄漏 这是真的 这也是最好的方法吗 最好的方法是直接提供文件夹目录的跨平台命令 如果不存在则使用 Windows std str
  • Java 的 RSA 算法库 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我想为我的应用程序提供基于 RSA 算法的简单许可机制 有免费的 RSA 库吗 只需使用javax crypto and java sec
  • 具有多个键的 ToLookup

    有没有办法需要多个密钥 ToLookupLINQ提供的功能 我承认这一开始似乎不直观 我希望没有实际的方法可以做到这一点 但我希望有人知道一种方法 我基本上希望能够通过两个值进行查找 例如string and an int 并检索具有这两个