Как решить ошибку "входная строка была не в правильном формате"?
Я решил этот тип ошибки ранее, но на этот раз я застрял.
У меня есть файл, содержащий 2 31 200 чисел из 8 и 10 цифр, и я должен суммировать все цифры в каждом номере, а затем добавить сумму в список, но при добавлении сумм я получил ошибку. диапазон сумм - от 0 до 90. Я попробовал "int, Int32, Int64", но с их помощью я получил другую ошибку "Значение было либо слишком большим, либо слишком маленьким для Int32. поэтому я использую "длинный", ссылаясь на некоторые предложения, но моя проблема еще не решена и получаю еще одну ошибку-
Ниже приведен мой код, где я получаю выше ошибки в строке
long sumOfnum = суммирование (преобразование.ToInt64(Allbarcodes[i]));
Что не так в моем коде, пожалуйста, кто-нибудь подскажет мне способ.
Что я уже пробовал:
public long Summation(long n) { long m, sum = 0; while (n != 0) { m = n % 10; sum = sum + m; n = n / 10; } return sum; } private void button2_Click(object sender, EventArgs e) // do task { List<long> barcodeList = new List<long>(); using (FileStream fs = new FileStream(textBox1.Text, FileMode.Open, FileAccess.Read)) using (StreamReader sr = new StreamReader(fs)) { string barcode_data = sr.ReadToEnd().Replace("\r\n", ","); string[] Allbarcodes = barcode_data.Split(','); for (int i = 0; i < Allbarcodes.Length; i++) { long sumOfnum = Summation(Convert.ToInt64(Allbarcodes[i])); barcodeList.Add(sumOfnum); } } }
Graeme_Grant
В чем заключается ценность Allbarcodes[i]
когда возникает ошибка для выделенной линии:
long sumOfnum = Summation(Convert.ToInt64(Allbarcodes[i]));
Bryian Tan
возможные Allbarcodes[i] = "" ? затем преобразуются.ToInt64 задуть?
Graeme_Grant
Вы смотрели на стоимость? Извини, Брайан, я принял тебя за оперативника.