我正在重新编写一些代码,同时维护外部接口。我现在需要处理的方法具有以下签名:

public Dictionary<int, string> GetClientIdNames()


在确认它已填充后,如果需要,此操作最初直接返回一个后备字段。现在需要存储其他数据,因此支持字段如下:

private Dictionary<int, Client> _clients;

public struct Client
{
    public int ClientId { get; set; }
    public string ClientName { get; set; }
    public string Password { get; set; }
}


因此,除了使用foreachDictionary<int, string>属性简单地循环使用Dictionary<int, Client>ClientName构造Client之外,我该如何即时执行此转换?

最佳答案

使用Enumerable.ToDictionary

var clientNames = _clients.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.ClientName);

关于c# - 将Dictionary <T,U>转换为Dictionary <T,U.PropertyValue>,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3683361/

10-13 08:11