如何将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)); } }