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

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

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

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

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

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

Ошибка так выглядит
Последовательность не содержит элементов
Пробовала в одну строку писать, разделяя пробелами-не вышло
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.01.2018, 13:32
Ответы с готовыми решениями:

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

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

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

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

15
Заблокирован
29.01.2018, 14:02 2
А чего вы хотели добиться?
0
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 406
29.01.2018, 14:15  [ТС] 3
sharpdev08, Мне нужно получить slovo2
1
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 360
29.01.2018, 14:18 4
Цитата Сообщение от Aumi Посмотреть сообщение
Мне нужно получить slovo2
Ну так рабочий же вариант
C#
1
 MessageBox.Show(File.ReadLines("server.txt").Skip(1).First());
1
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 360
29.01.2018, 14:19 5
Вот скрин
0
Миниатюры
Последовательность не содержит элементов  
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 406
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
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 360
29.01.2018, 14:35 7
Цитата Сообщение от Aumi Посмотреть сообщение
Ниже код тоже не подходит.
Не подходит по причине, что не подходит, или не рабочий потому что?
0
Миниатюры
Последовательность не содержит элементов  
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 360
29.01.2018, 14:46 8
Aumi, Если я правильно понял что вы хотите, то Application.StartupPath не в ту сторону работает. Он не отобразит путь к файлу который запустил файл, в котором нужно вывести slovo2.
0
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 406
29.01.2018, 14:48  [ТС] 9
Sternman, Но у меня ошибка при запуске. И не выводит он сообщения
0
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 360
29.01.2018, 14:54 10
Aumi, правильно потому что ваше приложение запускается другим приложением возле которого лежит файл server. правильно понял? мне кажется, что вам нужно
C#
1
Directory.GetCurrentDirectory(); //вместо Application.StartupPath
1
Эксперт .NET
13614 / 10520 / 2770
Регистрация: 17.09.2011
Сообщений: 17,867
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
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 406
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
Эксперт .NET
13614 / 10520 / 2770
Регистрация: 17.09.2011
Сообщений: 17,867
29.01.2018, 15:27 13
Цитата Сообщение от Aumi Посмотреть сообщение
в отладке виден теперь путь правильный, а ошибка та же
Значит проверьте файл на наличие более одной строки.
0
57 / 58 / 28
Регистрация: 10.01.2018
Сообщений: 360
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
19 / 31 / 14
Регистрация: 08.10.2015
Сообщений: 406
30.01.2018, 09:38  [ТС] 15
Sternman, kolorotur, попробовала создать отдельно новый проект и новый файл- все норм. Возможно и правда дело было с тем файлом
0
Эксперт .NET
13614 / 10520 / 2770
Регистрация: 17.09.2011
Сообщений: 17,867
30.01.2018, 10:16 16
Цитата Сообщение от Aumi Посмотреть сообщение
Возможно и правда дело было с тем файлом
Возможно?!
Почему бы не скопировать путь к этому файлу из кода, не открыть его в блокноте и не удостовериться наверняка?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
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.