ProblemWie erstelle ich eine Liste <int> Basead auf zwei Eigenschaften aus einer anderen Liste?
Ich brauche eine List<int>
basead auf zwei Eigenschaften aus einer anderen Liste zu erstellen.
Beispiel
Ich habe eine Klasse, die zwei Felder hat, die ich brauche.
public class MyClass
{
//Other fields
int? ValueId
int? ValueTwoId
}
Über dem Code ist es ein Beispiel, also konzentrieren Sie sich nicht dort.
Ich möchte diese Eigenschaften abrufen wie:
myClassList.ElementAt(0).ValueId = 1;
myClassList.ElementAt(0).ValueTwoId = 2;
myClassList.ElementAt(1).ValueId = 3;
myClassList.ElementAt(1).ValueTwoId = 4;
List<int> resultList = myClassList.Where(x => x.ValueId != null && x.ValueTwoId != null).Select(x => ??).ToList());
gewünschte Ausgabe
resultList.ElementAt(0) == 1
resultList.ElementAt(1) == 2
resultList.ElementAt(2) == 3
resultList.ElementAt(3) == 4
Es gibt einen Weg, dies .Select(x => Something).ToList()
mit zu erreichen, ohne einen Code wie:
List<int> resultList = new List<int>();
foreach(var item in myClassList)
{
resultList.Add(item.ValueId);
resultList.Add(item.ValueTwoId);
}
Vielen Dank im Voraus, sorry mein armes Englisch.
Ich kenne die genaue Syntax nicht, aber Sie sollten in C# ''SelectMany()' Funktion suchen. Ich denke, es ist genau das, wonach Sie suchen. Sehen Sie hier: http://www.codethinked.com/a-visual-look-at-the-linq-selectmany-operator –
Sie haben Recht, das ist genau das, was ich brauche. Ich danke dir sehr ! –