myObjectB
ので。あなたは1つの以上のアイテムを持っている可能性があり、ループの最初の繰り返しで、それはそこにはアイテムがmyObjectB
リストにありません、あなたがしているので、クラッシュしますどの
myObjectB[0].Comments = myObjectA[0].Comments;
のようなコードを実行しようとします
myObjectA
リストをループしています最初のアイテム(0番目のインデックス)にアクセスしようとしているため、範囲外の例外が発生します。具体的には
インデックスが範囲外です。負でなく、コレクションのサイズより小さくなければなりません。 objectB
とobjectA
の両方を想定し例外
は、同じタイプのComments
性質を持っている、あなたはmyObjectA
リストを、各項目についてループすることができ、新しいobjectB
オブジェクトを作成し、(元々は空のリストとしてinitalizedた)リストに追加Add
メソッドを使用します。
List<objectB> myObjectB = new List<objectB>();
for (var i=0; i < myObjectA.Count; i++)
{
var b = new objectB(); //create the object
b.Comments = myObjectA[i].Comments; // map the property values
myObjectB.Add(b); //add the object to the list
}
上記foreachのコードは、LINQの突起と、ワンライナーにすることができる
var bList = myObjectA.Select(x => new objectB { Comments = x.Comments }).ToList();
変数bList
がobjectB
オブジェクトのリストであろう。
実際に 'myObjectB'リストに' ObjectB'を追加していますか? 'myObjectB'の上にあるあなたのコードスニペットでは、 – Deolus