Свежий взгляд на код чтения файла - C#
Формулировка задачи:
чтение из файла, был код
читало сразу, не устраивает преподавателя, требует чтобы читало построчно ибо может быть огромный файл и я так полагаю что должно быть ограничение по строкам
получил код
не знаю правильный ли код, но теперь ругается на
String fileName = @"..\..\in.csv"; if (!File.Exists(fileName)) { Console.WriteLine("No file {0} in program directory", fileName); Console.Read(); return; } var lines = File.ReadAllLines(fileName); string[][] text = new string[lines.Length][]; for (var i = 0; i < text.Length; i++) { text[i] = lines[i].Split(';'); } //Цикл по строкам foreach (string[] line in text) { //Цикл по словам в строке foreach (var s in line) { } }
int counter = 0; string lines=""; StreamReader file = new StreamReader(@"..\..\in.csv"); while ((lines = file.ReadLine()) != null) { System.Console.WriteLine(lines); counter++; } string[][] text = new string[lines.Length][]; for (var i = 0; i < text.Length; i++) { text[i] = lines[i].Split(';'); } //Цикл по строкам foreach (string[] line in text) { //Цикл по словам в строке foreach (var s in line) { } }
.Split(';');
хотя до этого все было впорядкеРешение задачи: «Свежий взгляд на код чтения файла»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace преобразование_в_массив { class Program { static void Main(string[] args) { // int counter = 0; // var lines=""; // var te = ""; // string n ="\n"; // StreamReader file = new StreamReader(@"..\..\in.csv"); String fileName = @"..\..\in.csv"; if (!File.Exists(fileName)) { Console.WriteLine("No file {0} in program directory", fileName); Console.Read(); return; } //while (( lines = file.ReadLine()) != null) //{ // te =n+te+lines; // System.Console.WriteLine(lines); // counter++; //} var lines=""; // var lines = File.ReadAllLines(fileName); foreach (string line in File.ReadLines(fileName)) { if (line != null) { lines = lines + line; Console.WriteLine(line); } } string[][] text = new string[lines.Length][]; for (var i = 0; i < text.Length; i++) { text[i] = lines[i].Split(";"); } //Цикл по строкам foreach (string[] line in text) { //Цикл по словам в строке foreach (var s in line) { } } double r = 0.0;//значения double sum = 0;//сумма int y = 0; int x; int errors = 0;//errors int one = 7;// первая запись с данной позиции(знак "-" без пробела) StringBuilder sb = new StringBuilder("result("); for (x = 0; x < text.Length; x++) { try { y = int.Parse(text[x][0]); if (text[x][y] == "-") { x += 1; r = double.Parse(text[x][0]); r *= -1; goto l1; } r = double.Parse(text[x][y]); } catch (FormatException) { errors += 1; continue; } catch (IndexOutOfRangeException) { errors += 1; continue; } l1: sum += r; if (sb.Length == one) //х == 0, если первое { sb.Append(r); continue; } if (r >= 0)//если положительное { sb.Append(" + " + r); } if (r < 0)//отрицательное { r *= -1; sb.Append(" - " + r); } } sb.Append(") = " + sum); sb.Append(" \nerror-lines = " + errors); Console.WriteLine(sb);//вывод строки System.Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д