У меня есть список объектов, где каждый объект в списке содержит список объектов.Мне нужно выбрать строку из каждого из объектов в подсписке и включить ее в основной список.По сути, выровнять подсписок.
Цель состоит в том, чтобы ввести эти данные в электронную таблицу.
Это две мои модели
class Phrase
{
public string Parent { get; private set; }
public string Value { get; private set; }
}
class Translation
{
public string Key { get; private set; }
public string Translatable { get; private set; }
public List<Phrase> Phrases { get; private set; }
}
Вот как может выглядеть список
{ Key = "coffee", Translatable = "", Phrase = [{ Parent = "English", Value = "Coffee" }, { Parent = "Swedish", Value = "Kaffe" }] },
{ Key = "candy", Translatable = "", Phrase = [{ Parent = "English", Value = "Candy" }, { Parent = "Swedish", Value = "Godis" }] },
{ Key = "computer", Translatable = "", Phrase = [{ Parent = "English", Value = "Computer" }, { Parent = "Swedish", Value = "Dator" }] }
Как я уже говорил, цель состоит в том, чтобы вставить эти данные в электронную таблицу, поэтому в соответствии с приведенным выше списком электронная таблица теоретически должна выглядеть следующим образом:
Key | Translatable | English | Swedish
---------------------------------------------
coffee | | Coffee | Kaffe
candy | | Candy | Godis
computer | | Computer | Dator
Меня волнует только Value
в объекте Phrase.
Вы можете выбрать Key
и Translatable
из списка следующим образом:
var query = from t in parser.translations
from p in t.Phrases
select new { t.Key, t.Translatable };
, что даст
{ Key = "coffee", Translatable = ""},
{ Key = "candy", Translatable = ""},
{ Key = "computer", Translatable = ""}
Но как мне тогда включить все значения из списка фраз в каждый объект?Цель будет примерно такой:
{ Key = "coffee", Translatable = "", Value1 = "Coffee", Value2 = "Kaffe"},
{ Key = "candy", Translatable = "", Value1 = "Candy", Value2 = "Godis"},
{ Key = "computer", Translatable = "", Value1 = "Computer", Value2 = "Dator"}
Любая помощь приветствуется.