Przerwanie funkcji public static C#

0

Cześć,
Potrzebuję przerwać funkcję public static. W public void wystarczy komenda "return", a tutaj...?

0

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.
}
0

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ę.

0

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;
0

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.

1

Czyli tak jak pisałem, możesz użyć

return null;
0

Dziękuję, o to mi chodziło. Wszystko elegancko! :)

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