2010-01-11 2 views
0

У меня есть сомнения. Могу ли я узнать, как преобразовать строку в int.i знать, используя синтаксический анализ, мы можем это сделать. вместо разбора есть какая-то вещь для преобразования.Как преобразовать строку в int?

+0

Вы можете передать строку в int. Покажите какой-нибудь код, чтобы люди поняли, почему «Parse» или «TryParse» не будут полезны. – shahkalpesh

+2

shahkalpesh: Нет, вы не можете. –

+0

@silky: Вы правы. Это действительно глупо, чтобы написать это. – shahkalpesh

ответ

4

Ну, нет.

Вы можете позвонить

int k = Convert.ToInt32("32"); 

Но это все еще разбирает его.

- Edit:

Для полноты здесь код, чтобы сделать это без функции «рамочные»:

public static int ToInt32 (string s) 
    { 
     int result = 0; 

     foreach(char c in s){ 
      if(c >= '0' && c <= '9'){ 
       result = (result * 10) + (c - '0'); 
      } 
     } 

     if(s[0] == '-'){ 
      result = -result; 
     } 

     return result; 
    } 
+0

Mr. Silky есть ли что-нибудь, что я знаю это. спасибо за ответ –

+0

Благодарим за отзыв Mr. silky –

+0

+1, ваш ответ лучше. Удалил мой. :) – missingfaktor

0

Вы желающих получить численное значение символов в строке? Если это так, вы можете наложить отдельные символы на int, чтобы захватить номера юникода. Кроме этого, не имеет смысла не использовать int.Parse или int.TryParse.

+0

У меня есть сомнения, мистер Нейт. вы код супер это концепция бокса и unboxing –

+0

Нет, это не имеет никакого отношения к боксу/распаковке. –

+0

ОК спасибо Мистер Джон skeet я понял спасибо за ответ –

Смежные вопросы