私はnull文字列をstring.Emptyに解決する1行のメソッドを持っていますが、これは拡張メソッドとしては便利かもしれないと思っていましたが、それを作る便利な方法が見つかりません。.NETにはnull文字列をString.Emptyに解決する方法がありますか?
私はそれが有用であることがわかります唯一の方法は、文字列クラスの静的メソッドとしては、インスタンスがnullであるため明らかにインスタンスに起因することができないため、コンパイラエラーが発生するためです。 [編集:コンパイラのエラーは私が誤って解釈した初期化されていない変数によるものです]
私はヘルパークラスに追加することを考えましたが、
だから、この質問は、私が思う二つの部分である:
- は、私がどこかに沿って見逃している一般的な知識であるString.Emptyのにnull文字列を解決する方法で構築されている.NETフレームワークをい方法?
- もしそうでなければ、誰かがこのメソッドを文字列クラスの静的な拡張として追加する方法を知っていますか?事前に
乾杯
編集:
さて、私は、もう少し明確にしてきた必要がありますね - 私はすでにヌルcoallescingをよく知っていると私は場所でこれを使用していましたここではハッシュコードの計算のために検査されているダースの文字列があります。
あなたが想像しているように、ヌル協調構文を含むすべてのコードは互いに密接に接していますので、私はヌル協調操作をメソッドに簡単に移行しました。しかし、それは文字列オブジェクトに最適な延長となり、完璧どちらである:ダースラインを超える
int hashcode =
FirstValue.ResolveNull().GetHashCode()^
SecondValue.ResolveNull().GetHashCode()^
...
がより読みずっと簡単です:
int hashcode =
(FirstValue ?? String.Empty).GetHashCode()^
(SecondValue ?? String.Empty).GetHashCode()^
...
私は時にコンパイラの問題に実行していました私は明示的にNULLとして私の文字列値を宣言したが、暗黙的に依存していませんでした:
string s;
しかし、あなたが明示的に定義した場合:
string s = null;
あなたは非常に簡単に呼び出すことができます。すべての入力のための
s.ResolveNull();
感謝を。私は、それゆえの.dump()さん
、LinqPadでこれを投げた
30秒以内に6つの返信に基づいて、うん、よく知っている。 :D –
笑 - それは私がヌル共鳴を逃したことを忘れていたわけではなく、私はそれが既にこの特定の目的のために醜いものとしてそれを書いていたことを知っていた。 D – BenAlabaster
私はnull文字列を扱うことができないコードは醜いと思う:-P –