using System; public class Test { public static void Main() { string stringNumber = "-42"; int number = StringToInteger(stringNumber); System.Console.WriteLine(number); } public static int StringToInteger(string value) { bool negative = false; int i = 0; if (value[0] == '-') { negative = true; ++i; } int number = 0; for (; i < value.Length; ++i) { var character = value[i]; number = (number << 1) + (number << 3) + (character - '0'); } if (negative) number = -number; return number; } }