Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.61/18: Рейтинг темы: голосов - 18, средняя оценка - 4.61
Aumi
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 403
Завершенные тесты: 2
1

Последовательность не содержит элементов

29.01.2018, 13:32. Просмотров 3363. Ответов 15
Метки нет (Все метки)

Здравствуйте,

Есть текстовый файл в нем 3 строки
slovo1
slovo2
slovo3

на форуме находила такой код
C#
1
string secondLine = File.ReadLines((Application.StartupPath + "\\server.txt")).Skip(1).First();
Но 2 строку он считывает.Если поставить Skip(0), то выводит slovo1

Ошибка так выглядит
Последовательность не содержит элементов
Пробовала в одну строку писать, разделяя пробелами-не вышло
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2018, 13:32
Ответы с готовыми решениями:

Ввести n чисел. Содержит ли последовательность хотя бы одну пару равных соседних элементов
Здравствуйте, нужна помощь с решением задания в C#(консоли). Ввести n чисел. Содержит ли...

Определить содержит ли последовательность хотя бы одну пару равных соседних элементов
Пусть вводится последовательность из целых чисел, оканчивающаяся нулем и состоящая более чем из...

Определить, содержит ли последовательность хотя бы одну пару равных соседних элементов
дана последовательность из вещественных чисел которые вводятся по одному. за последним числом...

Определите, содержит ли последовательность хотя бы одну пару равных соседних элементов
Пусть вводится последовательность из целых чисел, оканчивающаяся нулем и состоящая более чем из...

15
sharpdev08
Заблокирован
29.01.2018, 14:02 2
А чего вы хотели добиться?
0
Aumi
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 403
Завершенные тесты: 2
29.01.2018, 14:15  [ТС] 3
sharpdev08, Мне нужно получить slovo2
1
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 357
Завершенные тесты: 2
29.01.2018, 14:18 4
Цитата Сообщение от Aumi Посмотреть сообщение
Мне нужно получить slovo2
Ну так рабочий же вариант
C#
1
 MessageBox.Show(File.ReadLines("server.txt").Skip(1).First());
1
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 357
Завершенные тесты: 2
29.01.2018, 14:19 5
Вот скрин
0
Миниатюры
Последовательность не содержит элементов  
Aumi
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 403
Завершенные тесты: 2
29.01.2018, 14:30  [ТС] 6
Sternman, если я полный путь пишу до файла, то норм

