1

単純すぎて頭が痛いです、変換するときはこれを一行で書けると思いますが、どうすればいいですか?

IQueryable<ion> ions =FindAllions();

List<ionFormViewModel> ionFormViewModels = new List<ionFormViewModel>();

foreach (ion ion in ions)
{
     ionFormViewModel ionFormViewModel = new ionFormViewModel(ion);
     ionFormViewModels.Add(ionFormViewModel);
}
4

3 に答える 3

3

これを試して:

List<ionFormViewModel> ionFormViewModels
    = ions.Select(i => new ionFormViewModel(i)).ToList();

拡張メソッドを使用すると、Enumerable.Select現在のシーケンスの各値に対して、新しい値を新しいシーケンスに射影できます。基本的に、変換ステップを介して他のシーケンスからシーケンスを生成する機能を提供します。

次に、Enumerable.ToList拡張メソッドは、メソッドの結果List<T>から単純に new を作成します。SelectIEnumerable<T>

于 2009-09-28T10:28:55.360 に答える
0
ionFormViewModels = ions.Select(ion => new ionFormViewModel(ion)).ToList();
于 2009-09-28T10:29:34.933 に答える
0
List<ionFormViewModel> ionFormViewModels = ions.Select(i => new ionFormViewModel(i)).ToList()
于 2009-09-28T10:29:43.783 に答える