問題リスト<int>を別のリストの2つのプロパティに基づいて作成する方法は?
私は別のリストから二つの性質上List<int>
baseadを作成する必要があります。
例
私は私が必要な2つのフィールドを持つクラスを持っています。
public class MyClass
{
//Other fields
int? ValueId
int? ValueTwoId
}
上記のコードは例ですので、ここでは焦点を合わせないでください。
私のようなこれらのプロパティ取得したい:
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());
所望の出力を
resultList.ElementAt(0) == 1
resultList.ElementAt(1) == 2
resultList.ElementAt(2) == 3
resultList.ElementAt(3) == 4
.Select(x => Something).ToList()
を使用して、これを達成するための方法は、次のようなコードを使用せずに、あります:
List<int> resultList = new List<int>();
foreach(var item in myClassList)
{
resultList.Add(item.ValueId);
resultList.Add(item.ValueTwoId);
}
ありがとうございます、ごめんなさい私の貧しい英語。
正確な構文は分かりませんが、C#の 'SelectMany()'関数を調べる必要があります。私はそれがまさにあなたが探しているものだと思います。ここをクリックしてください:http://www.codethinked.com/a-visual-look-at-the-linq-selectmany-operator –
あなたは正しいです、それは私が必要とするものです。どうもありがとうございます ! –