c# - 如何编写生成字典的 LINQ 查询?

标签 c# .net linq collections dictionary


public class Person
{
    public string NickName{ get; set; }
    public string Name{ get; set; }
}

var pl = new List<Person>;

var q = from p in pl
        where p.Name.First() == 'A'
        orderby p.NickName
        select new KeyValuePair<String, String>(p.NickName, p.Name);

var d1 = q.ToList(); // Gives List<KeyValuePair<string, string>>
var d2 = q.ToDictionary(); // Does not compile

如何获取字典?

最佳答案

您需要为 Dictionary 指定值

var d2 = q.ToDictionary(p => p.NickName, p => p.Name);

关于c# - 如何编写生成字典的 LINQ 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13949596/

相关文章:

c# - 端点不可用时 UdpClient 不会失败

c# - 无法在 .NET FX4.6 上的 .NET Standard2.0 库中使用 System.Configuration.Configuration 管理器

.net - 你如何停止 Observable.Timer()?

c# - 如何使用 Mono 和 mkbundle 将一个简单的 .Net 控制台项目转换为可移植的 exe?

.net - LINQ查询帮助: searching for data in a Many to Many using Entity Framework

c# - 按子集合中的属性对父实体进行排序

c# - Roslyn 可以将 C# 编译为 CIL

c# - Dotnet Core 3.1 - 更新到 3.1 并使用 "HasDefaultValue"设置默认值似乎不存在

c# - Mootools 幻灯片

c# - GroupBy 和 Count by condition Entity Framework