如何将string转换为C#中的整数

如何将string转换为C#中的整数?

如果你确定它会parsing正确,使用

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); 

这是因为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; } 
 int a = int.Parse(myString); 

或更好,但看看int.TryParse(string)

 string varString = "15"; int i = int.Parse(varString); 

要么

 int varI; string varString = "15"; int.TryParse(varString, out varI); 

int.TryParse是更安全的,因为如果你把其他东西放在varString (例如“fsfdsfs”),你会得到一个exception。 当string不能转换为int时,通过使用int.TryParse ,它将返回0

做类似的事情:

 var result = Int32.Parse(str); 

如果您确定自己的string中包含“真实”数字,或者对可能出现的任何exception感到满意,请使用此字段。

 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; } 
 int i; string whatever; //Best since no exception raised int.TryParse(whatever, out i); //Better use try catch on this one i = Convert.ToInt32(whatever); 

这里有4项技术基准。

最快的方法竟然是以下几点:

 y = 0; for (int i = 0; i < s.Length; i++) y = y * 10 + (s[i] - '0'); 

“s”是你想要转换为int的string。 此代码假定您在转换过程中不会有任何exception。 所以,如果你知道你的string数据将总是某种int值,上面的代码是纯速度的最好方法。

最后,“y”会有你的int值。

布尔结果= Int32.TryParse(someString,出someNumeric)

此方法将尝试将string someString转换为int someNumeric ,并返回boolean result给你。 如果转换成功,则返回false 请注意,如果转换失败,像Int32.Parse方法一样,这个方法不会抛出exception,而是对someNumeric返回零。

欲了解更多信息,你可以在这里阅读:

https://msdn.microsoft.com/en-us/library/f02979c7(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2

如何将string转换为C#中的整数

 int i; string result = Something; i = Convert.ToInt32(result); 

你可以使用,

  int i = Convert.ToInt32(myString); 

要么

  int i =int.Parse(myString); 
 class MyMath { public dynamic Sum(dynamic x, dynamic y) { return (x+y); } } class Demo { static void Main(string[] args) { MyMath d = new MyMath(); Console.WriteLine(d.Sum(23.2, 32.2)); } }