Jak napisać żeby set zwracał informację o błędzie gdy zostanie wprowadzona dana wartość?

0

witam
Otóż mam problem z programem mianowicie chcę żeby podzielił zdanie na wyrazy i gdy po podzieleniu będę chciał ustawić wyraz na "bo" to ma wyskakiwać błąd ale właśnie nie wiem dlaczego mi nie wychodzi.

namespace ConsoleApplication11
{
    class Program
    {
        static void Main(string[] args)
        {
            Zdanie zdanie = new Zdanie("To jest zdanie");
            zdanie[0] = "bo";
            Console.WriteLine(zdanie[0]);
            Console.ReadLine();
        }
    }
}
class Zdanie
{
    string[] slowa;
    public Zdanie(string zdanie) 
    {
            List<string> lista = new List<string>();
            this.slowa = zdanie.Split();
            foreach (string element in slowa)
            {
                Console.WriteLine(element);
            }
    } 
    public string this[int n] 
    {
        get
        {
            return slowa[n];
        }
        set
        {
            if (slowa[n] == "bo")
            {
                Console.WriteLine("Wprowadziles bo\nNacisnij klawisz aby wyjsc");
                Environment.Exit(0);
            }
            else
            {
                slowa[n] = value;
            }
        }
 
    }
}  
2

Może to zadziała:

if (value == "bo")
{
    Console.WriteLine("Wprowadziles bo\nNacisnij klawisz aby wyjsc");
    Environment.Exit(0);
}
0

dzieki wielkie działa :)
a czemu nie działał zapis

 if (slowa[n] == "bo")

bo nie rozumiem

0

Porównywałeś już coś co było pod indeksem [0] zamiast sprawdzać co nowego chcesz podstawić.

0

#Dlaczego wypisujesz komunikat o bledzie na konsole w setterze?
#Dlaczego tak brutalnie traktujesz ten blad (rowniez w setterze)?

0

to tylko tak przykładowo pisałem.
A gdzie lepiej by było wypisać taki komunikat ?

2
  1. Wyrzucic w tym setterze jakis ArgumentException.
  2. Wlozyc wywolanie go w blok try..catch.
  3. W catch obslugiwac blad, wyswietlac komunikat, zamykac aplikacje, whatever.
0

dzięki za podpowiedź

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