C#で文字列を整数に変換するにはどうすればよいですか?
C#で文字列を整数に変換するにはどうすればよいですか?
回答:
正しく解析されることが確実な場合は、
int.Parse(string)
そうでない場合は、
int i;
bool success = int.TryParse(string, out i);
注意!以下の場合、i
は0に等しくなり、TryParse
。の後の10ではありません。
int i = 10;
bool failure = int.TryParse("asdf", out i);
これは、refパラメーターではなくoutパラメーターをTryParse
使用するためです。
int myInt = System.Convert.ToInt32(myString);
いくつかの他の人が述べたように、あなたも使用することができるint.Parse()
とint.TryParse()
。
あなたstring
が常になると確信しているならint
:
int myInt = int.Parse(myString);
string
が本当にint
最初かどうかを確認したい場合:
int myInt;
bool isValid = int.TryParse(myString, out myInt); // the out keyword allows the method to essentially "return" a second value
if (isValid)
{
int plusOne = myInt + 1;
}
文字列に「実数」が含まれていることが確実な場合、または発生する可能性のある例外に問題がない場合は、これを使用してください。
string s="4";
int a=int.Parse(s);
プロセスをさらに制御するには、
string s="maybe 4";
int a;
if (int.TryParse(s, out a)) {
// it's int;
}
else {
// it's no int, and there's no exception;
}
最速の方法は次のとおりです。
y = 0;
for (int i = 0; i < s.Length; i++)
y = y * 10 + (s[i] - '0');
「s」は、intに変換する文字列です。このコードは、変換中に例外が発生しないことを前提としています。したがって、文字列データが常にある種のint値であることがわかっている場合は、上記のコードが純粋な速度を実現するための最良の方法です。
最後に、「y」はint値になります。
bool result = Int32.TryParse(someString, out someNumeric)
この方法では、変換しようとしますsomeString
にsomeNumeric
、と返すresult
変換は、成功した場合に依存しtrue
、変換が成功した場合とfalse
変換が失敗した場合。このメソッドは、メソッドのように変換が失敗した場合に例外をスローInt32.Parse
せず、代わりにsomeNumeric
。に対してゼロを返すことに注意してください。
詳細については、こちらをご覧ください。
https://msdn.microsoft.com/en-us/library/f02979c7(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
&
に文字列を変換する方法C#の整数