Dzień dobry,
Chcę stworzyć program w którym będą wpisywane od 1 do 3 znaków (cyfry oraz znak "-"). Tu właśnie pojawia się problem, gdyż istnieją 2 możliwości które zakłócą działanie programu, a mianowicie: 1) użytkownik poda sam znak "-"; 2) użytkownik wstawi znak "-" jako drugi bądź trzeci znak w przypadku ciągu dłuższego niż 1 znak.
private void button1_Click(object sender, EventArgs e)
{
string napis = textBox1.Text;
char[] abc = new char[napis.Length];
abc = napis.ToCharArray();
int rozmiar = napis.Length;
if (abc[0] == '-' && rozmiar == 1) { textBox2.Text = "zle"; }
else
{
if (abc[1] == '-' && rozmiar == 2) { textBox2.Text = "zle"; }
else
{
if ((abc[1] == '-' || abc[2] == '-') && rozmiar == 3) { textBox2.Text = "zle"; }
else { textBox2.Text = "dobrze"; }
}
}
}
Błąd pojawia się w przypadku wpisania ciągu krótszego niż trzy znaki, jest on opisany jako 'IndexOutOfRangeException'. Niestety nie mam pomysłu jak to naprawić i byłbym bardzo wdzięczny za pomoc. Wydaje mi się, że problem leży po stronie komendy .Length (a właściwie to po mojej niewiedzy). Z góry dziękuję za odpowiedź oraz pozdrawiam serdecznie.