Swiftプログラミング言語から来て、私はoptional valuesというパラダイムに慣れてきました。この言語機能には多くの面白い点がありますが、特にC#に同等の処理方法があるかどうかは疑問です。これはnil
関数の戻り値です。例えば、与えられたキーの値を返す単純な検索関数を考えてみましょう。 Swiftでは、欠落しているキーを処理する慣用的な方法は、単にnil
を返すことです。実際には、これはプログラマーが大部分のケースでエラーを投げたりエラー処理をしなくても済むようにし、非常に上手く機能します。同様に、Javascriptでは、ちょうどundefined
を返すかもしれません。C#の慣用的なオプションの戻り値
私がMSDNで読んだところでは、C#プログラマは通常このような場合に古典的な例外を優先し、try catchブロックで処理するようです。これは一般的なケースですか?たとえば、整数戻り値をNullableオブジェクトにラップし、関数呼び出し側がその値がnullかどうかをチェックすることは珍しいでしょうか?これらの状況に対する正統的なアプローチは何でしょうか?
ありがとうございました。私は特にTryGetの提案に感謝します。それだけで物事が私にははっきりと分かります。 –