Прокомментировать использование ReadAllLines()
в комментарии ОП по вопросу ответа CSharpie; это может оказать огромное влияние на производительность, если MyFile.txt
- очень большой файл.
File.ReadAllLines().First()
будет на самом деле читать все линии, хранить их в string[]
, а затем взять первый. Поэтому, если ваш файл очень большой, он сохранит все эти строки в массиве, что может занять некоторое время.
Альтернативой и лучшим вариантом является просто открытие StreamReader
и чтение только первой строки. Правильная реализация будет;
String[] languages = new String[] { "english", "french", "german"};
string firstLine;
using(StreamReader reader = new StreamReader("MyFile.txt"))
{
firstLine = reader.ReadLine() ?? "";
}
if(languages.Contains(firstLine))
{
//...
}
Использование using
будет заботиться о закрытии и утилизации читателя. Также, используя ??
, убедитесь, что null
никогда не возвращается (и таким образом сохраняет вас ArgumentNullException
на Contains()
).
проверить это сообщение: http://stackoverflow.com/questions/9439733/read-only-the-first-few-lines-of-text-from-a-file – abdo