7

リストには次のような個人クラスのすべての値が含まれているため、個人のクラスとリストコレクションがあります。

リスト ilist には 2 つの値 [0]={firstname,lastname} があります。[1]={名2,姓2}

リストを繰り返し処理しているときに、リストを印刷できますが、リストの一部の値を変更したい、たとえば、インデックス 1 で、firstname2 の値を firstname3 に変更したい場合は、それを行うことができません. リストを印刷してから、そのインデックスでインデックスの値、つまり person クラスの firstname と secondname 変数を変更して、値を更新できるようにする方法を誰か教えてもらえますか ありがとう

4

6 に答える 6

2

msdn のドキュメントによると、おなじみのインデックス演算子を使用できます (配列で使用するものと同様)。だからmyList[1].lastname = "new last name";あなたのためにそれをするべきです。

ドキュメントはこちらです。http://msdn.microsoft.com/en-us/library/0ebtbkkc.aspx

アクセスする前に境界チェックを行う必要があることに注意してください。

于 2013-09-03T17:01:19.513 に答える
0

リストは、インデクサーを使用して直接変更できます。

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

var list = new List<Person>
           {
               new Person
               {
                  FirstName = "Bob",
                  LastName = "Carlson"
               },
               new Person
               {
                  FirstName = "Elizabeth",
                  LastName = "Carlson"
               },
           };

// Directly               
list[1].FirstName = "Liz";

// In a loop
foreach(var person in list)
{
    if(person.FirstName == "Liz")
    {
        person.FirstName = "Lizzy";
    }
}
于 2013-09-03T17:10:51.907 に答える