0

MHP という型オブジェクトのコレクションがあります。MHP には複数のメンバー フィールド (名前、AC、Par_ID など) があります。リストを作成します。

private List<MHP> mhpList = new List<MHP>();
public List<MHP> MHPList
{ get { return mhpList; } set { mhpList = value; } }

そして、for ループで新しいオブジェクトを作成して、フィールドの一部に値を入力します。

mhpList.Add(new MHP
{
 MHP_Name = something,
 MHP_AC = a number
}); 

ここで、残りのフィールドに値を入力したいので、新しいオブジェクトを作成してそうしていますが、これは明らかにコレクションの新しいインデックスに値を配置します。

mhpList[0] MHP_Name = '何か'、MHP_AC = '#'、MHP_ParId = null。

mhpList[1] MHP_Name = null、MHP_AC = null、MHP_ParID = '何か'</p>

新しいリストを作成し、そのリストに新しいオブジェクトを追加してから、次を使用して新しいリストを mhpList に追加しようとしました。

mhpList.AddRange(newList)

および mhp.InsertRange と同様ですが、これがコレクション内のオブジェクトの新しいインデックスを追加するたびに。コレクションの SAME インデックス内の未入力のフィールドに値を追加するにはどうすればよいですか?

4

2 に答える 2

2

インデックスを使用してアイテムにアクセスするだけです。

mhpList = new List<MHP>();

mhpList.Add(new MHP
{
 MHP_Name = something,
 MHP_AC = a number
});

mhpList[0].MHP_ParId= "Something";
于 2013-08-07T13:18:44.467 に答える
0
mhpList[0].MHP_ParID = something;

より詳細には、リストのメソッドではなく、MHP オブジェクトのメソッドを使用する必要があります。リストが認識しているのは、その中にいくつかの MHP オブジェクトがあることだけです。リストでできることは次のとおりです。

  • MHP をリストに追加する
  • リストから MHP を削除する
  • リストから MHP を取得する

特定の MHP 内のフィールドを変更したい場合、それはリストに関係するものではなく、MHP オブジェクトに関係するものです。オブジェクトを取得してから変更します。次に、それが参照オブジェクト (クラス) である場合は完了です。値オブジェクト (構造体) の場合は、次のようにリストに再度追加する必要があります。

MHP obj = mhpList[0];
obj.MHP_ParID = something;
mhpList[0] = obj;
于 2013-08-07T13:19:13.613 に答える