これは非常にばかげた質問だと思いますが、何かが足りないに違いありません。
なぜString.Copy(string)を使いたいのでしょうか?
ドキュメントには方法が記載されています
指定された文字列と同じ値で文字列の新しいインスタンスを作成します。
文字列は.NETで不変であるため、このメソッドを使用する利点が何であるかはわかりません。
string copy = String.Copy(otherString);
すべての実用的な目的のためにと同じ結果をもたらすように思われる
string copy = otherString;
つまり、内部で行われている簿記と、コピーがReferenceEquals
otherStringにないという事実を除いて、観察可能な違いはありません。Stringは、同一性ではなく値に基づいた不変のクラスです。(@Andrew Hareのおかげで、私の元の言い回しは、ingとnotの間に違いがあることに気付いたが、有用なCopy
違いがないと認識されていることを懸念するほど正確ではなかったと指摘してくれました。)
もちろん、null
引数が渡されると、CopyはをスローしArgumentNullException
、「新しいインスタンス」はより多くのメモリを消費する可能性があります。後者はほとんどメリットとは思えず、nullチェックがCopyメソッド全体を保証するのに十分なボーナスであるかどうかはわかりません。
ありがとう。