5

これとともに:

if (args.Parameter == "ContactIntermediaryPage")

... NavigationdTo()イベントハンドラーで、Resharperは次のように通知します。「意図しない参照比較の可能性があります。値の比較を取得するには、左側を「文字列」と入力します。」

したがって、次のいずれかに変更する必要があります。変更する場合は、次のいずれかに変更します。

if ((string)args.Parameter == "ContactIntermediaryPage")

if (args.Parameter.ToString() == "ContactIntermediaryPage")

if (args.Parameter.Equals("ContactIntermediaryPage"))
4

2 に答える 2

2

3つ目を選択し、大文字と小文字を区別しないようにします(これがあなたの場合に適している場合)

if (args.Parameter.ToString().Equals(
               "ContactIntermediaryPage", 
                StringComparsion.InvariantCultureIgnoreCase))

言い換えると、方程式aのの部分と比較してstring、コンパイラーとコードのリーダーに明確にするために、その行で何をするのかを明確にします。string

于 2012-12-17T22:27:53.733 に答える
1

args.Parameterが常に文字列の場合は最初のもの。余分な呼び出しを節約できます。

それ以外の場合は、可能なすべての文字列がコード内にある場合に限り、2番目の文字列です。もしそうなら、私は文字列を定数として定義し、可能であればそれらを1か所で参照します。

上記のどちらにも当てはまらない場合は、Tigranの答えを探してください。

于 2012-12-17T22:32:38.953 に答える