Как преобразовать строку в целое число в C #

Как преобразовать строку в целое число в C #?

Если вы уверены, что он будет правильно разбираться, используйте

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; } 
 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»), вы получите исключение. Используя int.TryParse когда строка не может быть преобразована в int, она вернет 0 .

Если вы уверены, что у вас есть «реальный» номер в вашей строке, или вам удобно любое исключение, которое может возникнуть, используйте это.

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

Сделайте что-то вроде:

 var result = Int32.Parse(str); 
 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. Этот код предполагает, что во время преобразования вы не будете иметь никаких исключений. Поэтому, если вы знаете, что ваши строковые данные всегда будут своего рода значением int, приведенный выше код - лучший способ перейти на чистую скорость.

В конце «y» будет иметь значение int.

bool result = Int32.TryParse (someString, out someNumeric)

Этот метод попытается преобразовать вашу string someString в int someNumeric и вернуть вам boolean result . true если преобразование выполнено успешно и false если преобразование не выполнено. Обратите внимание, что этот метод не будет генерировать исключение, если преобразование Int32.Parse неудачно, как и метод 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 #

 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)); } } 
  • Как преобразовать String в int в Java?
  • Разница между Convert.ToString () и .ToString ()
  • Как преобразовать NSData в массив байтов в iPhone?
  • Как преобразовать QString в std :: string?
  • Имеет ли смысл использовать «как» вместо броска, даже если нет нулевой проверки?
  • Преобразование типа Spring MVC: PropertyEditor или Converter?
  • Ведущие нули для Int в Swift
  • Что означает «Ошибка: Несовместимые типы: void не может быть преобразован в ...» означает?
  • Преобразование строки в дату в JavaScript
  • Преобразование String для двойного использования в Java
  • byte + byte = int ... почему?
  • Давайте будем гением компьютера.