Cześć,
Potrzebuję przerwać funkcję public static. W public void wystarczy komenda "return", a tutaj...?
public static
co? Jaki typ ma zwracać ta funkcja.
Jeżeli masz tylko public static
to kod jest nieprawidłowy.
Jeżeli chodzi o return
to nie ma znaczenia czy metoda jest publiczna, prywatna, statyczna czy nie; ważny jest typ jaki metoda ma zwracać.
W przypadku void
samo return
wystarczy, co innego gdybyś miał metodę:
private int Foo() { ... }
Wtedy musisz zwrócić int
więc samo return
to za mało. Dla przykładu:
private int Foo()
{
return 0; // Zwaraca zero
Console.Log("Hello World"); // Ten kod jest nieosiągalny.
}
Poniżej funkcja:
public static Wyniki obliczenia(DataGridView dgv, int index_kolumny, int index_wiersza)
{
Wyniki wynik = new Wyniki();
if(warunek == true)
return wynik;
else
return(??);
}
Zwracam:
public class Wyniki
{
public string a;
public string b;
}
Jeśli warunek wewnątrz ciała funkcji zostanie spełniony, wówczas zwraca wynik klasy Wyniki
. Jeżeli warunek nie będzie spełniony chcę przerwać funkcję.
Twoja metoda musi zwrócić typ Wyniki
albo null
.
Pytanie czy jeżeli warunek nie jest spełniony to istnieją jakieś wyniki? Bo jeżeli tak to zwracasz wynik
, w przeciwnym razie gdy nie ma wyników robisz:
return null;
Jeśli warunek nie jest spełniony to nie zwracam wyniku, ale niestety w dalszym ciągu wewnątrz funkcji działa pętla foreach. Stąd szukam sposobu na przerwanie funkcji.
Czyli tak jak pisałem, możesz użyć
return null;
Dziękuję, o to mi chodziło. Wszystko elegancko! :)