- 題名: 構造体のListについて
- 日時: 2011/05/09 21:14:34
- ID: 28550
- この記事の返信元:
- (なし)
- この記事への返信:
- [28551] Re[1]: 構造体のListについて2011/05/09 22:18:52
- ツリーを表示
2011/05/09(Mon) 22:19:09 編集(投稿者) ■No28550に返信(ぽんさんの記事) > このような場合のSetupをforループで変更は可能でしょうか? 正直なところ、この質問文での意味がわかりません。 次のサンプルで知りたいことがわかりますか? for (int i = 0; i < Elec.Count; ++i) { // Elec[i].Name = "aaa"; // これは中身が書き換わらない+コンパイルエラーになります。 SampleData data = new SampleData(); data.Name = i.ToString(); data.Setup = new List<string>(); data.Setup.Add("test"); Elec[i] = data; // 構造体の List の場合は代入しなおすことが必要 Console.WriteLine(Elec[i].Name); } ポイント: 値型(構造体を含む)の List<T> の場合、[i] で取得した際は一時的なコピーが返されると思うべし。 コピーに対して何をしても、List<T> の中身に変化はない。
分類:[.NET]
お世話になっております。
Listを使用するのは初めてで見当違いの質問かも知れませんが
お願いします。
データをまとめるため構造体を使用し、このデータが複数あるためListを
使用しようと思ってますが構造体のなかにもListを使用したいと思ってます。
コードは以下です。
// 構造体の定義
struct SampleData
{
public string Name;
public List<string> Setup;
}
// 構造体のリストの定義
private List<SampleData> Elec = new List<SampleData>();
このような場合のSetupをforループで変更は可能でしょうか?
宜しくお願いします。