Я хочу запросить набор, который у меня уже есть, и создать новые объекты из результатов. Я также хочу, чтобы эти объекты были добавлены в существующий LinkedList
.Создайте объект с результатами Enumerable.Where и добавьте их в список
То, что я прямо сейчас
var results = fulldata.Where(x => x.ImportantData == ImportanceLevel.HIGH);
Теперь results
содержит набор объектов данных, определенных понравившуюся это:
public class DataObject{
public int x;
public int y;
public int DataType;
}
Я хотел бы написать с тем же синтаксисом (как Where()) эквивалент следующего кода:
var prunedResults = new LinkedList<KeyValuePair<int, int>>();
foreach(var res in results){
if(res.DataType == DataTypeSpecial){
prunedResults.Add(new KeyValuePair<int, int>(res.x, res.y));
}
}
Я довольно новый для «современного» C#, поэтому, если вы также можете определить термины, используемые здесь, это поможет мне получить дальнейшие ответы Google. Я имею в виду, что это, по-видимому, называется LINQ, а вызов Where() использует выражение лямбда, но я мог бы ошибаться.
R # должно предложить преобразование автоматически ... Вы действительно искали документацию на 'Enumerable.Select' (если вы уже нашли, что' конструктор LinkedList' принимает перечислим и у вас уже есть 'Where' работал out) .. –
@AlexeiLevenkov Не все используют resharper :) – Rob
Я работаю над cpp уже много лет, и большинство моих проектов «on-the-side» были на python, поэтому я знаю, что язык может делать такие вещи, как это Я просматривал код за эти годы, но мне так и не пришлось писать сам. – Eric