将 List<T> 转换为 Dictionary<string,T>,Key 设置为 T 的 属性
convert List<T> to Dictionary<string,T> with Key set to a property of T
public class Quote
{
public decimal Price { get; set; }
public string Symbol { get; set; }
}
public List<Quote> quotes =
new List<Quote>(){new Quote{Price=100.00,Symbol="AAPL"},
new Quote{Price=200.00,Symbol="GOOG"}}
List<string,Quote> positions = new List<string,Quote>();
我想将每个 position.Key
设置为 Quote.Symbol
,将每个 position.Value
设置为 Quote
最好的转换方式是什么?
如果我明白你在问什么(这是一个很大的假设),它应该像
一样简单
var someDictionary = quotes.ToDictionary(x => x.Symbol);
Enumerable.ToDictionary Method
Creates a Dictionary from an IEnumerable.
也看看
Enumerable.ToLookup Method
Creates a generic Lookup from an IEnumerable.
字典是一个 1:1 映射(每个键映射到一个值),并且字典是事后可变的(可编辑的)。
查找是一个 1:many 映射(多映射;每个键映射到具有该键的值的 IEnumerable<>
),并且 ILookup<,>
界面。
public class Quote
{
public decimal Price { get; set; }
public string Symbol { get; set; }
}
public List<Quote> quotes =
new List<Quote>(){new Quote{Price=100.00,Symbol="AAPL"},
new Quote{Price=200.00,Symbol="GOOG"}}
List<string,Quote> positions = new List<string,Quote>();
我想将每个 position.Key
设置为 Quote.Symbol
,将每个 position.Value
设置为 Quote
最好的转换方式是什么?
如果我明白你在问什么(这是一个很大的假设),它应该像
一样简单var someDictionary = quotes.ToDictionary(x => x.Symbol);
Enumerable.ToDictionary Method
Creates a Dictionary from an IEnumerable.
也看看
Enumerable.ToLookup Method
Creates a generic Lookup from an IEnumerable.
字典是一个 1:1 映射(每个键映射到一个值),并且字典是事后可变的(可编辑的)。
查找是一个 1:many 映射(多映射;每个键映射到具有该键的值的 IEnumerable<>
),并且 ILookup<,>
界面。