簡體   English   中英

如何轉換List <String> 到字典 <int,String>

[英]How to convert List<String> to Dictionary<int,String>

我有List<String> ,我需要將它轉換為Dictionary<int,String>並自動生成Key,是否有任何最短的方法可以實現? 我試過了:

    var dictionary = new Dictionary<int, String>();
    int index = 0;
    list.ForEach(x=>{
      definitions.Add(index, x);
      index++;
});

但我認為這是骯臟的方式。

var dict = list.Select((s, i) => new { s, i }).ToDictionary(x => x.i, x => x.s);

使用:

var dict = list.Select((x, i) => new {x, i})
    .ToDictionary(a => a.i, a => a.x);

在我看來,你擁有的東西比Linq方式更具可讀性(作為獎勵,它恰好更有效率):

foreach(var item in list)
    dictionary[index++] = item;

我發現這是最好的

int index = 0;
var dictionary = myList.ToDictionary(item => index++);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM