Formatowanie wyników w konsoli

0

Witam serdecznie, mam taki krótki kawałek kodu który będzie sprawdzał czy kilka serwerów z różnych lokalizacji odpowiada na pingi, aplikacja będzie w konsoli i teraz moje pytanie, czy można jakoś to tak sformatować żeby lokalizacja, adres, czas odpowiedzi i status były w osobnych kolumnach i równych odstępach ? Tak jak pisałem serwerów będzie kilka i chciałbym żeby to było w miarę czytelne.
Pozdrawiam i dziękuje za pomoc.


 try
                {
                    Ping myPing = new Ping();
                    PingReply reply = myPing.Send("192.168.8.1", 1000);
                    if (reply != null)
                    {
                        Console.WriteLine("Lokalizacja: Szczecin Handlowy" + " | " + "Addres IP: 192.168.8.1" + " | " + "Status: " + reply.Status + " | " + "Czas odpowiedzi: " + reply.RoundtripTime.ToString() + "ms");
                    }
                }
                catch
                {
                    Console.WriteLine("ERROR: You have Some TIMEOUT issue");
                }

0
Uczynny Polityk napisał(a):

Witam serdecznie, mam taki krótki kawałek kodu który będzie sprawdzał czy kilka serwerów z różnych lokalizacji odpowiada na pingi, aplikacja będzie w konsoli i teraz moje pytanie, czy można jakoś to tak sformatować żeby lokalizacja, adres, czas odpowiedzi i status były w osobnych kolumnach i równych odstępach ? Tak jak pisałem serwerów będzie kilka i chciałbym żeby to było w miarę czytelne.
Pozdrawiam i dziękuje za pomoc.


 try
                {
                    Ping myPing = new Ping();
                    PingReply reply = myPing.Send("192.168.8.1", 1000);
                    if (reply != null)
                    {
                        Console.WriteLine("Lokalizacja: Szczecin Handlowy" + " | " + "Addres IP: 192.168.8.1" + " | " + "Status: " + reply.Status + " | " + "Czas odpowiedzi: " + reply.RoundtripTime.ToString() + "ms");
                    }
                }
                catch
                {
                    Console.WriteLine("ERROR: You have Some TIMEOUT issue");
                }

Konkatenacja stringów to BARDZO zły pomysł, String.Format jest od tego co chcesz zrobić...

Pozdrawiam,
mr-owl

0

Nowa wersja umożliwia też coś takiego:

Console.WriteLine($"Status: {reply.Status} | Czas odpowiedzi: {reply.RoundtripTime} ms);

To się nazywa interpolated string.

0

Koledzy wyjaśnili ci jak sformatować to a co do twojego pytania to tak :) dla przykładu dla trzech:

 try
                {
                    Ping myPing = new Ping();
                    PingReply reply1 = myPing.Send("192.168.8.1", 1000);
                    PingReply reply2 = myPing.Send("192.168.8.2", 1000);
                    PingReply reply3 = myPing.Send("192.168.8.3", 1000);
                    if (reply != null)
                    {
                        Console.WriteLine($"Status: {reply1.Status} | Czas odpowiedzi: {reply1.RoundtripTime} ms \t \t  Status: {reply2.Status} | Czas odpowiedzi: {reply2.RoundtripTime} ms \t \t  Status: {reply3.Status} | Czas odpowiedzi: {reply3.RoundtripTime} ms");
                    }
                }
                catch
                {
                    Console.WriteLine("ERROR: You have Some TIMEOUT issue");
                }

Jak chcesz dynamicznie robić to możesz funkcję, która ci opakuje tego stringa ale uważaj bo okienko cmd ma swoje limity i nie wyświetlisz więcej informacji w jednej linii niż jest to możliwe

1 użytkowników online, w tym zalogowanych: 0, gości: 1