Definiowanie zmiennej w instrukcji warunkowej IF

0

Witam.
Mam problem z definicją zmiennej w warunku IF.

namespace Zadanie
{
public partial class Form1 : ApplicationFormBase
    {
private void button1_Click_1(object sender, EventArgs e)
        {
if (tulodol == "O87*3.5")
            {
                double srrury = 87;
...
n1.StartPoint.X =  srrury / 2 + 1;
            }
         }
     }
}

Powyższy kod działa.
Problem pojawia się gdy chciałbym zakończyć warunek IF przed użyciem zmiennej srrury jak pokazuje poniżej.

namespace Zadanie
{
public partial class Form1 : ApplicationFormBase
    {
private void button1_Click_1(object sender, EventArgs e)
        {
if (tulodol == "O87*3.5")
            {
                double srrury = 87;
             }
...
n1.StartPoint.X =  srrury / 2 + 1;
         }
     }
}

W tym przypadku nie zostaje wykryta zmienna srrury.
Jak zdefiniować zmienną ssrury po wybraniu tulodol z comboboxa aby widać ją było zarówno w tym samym voidzie jak i w innych. Próbowałem static void ale tam nie da się stworzyć warunku if bo odnoszę się do danych z formularza a one nie są statyczne?. Jestem bardzo początkujący i staram się to zrozumieć na praktycznych przykładach.

1

A jakbyś tą zmienną utworzył przed ifem?

0

Ona zależy od wyboru z comboboxa. To jest dopiero pierwszy warunek if'a kolejne to np. Gdy tulodol = O673,5 to srrury = 67. Nie rozumiem czemu zmienna istnieje tylko na potrzeby instrukcji warunkowej a nie mogę się do niej odwołać po opuszczeniu instrukcji.

1
wi3si0 napisał(a):

Ona zależy od wyboru z comboboxa. To jest dopiero pierwszy warunek if'a kolejne to np. Gdy tulodol = O673,5 to srrury = 67. Nie rozumiem czemu zmienna istnieje tylko na potrzeby instrukcji warunkowej a nie mogę się do niej odwołać po opuszczeniu instrukcji.

Zasięg zmiennych, deklarujesz zmienną i ona działa w bloku { }, skoro wychodzisz potem z ifa to jej już nie ma. Zadeklaruj ją wcześniej a w ifie przypisz jej wartość.

Masz przykład na screenie:

screenshot-20190317155039.png

A jak zamienie komentarze to sikalafą

screenshot-20190317155347.png

0

Dziękuję za pomoc.
Ostatecznie wprowadziłem klasę a w niej zmienna publiczną. Później poprzez if nadałem jej wartość. Następnie użyłem tej zmiennej ale przez odwołanie do klasy. Wszystko działa jak należy.

screenshot-20190317195406.png
screenshot-20190317195508.png

0
wi3si0 napisał(a):

Dziękuję za pomoc.
Ostatecznie wprowadziłem klasę a w niej zmienna publiczną. Później poprzez if nadałem jej wartość. Następnie użyłem tej zmiennej ale przez odwołanie do klasy. Wszystko działa jak należy.

screenshot-20190317195406.png
screenshot-20190317195508.png

Na pewno to Ci potrzebne? Jak zmienną zadeklarujesz w tej klasie co jest if to przez tą klasę możesz się do niej odwołać

0

Niestety tak nie działa. Zmienna działa dopiero jak jest zadana jako publiczna statyczna w osobnej klasie .
jak chciałem wstawić ją do tej klasy co mam cały program to:
screenshot-20190319183943.png
screenshot-20190319184011.png
screenshot-20190319184034.png
screenshot-20190319184049.png

2

Weź jakąś książkę, bo to co robisz to jest grzebanie na ślepo. Masz w komunikacie co powinieneś zrobić. Powinieneś zmiennej srrury przypisać jakąś wartość, bo przed blokiem IF masz tylko deklaracje. Tam co ci podkreśla to jakim twoim zdaniem zmienna srrury ma wartość? No nie wiadomo właśnie bo jej nie zainicjalizowałeś.

0

Dobrze piszesz Trzeba najpierw zainwestować w jakąś książkę, nauczyć się czytać po angielsku. W necie wszystko jest napisane

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