А Application.StartupPath + "\\server.txt" -не понимает. А мне нужно именно Application.StartupPath
Ниже код тоже не подходит.
C#
1
2
3
System.IO.StreamReader file =
                new System.IO.StreamReader(Application.StartupPath + @"\" + "server.txt");
   MessageBox.Show(File.ReadLines(file.ToString()).Skip(1).First());
0
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 357
Завершенные тесты: 2
29.01.2018, 14:35 7
Цитата Сообщение от Aumi Посмотреть сообщение
Ниже код тоже не подходит.
Не подходит по причине, что не подходит, или не рабочий потому что?
0
Миниатюры
Последовательность не содержит элементов  
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 357
Завершенные тесты: 2
29.01.2018, 14:46 8
Aumi, Если я правильно понял что вы хотите, то Application.StartupPath не в ту сторону работает. Он не отобразит путь к файлу который запустил файл, в котором нужно вывести slovo2.
0
Aumi
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 403
Завершенные тесты: 2
29.01.2018, 14:48  [ТС] 9
Sternman, Но у меня ошибка при запуске. И не выводит он сообщения
0
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 357
Завершенные тесты: 2
29.01.2018, 14:54 10
Aumi, правильно потому что ваше приложение запускается другим приложением возле которого лежит файл server. правильно понял? мне кажется, что вам нужно
C#
1
Directory.GetCurrentDirectory(); //вместо Application.StartupPath
1
kolorotur
Эксперт .NET
13264 / 10294 / 2675
Регистрация: 17.09.2011
Сообщений: 17,483
Завершенные тесты: 1
29.01.2018, 14:55 11
Цитата Сообщение от Aumi Посмотреть сообщение
C#
1
MessageBox.Show(File.ReadLines(file.ToString()).Skip(1).First());
Если у вас файл называется не System.IO.StreamReader, то вылетит ошибка, да.

C#
1
2
var file = Application.StartupPath + @"\" + "server.txt";
MessageBox.Show(File.ReadLines(file).Skip(1).First());
1
Aumi
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 403
Завершенные тесты: 2
29.01.2018, 15:20  [ТС] 12
Sternman, сейчас файл лежит у меня bin\release. У меня есть функция, когда там была одна строка в файле, то он читал спокойно. Если что то не так было, то и она бы не сработала
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
static public string NameServer()
        {
            int counter = 0;
            string line = null;
            string nameserver = null;
 
 
 
            System.IO.StreamReader file =
                new System.IO.StreamReader(Application.StartupPath + @"\" + "server.txt");
            while ((line = file.ReadLine()) != null)
            {
 
                nameserver = line;
                counter++;
            }
 
            file.Close();
 
 
            return nameserver;
        }
kolorotur, в отладке виден теперь путь правильный, а ошибка та же
0
kolorotur
Эксперт .NET
13264 / 10294 / 2675
Регистрация: 17.09.2011
Сообщений: 17,483
Завершенные тесты: 1
29.01.2018, 15:27 13
Цитата Сообщение от Aumi Посмотреть сообщение
в отладке виден теперь путь правильный, а ошибка та же
Значит проверьте файл на наличие более одной строки.
0
Sternman
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 357
Завершенные тесты: 2
29.01.2018, 15:35 14
Лучший ответ Сообщение было отмечено Aumi как решение

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
using System;
using System.IO;
using System.Linq;
using System.Windows.Forms;
namespace read
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
 
            MessageBox.Show(SecondLine());
        
        }
 
        private string SecondLine()
        {
            return File.ReadLines("server.txt").Skip(1).First();
        }
    }
}
C#
1
2
3
4
private string SecondLine()
        {
            return File.ReadLines(Application.StartupPath + @"\" + "server.txt").Skip(1).First();
        }
Так тоже работает. У вас проблема с файлом. Нажмите отображать все символы. И посмотрите что не так.

Добавлено через 7 минут
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
static public string NameServer()
{
            int counter = 0;
            string line = null;
            string nameserver = null;
            int numLine = 2;
 
 
            System.IO.StreamReader file =
                new System.IO.StreamReader(Application.StartupPath + @"\" + "server.txt");
            while ((line = file.ReadLine()) != null)
            {
                nameserver = line;
                counter++;
                if (counter == numLine)
                    break;
            }
 
            file.Close();
            return nameserver;
}
1
Aumi
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 403
Завершенные тесты: 2
30.01.2018, 09:38  [ТС] 15
Sternman, kolorotur, попробовала создать отдельно новый проект и новый файл- все норм. Возможно и правда дело было с тем файлом
0
kolorotur
Эксперт .NET
13264 / 10294 / 2675
Регистрация: 17.09.2011
Сообщений: 17,483
Завершенные тесты: 1
30.01.2018, 10:16 16
Цитата Сообщение от Aumi Посмотреть сообщение
Возможно и правда дело было с тем файлом
Возможно?!
Почему бы не скопировать путь к этому файлу из кода, не открыть его в блокноте и не удостовериться наверняка?
0
30.01.2018, 10:16
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.01.2018, 10:16

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Ввести n чисел. Содержит ли последовательность хотя бы одну пару равных соседних элементов
Ввести n чисел. Содержит ли последовательность хотя бы одну пару равных соседних элементов

Дана последовательность целых чисел, за которой следует ноль. Определите, содержит ли последовательность числа, являющиеся степенями 2
Задача: Дана последовательность целых чисел, за которой следует ноль. Определите, содержит ли...

Вводится последовательность целых чисел,0 –конец последовательности. Определить, содержит ли последовательность хотя бы три отрицательных четных числа
Составить алгоритм решения задачи и написать программу на языке С++. В алгоритме и ...

Как исправить ошибку "Последовательность не содержит элементов" при создании контроллера?
По новой установила Visual Studio. После создания веб-приложения ASP.NET Core, при добавлении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.