2016-11-07 4 views
0

У меня есть Filer с именем names.txt и со следующими даннымиC# Как читать файл с пространством и другими персонажами, как/

David One And Two/Three 
Alex One Two Four And Five/Six 
Amanda Two Seven/Ten 
Micheal Seven/Nine 

А вот мой код:

string[] Name = File.ReadAllLines("Names.txt", Encoding.Default); 

и Я хочу, чтобы вернуть все строки в виде строки, я имею в виду

"David One And Two/Three" as one string 
"Alex One Two Four And Five/Six" as one string 
"Amanda Two Seven/Ten" as one string 
"Micheal Seven/Nine" as one string .. 

я имею в виду Когда я бегу

for(int i = 0; i < Name.Length, i++) 
{ 
    Consol.WriteLine(Name[i]); 
} 

и выход должен быть

David One And Two/Three 
Alex One Two Four And Five/Six 
Amanda Two Seven/Ten 
Micheal Seven/Nine 

Но то, что я получаю

David One 
Alex 
Amanda Two 
Micheal 

и Consol.WriteLine (name.length) должно быть 4, но я получаю 6 не знаю Зачем. Даже если файл пуст я name.length 6

Я имею в виду, как если бы это был как этот

string[] Name = {"David One And Two/Three", "Alex One Two Four And Five/Six", "Amanda Two Seven/Ten", "Micheal Seven/Nine"}; 

Пожалуйста, помогите мне, что I'am делает неправильно? Я пробовал в консоли и windowsForm, но та же проблема

+1

Какая форма строк в файле? lf или crlf? – clarkitect

+1

Почему бы не разделить на «\ n» или даже использовать File.Readlines – mybirthname

+0

@mybirthname. Не каждая строка имеет «\» У меня больше строк без \, но с пробелами ... –

ответ

0

Копировать/Вставить код, исправил опечатки и дал файлу File.ReadAllLines полный путь к файлу. Работает отлично.

static void Main(string[] args) 
    { 
     string[] Name = File.ReadAllLines("M:\\StackOverflowQuestionsAndAnswers\\40472088\\data.txt", Encoding.Default); 
     for (int i = 0; i < Name.Length; i++) 
     { 
      Console.WriteLine(Name[i]); 
     } 
     Console.ReadLine(); 
    } 

Console Output

David One And Two/Three 
Alex One Two Four And Five/Six 
Amanda Two Seven/Ten 
Micheal Seven/Nine 

Чтобы завершить мой комментарий о вашем ForLoop, вот как вы его набрали в вашем описании проблемы:

for(int i = 0; i < Name.Length, i++) 
{ 
    Consol.WriteLine(Name[i]); 
} 

Это должно быть больше, как это:

for (int i = 0; i < Name.Length; i++) 
{ 
    Console.WriteLine(Name[i]); 
} 

Помощь мы помогаем вам ... Скопируйте/Вставьте свой код.

+1

Спасибо за -1 без комментариев, чтобы поддержать его. –