Co operator "= > " oznacza w właściwości w C#? [duplikat]
To pytanie ma już odpowiedź tutaj:
Co oznacza ten kod?
public bool property => method();
6 answers
Jest to właściwość złożona z wyrażeń , nowa składnia właściwości obliczeniowych wprowadzona w C# 6, która pozwala na tworzenie właściwości obliczeniowych w taki sam sposób, jak w przypadku wyrażenia lambda. Składnia ta jest równoważna
public bool property {
get {
return method();
}
}
Podobna składnia działa również dla metod:
public int TwoTimes(int number) => 2 * number;
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-27 10:41:52
To wyrażenie jest własnością. Zobacz na przykład MSDN . To tylko skrót od
public bool property
{
get
{
return method();
}
}
Możliwe są również funkcje wyrażenia:
public override string ToString() => string.Format("{0}, {1}", First, Second);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-29 17:03:38
Jak niektórzy wspominali, jest to nowa funkcja wprowadzona najpierw do C # 6, rozszerzyli jej użycie w C# 7.0 aby używać jej z getterami i seterami, możesz również użyć składni wyrażeń z metodami takimi jak:
static bool TheUgly(int a, int b)
{
if (a > b)
return true;
else
return false;
}
static bool TheNormal(int a, int b)
{
return a > b;
}
static bool TheShort(int a, int b) => a > b; //beautiful, isn't it?
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-23 07:39:23
=>
używany w własności jest expression body
. Zasadniczo krótszy i czystszy sposób na napisanie nieruchomości tylko getter
.
public bool MyProperty {
get{
return myMethod();
}
}
Jest tłumaczone na
public bool MyProperty => myMethod();
Jest o wiele prostszy i czytelniejszy, ale możesz używać tylko tego operatora z C # 6 i tutaj znajdziesz szczegółową dokumentację dotyczącą ciała wyrażenia.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-27 12:40:51
To wyrażenie jest uproszczone.
public string Text =>
$"{TimeStamp}: {Process} - {Config} ({User})";
Reference; https://msdn.microsoft.com/en-us/magazine/dn802602.aspx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-27 15:23:02
Jest to właściwość wyrażeniowa. Może być stosowany jako uproszczenie z getterów Właściwości lub deklaracji metody. Od C # 7 został również rozszerzony na inne typy elementów, takie jak konstruktory, finalizery, ustawiacze właściwości i indeksery.
Sprawdź dokumentację MSDN, Aby uzyskać więcej informacji.
" definicje ciała wyrażeń pozwalają dostarczyć implementację członka w bardzo zwięzłej, czytelnej formie. Można użyć definicji ciała wyrażenia, gdy Logika dla dowolnego wspierany element, taki jak Metoda lub właściwość, składa się z pojedynczego wyrażenia."
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-05-24 13:39:37