• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:クラスのメンバへのアクセス方法(C#))

クラスのメンバへのアクセス方法(C#)

このQ&Aのポイント
  • クラスのメンバへのアクセス方法とは、テキストファイルから複数の情報を取得し、美しく情報を格納する方法のことです。
  • 通常、クラスのメンバにはインデックスで指定することはできません。そのため、メンバ名を指定して情報を格納する必要があります。
  • しかし、C#では拡張メソッドを使用することで、メンバ名にインデックスを指定して情報を格納することができます。

質問者が選んだベストアンサー

  • ベストアンサー
  • aspnet
  • ベストアンサー率79% (72/91)
回答No.2

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 ご希望の機能はインデクサ、かな?

abcron
質問者

お礼

回答ありがとうございます。 インデクサを使って何とかなりそうです。 ありがとうございました。

その他の回答 (2)

  • nda23
  • ベストアンサー率54% (777/1415)
回答No.3

ちょっとインチキなプロパティ 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();

abcron
質問者

お礼

回答ありがとうございます。 参考になりました。 ありがとうございました。

回答No.1

単にメンバを個々の変数じゃなく配列にすれば良いだけかと……

abcron
質問者

お礼

回答ありがとうございます。 なんとかメンバを配列にせずに実装できないものかと考えています。