.NET 4.x Ссылка на объект не указывает на экземпляр класса - C#
Формулировка задачи:
Я суть ошибки понимаю, но так как Я новичёк не могу индефицировать где же конкретно Я не сделал указание на экземпляр?
Кода не много:
И вот скриншот с ошибкой
namespace PingMonitor
{
class ReadFile
{
public void ReadAndPing(string path)
{
File.OpenRead(path);
ConsoleKeyInfo btn = new ConsoleKeyInfo();
for (int i = 0; ; i++) // Начало БЕСКОНЕЧНОГО цикла
{
foreach (string ip in File.ReadLines(path)) //читаем в ip строки из файла в path
{
//Console.WriteLine(ip);
Ping pingSender = new Ping();
PingOptions options = new PingOptions();
options.Ttl = 60; //Продолжительность жизни пакета в секундах
int timeout = 120; //Таймаут выводется в ответе reply.RoundtripTime
string data = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; //Строка длиной 32 байта
byte[] buffer = Encoding.ASCII.GetBytes(data); //Преобразование строки в байты, выводится reply.Buffer.Length
PingReply reply = pingSender.Send(ip, timeout, buffer, options);
Console.WriteLine("Сервер: {0} Время={1} TTL={2}", reply.Address.ToString(), reply.RoundtripTime, reply.Options.Ttl); //Выводим всё на консоль
}
if (Console.KeyAvailable == true)
{
btn = Console.ReadKey(true);
if (btn.Key == ConsoleKey.X)
{
break;
}
}
}
}
}
}Решение задачи: «.NET 4.x Ссылка на объект не указывает на экземпляр класса»
textual
Листинг программы
if (reply.Status == IPStatus.Success)
{
Console.WriteLine("Address: {0}", reply.Address.ToString());
Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment);
Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);
}