正確な複製:.Net Parse versus Convert 誰でも助けてくれますか?Convert.ToInt32(string)とInt32.Parseの違いは?
答えて
Convert.ToInt32(string)
とInt32.Parse(string)
は、文字列が実際にnullであるときを除いて、同一の結果を得ます。この場合
、Int32.Parse(null)
はゼロを返すConvert.ToInt32(null)
、ArgumentNullException
をスローしかし。
だから、Int32.Parse(string)
どちらが良いかは、実際にはあなたのニーズによります。 – Joey
parseメソッドを使用すると、数値形式のオプションが増えます。それ以外は事実上同じです。
MSDN氏は述べています:
Int.Parseを(使用することをお勧めします)は、解析しようともあなたも、パラメータを指定して解析できる形式
Int.Parse(String, NumberStyles)
を受け入れることができますだけで表示する場合はtrueまたはfalseを返します解析が成功したかどうか
intを変換する必要がある場合は、3つのオプションがあります。
int.Parse
Convert.ToInt32
int.TryParse
3つのうち、最も良い解決策は、通常、int.TryParseです。これらの3つの違いは、速度と信頼性の両方です。
int型以外の値がそれに 渡された場合int.Parseは例外をスローします。一般的な経験則では、例外は低速です。
Convert.ToInt32はnullを処理し、0を返しますが、 は他の入力に対して例外をスローします。もう一度、例外は遅いです。
int.TryParseはほとんどすべての入力を処理します。渡された引数が変換されたかどうかによって、trueまたは
falseが返されます。 の結果がfalseの場合、変換されたintは0です。結果がtrueの場合、 intが変換され、変換されたintが返されます。
私は何でもint.Parseを使用しません。私の入力が正しいと確信していて、何らかの形式のバリデーションがあった場合は、Convert.ToInt32を使用して余分な行を入力する必要がなくなりました。他のすべての状況では、私はそれぞれのint.TryParse
構文を使用します。
int result;
boolean success;
result = int.Parse(null) = Exception
result = Convert.ToInt32(null) = 0
success = int.TryParse(null, out result) = False/0
result = int.Parse("asd") = Exception
result = Convert.ToInt32("asd") = Exception
success = int.TryParse("asd", out result) = False/0
- 1. Convert.ToInt32とInt32.Parseの違いは何ですか?
- 2. Int32.Parse vs int.Parse
- 3. int no = Int32.Parse(s1);
- 4. Convert.ToInt32(String)on String.Empty対NULL
- 5. Int32.Parseを使用する
- 6. @stringと@ + stringの違いは?
- 7. Convert.ToInt32と(int)Parsingの違いは何ですか
- 8. make([] string)と[] string {}の違い
- 9. bitNot =(sbyte)(〜bitNot)VS. myInt = Int32.Parse(myInput);
- 10. Convert.ToInt32とTryParse
- 11. std:stringとstd :: stringの違い
- 12. Go:* stringとsql.NullStringの違い
- 13. Scala Parse Stringクラスと実行時コンパイル
- 14. C#Parse String to Date \ Time
- 15. forループのString []とStringの違いは何ですか?(Java)
- 16. Convert.ToBoolean(string)とBoolean.Parse(string)の違いは何ですか?
- 17. Double.parseDouble(String)とDouble.valueOf(String)の違いは何ですか?
- 18. C#:CompareTo(String)とEquals(String)の違いは何ですか?
- 19. string :: atとstring :: operator []の違いは何ですか?
- 20. main(String ... s)とmain(String [] s)の違いは何ですか?
- 21. std :: string :: c_strとstd :: string :: dataの違いは何ですか?
- 22. URL.init(string: "")とURL(string: "")の違いは何ですか?
- 23. StringとStringの違いは何ですか?
- 24. :: std :: stringとstd :: stringの違いは何ですか?
- 25. UInt32とInt32 - 考えている0と1はInt32です。
- 26. rev-parseとsymbolic-refの出力の違いは何ですか?
- 27. C#。 "Parse"と "(_Data Type_)"の違いは何ですか?
- 28. "import dateutil.parser"と "from dateutil.parser import parse"の違いは何ですか?
- 29. Javaの.toString()と(String)キャストの違い
- 30. PythonとPandas - int32とint64のdp.Seriesの相違
リフレクターはあなたの友達です。 :) – BobbyShaftoe