如何在C#中将字符串转换为整数?
Answers:
如果您确定可以正确解析,请使用
int.Parse(string)
如果不是,请使用
int i;
bool success = int.TryParse(string, out i);
警告!在以下情况下,i
将等于0,而不是10之后的值TryParse
。
int i = 10;
bool failure = int.TryParse("asdf", out i);
这是因为TryParse
使用out参数,而不是ref参数。
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;
}
做类似的事情:
var result = Int32.Parse(str);
最快的方法如下:
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
,并返回aresult
取决于转换是否成功,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#中的整数