Zamiana string na int - sprawdzenie czy możliwe

0

Witam kolegów i koleżanki :)

Mam metodę która ma odczytać odpowiedź z terminala wagowego (komunikacja poprzez klienta TCP):

 public static string OdczytDanychZWagi(byte[] WysylaneZapytanie)
        {
            // Wysyłka komunikatu do podłączonego serwera TCP
            byte[] GotoweZapytanie = KomunikatyWspolne.PoczatekKomunikacji.Concat(WysylaneZapytanie).Concat(KomunikatyWspolne.KoniecKumunikacji).ToArray();
            NetworkStream stream = KlientTCP.GetStream();
            stream.Write(GotoweZapytanie, 0, GotoweZapytanie.Length);

            // Otrzymanie odpowiedzi

            // Buffor na odpowiedz
            byte[] odpowiedz = new Byte[256];

            // String do przechowywania odpowiedzi w ASCII
            String responseData = String.Empty;

            // Odczyt danych z serwera
            Int32 bytes = stream.Read(odpowiedz, 0, odpowiedz.Length);
            responseData = System.Text.Encoding.ASCII.GetString(odpowiedz, 0, bytes);
            return responseData;
        }

Jest zdefiniowane że odpowiedź jest stringiem i taka jest zwracana. Są przypadki gdzie musiałbym uzyskać odpowiedź jako int. Nie ma problemu żebym napisał taką metodę. Problem leży w czymś innym - jak wywołam tą metodę "za wcześnie" to uzyskam odpowiedź np "OK}" która w żaden sposób nie nadaje się do przekonwertowania do int.
Mój problem/pytanie - jak zabezpieczyć program żeby czekał aż odpowiedź będzie "nadawała" się do konwersji string-int i dopiero wtedy zwracał wartość ??
Czy zrobić to w samej metodzie czy poza metodą wykonać sprawdzanie i konwersję i zapętlić sprawdzanie aż odpowiedź będzie wartością która nada się do konwersji ??
Będę wdzięczny ze wszystkie sugestie.

0

To już wygodniej użyć chyba int.TryParse(string s, out int i).

0

@szymon7500: zaprzęgnięcie do tak banalnej walidacji wyjątków to po pierwsze błąd projektowy, po drugie niepotrzebnie komplikuje kod (KISS), po trzecie spowalnia kod.

0

Dzięki za sugestie i pomoc.

Miło że jest forum na którym początkujący programiści tacy jak ja nie są zlewani i linczowani tylko bardziej doświadczeni koledzy pomagają :))

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