問題如何在另一個列表的兩個屬性上創建一個列表<int> basead?
我需要從另一個列表中的兩個屬性創建List<int>
basead。
例
我有了兩個領域,我需要一個類。
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 –
你是對的,那正是我需要的。非常感謝 ! –