Chciałbym wiedzieć, czy możliwe jest użycie wyrażenia jako zmiennej/parametru w języku C#. Chciałbym zrobić coś takiego:C#: Czy istnieje sposób użycia wyrażeń jako zmiennej/parametru?
int x = 0;
public void g()
{
bool greaterThan = f("x>2");
bool lessThan = f("x<2");
}
public bool f(Expression expression)
{
if(expression)
return true;
else
return false;
}
Oto co nie chcę zrobić:
int x = 0;
public void g()
{
bool greaterThan = f(x, '<', 2);
}
public bool f(int x, char c, int y)
{
if(c == '<')
return x < y;
if(c == '>')
return x > y;
}
Naprawdę co mi chodzi to sposób poruszania się za pomocą przełącznika lub seria instrukcji if dla każdego z: <> < => = ==! =. Czy jest jakiś sposób na zrobienie tego?
Edytuj: Załóżmy, że wyrażenie jest łańcuchem, np. "X < 2". Czy istnieje sposób, aby przejść od napisu do predykatu bez użycia serii instrukcji if na warunek?
Cool. Edytowałem moje pytanie nieco w następujący sposób: Załóżmy, że wyrażenie jest ciągiem, np. "X <2". Czy istnieje sposób przejścia od napisu do predykatu bez użycia serii instrukcji if na tej postaci? –
Jeśli jest to ciąg znaków, nie będzie łatwej i szybkiej odpowiedzi. Ale jeśli chcesz napisać f (x> 2), to po prostu spraw, aby f wziął parametr boolowski. – Samuel
Drats, ok. Dzięki za odpowiedzi. –