たとえば、次のシナリオでは
Convert.Int64(string somstring)
また
long.Parse(string somstring);
同じ種類の仕事をしているようです。どちらがより良い方法ですか?
ありがとう
たとえば、次のシナリオでは
Convert.Int64(string somstring)
また
long.Parse(string somstring);
同じ種類の仕事をしているようです。どちらがより良い方法ですか?
ありがとう
ソースを見ると、Convert.ToInt64(string)
単に を呼び出しlong.Parse
ますが、文字列がnull
最初ではないことを確認します。
long.Parse
意図 (文字列の解析) がより明確になるため、calls をお勧めします。
Convert
変換元の型が変わる可能性がある場合は、クラスを使用することをお勧めします。(または から変換する場合object
)
他の回答を完全にするために、入力文字列形式がわからない場合は、一般的に安全なlong.TryParseを忘れないでください。
Convert.Int64
内部で呼び出しlong.Parse
、前に null チェックを行うだけです。ここにガッツがあります:
if (value == null)
{
return 0L;
}
return long.Parse(value, CultureInfo.CurrentCulture);
null チェックが必要な場合は、Convert.Int64 の方が安全です。それ以外は違いはありません。
Convert.Int64 は、最初に文字列に対して null チェックを行った後、CultureInfo.CurrentCulture で long.Parse を実際に呼び出します。したがって、文字列が null にならないことがわかっている限り、ステップを保存して long.Parse を呼び出すことができます。