0

適切なタイプのオブジェクトがある場合にのみ一部のコードの実行を許可するためのガード句として、私が検討している 2 つの選択肢があります。

var targetObject = eventArgs.Value as MagicType;

if (targetObject != null)
{
    DoStuffWith(targetObject);
}

またはそうでなければ:

if (targetObject is MagicType)
{
     // DoStuffWith(targetObject);  // not quite. Actually:
     DoStuffWith((MagicType)targetObject);
}

両方の選択肢を見ると、かなり同等に見えますが、操作 ( asvs is) が概念的に異なることはわかっています。

問題は、どちらを優先すべきかということです。その選択はシナリオに依存しますか?なぜ?

4

0 に答える 0