c# - 如何使用 Linq 从列表列表创建查找?

标签 c# linq

我的输入数据是一个列表行,如下所示,称之为行

author1::author2::author3 - title

我创建了一个提取作者和标题的函数:

ExtractNameAndAuthors(string line, out string title, IList<string> authors)

我现在想使用以下形式的 Linq 创建一个查找 (ILookup) 对象:

key: title
value: list of authors

有人真正精通 Linq 吗?

最佳答案

var list = new []{"author1::author2::author3 - title1",
                  "author1::author2::author3 - title2",};

var splited = list.Select(line => line.Split('-'));   

var result = splited
   .ToLookup(line => line[1], 
             line => line[0].Split(new[]{"::"}, StringSplitOptions.RemoveEmptyEntries));

关于c# - 如何使用 Linq 从列表列表创建查找?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16062849/

相关文章:

c# - session 状态变量不起作用

c# - 我应该使用什么类型来表示 C# 和 SQL Server 中的百分比?

c# - Linq to SQL VS Entity Framework

c# - 如何在 LINQ 或 EF.Core 中执行此操作?

c# - 如何获取 UTF-16 字节数组?

c# - 将锯齿状数组的值克隆到第二个数组中的极快方法?

asp.net-mvc - 限制来自 WebApi Controller 和 ODATA w/Nhibernate 的服务器端结果

C# Linq to VB.NET(不是 From In Where ... 查询样式)

c# - 帮助将 SQL 语句转换为 LINQ Lambda(需要有关 group by 和 sum 的帮助)

c# - 创建成员(member)用户时出错 "The password-answer supplied is invalid"