2013-10-24 2 views
0

Ну, под названием этого вопроса/сомнения, я думаю, что это довольно понятно, но вот идея (с использованием простых терминов): У меня есть файлы (в проекте), содержащие класс (каждый из них), который имеет объекты и методы (из моделей), и один из этих методов возвращает список. Я хочу создать еще один класс для создания нового списка, который будет содержать все перечисленные выше списки. Если это возможно в основном на C#, я буду благодарен вашим точкам зрения, как это сделать. Заранее благодарим за советы, помощь и благие намерения !!!Как создать список списков из указанного числа моделей/классов?

Надеюсь, вы меня поймете, потому что я плохо разбираюсь в проблемах. : D

+1

Было бы уточнить, если вы показали соответствующие классы, списки и методы, с некоторыми примерами данных и желаемыми результатами. –

ответ

0

Что вы ищете является SelectMany:

#region Terrible Object 

var hasAllTheItems = 
     new[] 
     { 
       new[] 
       { 
         new 
         { 
           Name = "Test" 
         } 
       }, 
       new[] 
       { 
         new 
         { 
           Name = "Test2" 
         }, 
         new 
         { 
           Name = "Test3" 
         } 
       } 
     }; 

#endregion Terrible Object 

var a = hasAllTheItems.Select(x => x.Select(y => y.Name)); 
var b = hasAllTheItems.SelectMany(x => x.Select(y => y.Name)); 
var c = hasAllTheItems.Select(x => x.SelectMany(y => y.Name)); 
var d = hasAllTheItems.SelectMany(x => x.SelectMany(y => y.Name)); 

Assert.AreEqual(2, a.Count()); 
Assert.AreEqual(3, b.Count()); 
Assert.AreEqual(2, c.Count()); 
Assert.AreEqual(14, d.Count()); 

A: {{Test}, {Test2, Test3}}

B: {Test, Test2, Test3}

C: {{T, e, s, t}, {T, e, s, t, 2, T, e, s, t, 3}}

D: {T, e, s, t, T, e, s, t, 2, T, e, s, t, 3}

+0

hm это новое для меня. Раньше я никогда не сталкивался с такой ситуацией. Могу я спросить вас, где вы основаны, чтобы получить эту идею? –

+0

В принципе, hasAllTheItems - это коллекция коллекций общих элементов, содержащих строки. Выбор создает коллекцию элементов на основе каждого элемента в этой коллекции, как в A. В B, SelectMany используется для указания того, что вы хотите, чтобы каждый отдельный элемент, а не один список на внутренний объект. – Magus

Смежные вопросы