我正在重新编写一些代码,同时保持外部接口。我现在需要处理的方法有以下签名:
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; }
}
因此,除了使用foreach
使用Dictionary<int, string>
的{{1}}属性从Dictionary<int, Client>
构建ClientName
之外简单循环,我该如何执行这种转型在飞行中?
答案 0 :(得分:6)
var clientNames = _clients.ToDictionary(kvp => kvp.Key, kvp => kvp.Value.ClientName);