1

だから私はあなたたちにこの質問をしたかった、それは簡単なことですが、私はより良い方法を見つけたかったのです。

常に大文字である必要があるデータがありますが、変換する必要がある小文字の入力を許可します。

通常toUpper、DBに保存するときに実行します。

ゲッターの方が良いかもしれないと思っていました。そうすればtoUpper、ロジックがデータに厳密になり、オブジェクトを使用してこのデータを表示する限り、常に大文字になります。

public string Mapping
{ 
    get
    {
        return mapping  == null ? mapping : mapping.ToUpper();
    }
    set;
}

これはばかげていますか?私はMapping.ToUpper()毎回新しい文字列を作成することを知っているので、それはばかげているようです。他に何か提案はありますか?

4

1 に答える 1

3

元のデータを保持するやむを得ない理由がない限り、途中でデータを変換します。こうすることで、誤って "不適切な" バージョンのデータを使用することがないようにできます (たとえば、バッキング フィールドにアクセスするプライベート メソッドで)。

個人的には、プロパティ セッターが常に値を保持することを好みます。

x.MyProperty = someValue;
Assert(x.MyProperty == someValue);

セッターが渡された値を変更する場合は、代わりにそれを行う別のメソッドを記述します。

あなたの例では、私はおそらく次のようになります:

public void SetMapUppercase(string value);
于 2013-03-14T20:31:45.477 に答える