class User { private string strUserName; //ユーザー名 private string strCharaName; //キャラクタ名 // 略 public string userName { get { return strUserName; } set { strUserName = value; } } }
こういうDBのカラムをイメージしたようなエンティティ的なクラス(モデル)を考えた場合、だいたいDBでもそうだけど、あるカラムがキーになっているパターンが多い。従って、id:hiko_sの言う
これだと例えば"userNameが「麻生太郎」なデータの存在チェック"をやろうと思うと、userの数だけぶん回してチェックする事になって「オブジェクト指向」っぽくない気がする。
という記述については、そもそもコンストラクタにて、
User aso = new User("麻生太郎");
っていうような呼び出しをすればいい。あとは、クラスのその他のメンバ変数はHashtableなりなんなりに突っ込んでおけばいいだろう。
C#はあまりよく知らないのでPHPで書くと(おっと今年はPHPはなるべくやらない宣言をしているのに・・・)
$user = array( 'aso' => array('charaName' =< 'Taro', 'charaSex' => 'Male'...), 'hanako' => array('....') );
というような結果になるように作ればいいと思う。