- ベストアンサー
クラスのメンバへのアクセス方法(C#)
- クラスのメンバへのアクセス方法とは、テキストファイルから複数の情報を取得し、美しく情報を格納する方法のことです。
- 通常、クラスのメンバにはインデックスで指定することはできません。そのため、メンバ名を指定して情報を格納する必要があります。
- しかし、C#では拡張メソッドを使用することで、メンバ名にインデックスを指定して情報を格納することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VB.NETであれば、プロパティ名が配列になるクラスを作ることができますが、C#ではできません。 プロパティを配列としてアクセスしたい場合:インデクサ プロパティをforeachで列挙アクセスしたい場合:イテレータ を使います。 VB.NETの配列プロパティ:http://ufcpp.net/study/csharp/oo_indexer.html#indexed インデクサ:http://ufcpp.net/study/csharp/oo_indexer.html イテレータ:http://ufcpp.net/study/csharp/sp2_iterator.html ご希望の機能はインデクサ、かな?
その他の回答 (2)
- nda23
- ベストアンサー率54% (777/1415)
ちょっとインチキなプロパティ public string this[int x] { get { if (x == 0) return Name; if (x == 1) return Kind; if (x == 2) return Val; throw とか return null とか } set { if (x == 0) Name = value; if (x == 1) Kind = value; if (x == 2) Val = value; throw とか 何もしないとか } } 使い方はこんな感じ data[i] = reader1.readLine();
お礼
回答ありがとうございます。 参考になりました。 ありがとうございました。
- magicalpass
- ベストアンサー率58% (378/648)
単にメンバを個々の変数じゃなく配列にすれば良いだけかと……
お礼
回答ありがとうございます。 なんとかメンバを配列にせずに実装できないものかと考えています。
お礼
回答ありがとうございます。 インデクサを使って何とかなりそうです。 ありがとうございました。