Skocz do zawartości
R.T. Shadow

[c#] Problem Z Konsolą

Rekomendowane odpowiedzi

Chciałbym wczytać do programu liczbę typu int przez konsolę. Chodzi mi o odpowiednik poniższego kodu z C++:

int x;std::cin>>x;

Próbowałem w ten sposób:

 

int x=System.Console.Read();

ale mimo iż program się kompiluje, to nie działa poprawnie. Używam Visual Studio 2005 EE.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Błąd jest dlatego, że nie rzutujesz stringa do int. Rezultatem System.Console.Read() jest string.

Najprościej można to zrobić tak:

int i = Convert.ToInt32(Console.ReadLine());
Ale ten sposób jest beznadziejny.

 

int i = 0; int.TryParse(Console.ReadLine(),out i);

To jest znacznie lepszy sposób. Bo w metodzie TryParse jest już zawarte kilka innych poleceń m.in. sprawdzanie wyjątków we wprowadzonym tekście.

 

Zmienna int i zostaje ustalona defaultowo na 0. Jeśli instrukcji TryParse nie uda sie przerobić podanego tekstu na liczbę całkowitą to zmienna int i nie zmienia się zostaje tam 0. Jeśli TryParse przerobi podany tekst na liczbę całkowitą to właśnie ta liczba zostaje wpsiana do zmiennej int i. Najprostrza i najskteczniejsza metoda na pobieranie liczb, i ważne jest to że nie zostaje wyrzucony wyjątek.

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Dołącz do dyskusji

Możesz dodać zawartość już teraz a zarejestrować się później. Jeśli posiadasz już konto, zaloguj się aby dodać zawartość za jego pomocą.

Gość
Dodaj odpowiedź do tematu...

×   Wklejono zawartość z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Odnośnik został automatycznie osadzony.   Przywróć wyświetlanie jako odnośnik

×   Przywrócono poprzednią zawartość.   Wyczyść edytor

×   Nie możesz bezpośrednio wkleić grafiki. Dodaj lub załącz grafiki z adresu URL.

Ładowanie


×
×
  • Dodaj nową pozycję...