Непонятно, какую ошибку вы получаете, но одна проблема, которую я заметил, заключается в том, что вы не предоставляете переменную для строки. Формат, который, на мой взгляд, бесполезен там ..
Пример hostnames.csv is что-то вроде этого я предполагаю:
www.google.com,www.somebadu-rlwhichcannot..com,www.stackoverflow.com
var filePath = @"c:\test\hostnames.csv"; // change it to your source
var filePathOutput = @"c:\test\hostnamesOutput.csv"; // use separate output file so you would not overwrite your source..
var ping = new Ping();
var hostNames = new List<string>();
using (var reader = new StreamReader(filePath))
{
while (!reader.EndOfStream)
{
var line = reader.ReadLine();
hostNames = line.Split(',').ToList();
}
}
var goodPing = new List<string>();
foreach (var singleComputer in hostNames)
try
{
var pingResult = ping.Send(singleComputer);
if (pingResult.Status == IPStatus.Success)
{
goodPing.Add(singleComputer);
}
}
catch (Exception e)
{
// host was not in a correct format or any other exception thrown....
// do whatever error handling you want, logging etc...
}
var csv = new StringBuilder();
foreach (var hostname in hostNames)
{
var resultText = goodPing.Contains(hostname) ? "Success" : "Failed";
var newLine = string.Format("{0},{1}", hostname, resultText);
csv.AppendLine(newLine);
}
File.WriteAllText(filePathOutput, csv.ToString());
Я не пробовал на IDE, но он должен делать то, что вы пытаетесь сделать. Кажется, вы скопировали, вставили этот код откуда-то и пытались манипулировать им, не понимая. Я бы посоветовал убедиться, что вы понимаете это построчно, почему он используется, как он используется, прежде чем начать его использовать. В противном случае вам всегда будет нужен кто-то, чтобы написать код для вас!
Вывод будет (в Excel):
![enter image description here](https://i.stack.imgur.com/RUG7R.png)