Ожидаете ли вы, что файл будет особенно большим? Если нет, то самым простым способом было бы просто прочитать все это:
using (StreamReader sr = new StreamReader("C:\\Work\\list.txt"))
{
string contents = sr.ReadToEnd();
if (contents.Contains(args[0]))
{
// ...
}
}
Или:
string contents = File.ReadAllText("C:\\Work\\list.txt");
if (contents.Contains(args[0]))
{
// ...
}
Кроме того, вы можете прочитать это построчно:
foreach (string line in File.ReadLines("C:\\Work\\list.txt"))
{
if (line.Contains(args[0]))
{
// ...
// Break if you don't need to do anything else
}
}
Или даже более LINQ-подобный:
if (File.ReadLines("C:\\Work\\list.txt").Any(line => line.Contains(args[0])))
{
...
}
Обратите внимание, что ReadLines
доступен только из .NET 4, но вместо этого вы могли бы достаточно просто вызвать TextReader.ReadLine
в цикле.