Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2017, 15:40   #21
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Asew Посмотреть сообщение
Ошибка CS1061 'IEnumerable<string>"
рискну предположить, что Вы забыли указать нужное для Skip() пространство имён.

допишите там, где у Вас using:
Код:
using System;
using System.IO;
using System.Collections.Generic;
using System.Linq;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.09.2017, 11:29   #22
Asew
Пользователь
 
Регистрация: 29.08.2017
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
Код:
        static void Main(string[] args)
        {
            int skipAmount = 0;
            if (args.Length > 0)
                int.TryParse(args[0], out skipAmount);
            foreach(var line in File.ReadLines("file.txt").Skip(skipAmount))
            {
                string[] one = line.Split(';');
                Console.WriteLine("N = {0} Date = {1} Value = {2}", one[0], one[1], one[2]);
            }
            Console.Write("Press any key to continue . . . ");
            Console.ReadKey(true);
допустим как-то так. вашей утилите должно быть передано количество строк для пропуска через параметр командной строки.
можете заменить чтение из иного места если надо и сохранять если надо.

Serge_Bliznykov, не надо переводить массив в строку через Add.
есть AddRange, этот метод оптимизированный для коллекций с известным размером.
в случае если считываем все файлы из папки , то мы используем
Код:
string[] file_list = Directory.GetFiles(@"C:\TEST", "*.txt")
а вод как сделать чтоб потоком считывало все файлы, то использовать StreamWriter?
Asew вне форума Ответить с цитированием
Старый 04.09.2017, 11:39   #23
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Asew Посмотреть сообщение
а вод как сделать чтоб потоком считывало все файлы, то использовать StreamWriter?
нельзя "потоком считывать все файлы".
Можно считывать файлы ПО ОДНОМУ.
после того, как Вы получили массив file_list, можете обрабатывать каждый элемент массива, содержащий имена файлов в директории (через foreach, например)
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.09.2017, 12:13   #24
Asew
Пользователь
 
Регистрация: 29.08.2017
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
нельзя "потоком считывать все файлы".
Можно считывать файлы ПО ОДНОМУ.
после того, как Вы получили массив file_list, можете обрабатывать каждый элемент массива, содержащий имена файлов в директории (через foreach, например)
так потом здесь предложен тоже foreach и как их связать?
Цитата:
Сообщение от Asew Посмотреть сообщение
static void Main(string[] args)
{
int skipAmount = 0;
if (args.Length > 0)
int.TryParse(args[0], out skipAmount);
foreach(var line in File.ReadLines("file.txt").Skip(ski pAmount))
{
string[] one = line.Split(';');
Console.WriteLine("N = {0} Date = {1} Value = {2}", one[0], one[1], one[2]);
}
Console.Write("Press any key to continue . . . ");
Console.ReadKey(true);
Asew вне форума Ответить с цитированием
Старый 04.09.2017, 13:08   #25
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Asew Посмотреть сообщение
так потом здесь предложен тоже foreach и как их связать?
цикл по файлам.
внутри цикл по содержимому.
примерно так:

Код:
        static void Main(string[] args)
        {
        string[] file_list = Directory.GetFiles(@"C:\TEST", "*.txt")
        foreach(var  curfilename in file_list) {
            Console.WriteLine("содержимое файла {0}",curfilename);
            foreach(var line in File.ReadLines(curfilename))
            {
                string[] one = line.Split(';');
                Console.WriteLine("N = {0} Date = {1} Value = {2}", one[0], one[1], one[2]);
            }
        } 
        Console.Write("Press any key to continue . . . ");
        Console.ReadKey(true);
}
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.09.2017, 15:10   #26
Asew
Пользователь
 
Регистрация: 29.08.2017
Сообщений: 25
По умолчанию

curfilename не существует в текущем контексте
Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
foreach(var line in File.ReadLines(curfilename))
Asew вне форума Ответить с цитированием
Старый 04.09.2017, 15:44   #27
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Сообщение от Asew Посмотреть сообщение
curfilename не существует в текущем контексте
ну, не знаю. может быть, пропущенная точка с запятой виновата... я же код писал примерный. прямо тут, на форуме.

вот, сейчас проверил в SharpDevelop.
такой код:
Код:
		public static void Main(string[] args)
		{
           
           	string[] file_list = Directory.GetFiles(@"C:\TEST", "*.txt");
        	foreach(var  curfilename in file_list) {
	            	Console.WriteLine("содержимое файла {0}",curfilename);
            		foreach(var line in File.ReadLines(curfilename))
        	    	{
	                	string[] one = line.Split(';');
	                	Console.WriteLine("N = {0} Date = {1} Value = {2}", one[0], one[1], one[2]);
    	        	}
    	    	}            

			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}
вроде бы работает.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 04.09.2017, 15:48   #28
Asew
Пользователь
 
Регистрация: 29.08.2017
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
ну, не знаю. может быть, пропущенная точка с запятой виновата... я же код писал примерный. прямо тут, на форуме.

вот, сейчас проверил в SharpDevelop.
такой код:
Код:
		public static void Main(string[] args)
		{
           
           	string[] file_list = Directory.GetFiles(@"C:\TEST", "*.txt");
        	foreach(var  curfilename in file_list) {
	            	Console.WriteLine("содержимое файла {0}",curfilename);
            		foreach(var line in File.ReadLines(curfilename))
        	    	{
	                	string[] one = line.Split(';');
	                	Console.WriteLine("N = {0} Date = {1} Value = {2}", one[0], one[1], one[2]);
    	        	}
    	    	}            

			Console.Write("Press any key to continue . . . ");
			Console.ReadKey(true);
		}
вроде бы работает.
мой косяк , потерял
Код:
 {		}
Спасибо!
Asew вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Из файла в массив IGOR199304 PHP 4 26.07.2013 23:44
массив из файла Арианна Помощь студентам 12 22.05.2012 22:54
Массив из файла sixS Паскаль, Turbo Pascal, PascalABC.NET 1 21.10.2011 22:33
Массив из файла veleg PHP 1 16.10.2011 12:29
из файла в массив Arcueid1691 Общие вопросы C/C++ 4 01.06.2009 01:00