簡體   English   中英

C# 中的對象列表到列表列表

[英]List of objects to List of Lists in C#

我有一個對象List ,比如List<MyObject> = new List<MyObject>{object1, object2, ..., object10}

每個對象都有屬性“Property1”,它是一個字典,每個對象有不同數量的鍵,其中每個鍵的值也是一個字典,但這里每個鍵的值是一個string 我想將此List<object>轉換為List<List<string>> ,因此對於每個對象,我想創建一個包含字符串值的列表,其中值取自該嵌套字典。

再次映射它的快速方法:

var newList = new List<List<string>>();
    foreach(var item in items){
        newList.Add(item.Property1.Values.ToList<string>());
    }

我認為是這樣的:

yourList.Select(mo => mo.Property1.SelectMany(d => d.Value.Values).ToList()).ToList();

它產生一個List < List <string>> - 我將使用粗體和斜體來區分:

  • yourList.Select生成將成為List的枚舉,因此對於MyObject列表中的每個條目, List中都有一個條目
  • mo.Property1.SelectMany枚舉Property1的外部字典,獲取外部字典中每個條目的Value.Values
    • 每個外部條目的Value是內部Dictionary<...,string> ,因此是一個 Dictionary ,其Values集合是一堆字符串。 因此, Value.Values表示與每個外部字典條目相關聯的字符串集合
    • 使用這些多個“字符串集合” SelectMany將它們折疊成單個字符串枚舉,即使用 ToList 轉換一個列表,因此SelectMany() .ToList() ) 為您提供列表
  • 表達式末尾的.ToList()為您提供List < ... >

暫無
暫無

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

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