2012-01-07 9 views
0

をnullに文字列でオブジェクトを初期化:私は多少このようにオブジェクトモデルを持っている

public class MyObject 

    { 
     public string String1 { get; set; } 
     public string String2 { get; set; } 
     ... 
    } 

オブジェクトが初期化されると、すべての文字列の値がnullに設定されています。

後で、これらの文字列の値を評価してDB内の更新を準備する方法を書いています。このような何か:

if (TheObject.String1 != null) { TheObjectInDB.String1 = TheObject.String1; } 
if (TheObject.String2 != null) { TheObjectInDB.String2 = TheObject.String1; } 

TheObjectはMyObjectにのインスタンスであるとTheObjectInDBは私が更新していますテーブルのLINQからSQLへのマップのインスタンスです。

私の質問はこれです:安全な方法でnullを使用しているか、後で問題が発生する可能性がありますか?これらの文字列を ""に初期化するコンストラクタを作成し、その文字列が= nullではなく ""であるかどうかを確認する必要がありますか?

アドバイスをいただきありがとうございます。

+0

はい、安全です。 http://msdn.microsoft.com/en-us/library/aa645756(v=vs.71).aspx –

+0

TheObjectInDB.String2をサンプルコードのTheObject.String1に設定することを意味しますか? –

答えて

1

nullまたは空の文字列については、それ以上の機能はありません。それは完全にあなたの選択です。どちらもデータや情報の不一致を示すためによく使用されるため、いずれかの値を受け入れる便利なメソッドstring.IsNullOrEmptyがあります。

あなたの場合、私は最も簡単なオプションnullに固執します。

+0

あなたのアドバイスありがとう、私はそれをそのまま保つでしょう。 – frenchie

1

あなたはどちらかということを保証することができますが場合にのみ、(「」に優先)String.Emptyのに両方のプロパティを初期化して、プロパティを設定する際にString.Emptyのためにチェックすることができ: -

a)の値があることセットはString.Emptyを

または

b)に設定された値がString.Emptyのですが、値が唯一の私がnullのチェックに固執したい

は、上記のいずれかを避けるために、一度

に設定されていることはありませんフーに潜在的な問題を引き起こす確かに

+0

大丈夫ですが、私は自分が持っているものに固執するように見えます。アドバイスありがとうございます。 – frenchie

1

ここで問題はありません。使用しているコードは問題なく動作するはずです。 私は「これが後に起こる」という問題を考えることさえできません。

+0

よろしくお願いします。 – frenchie

関連する問題