Pytania otagowane jako c#-7.0

Wersja języka C # wydana w 2017 roku, która dodała krotki wartości, funkcje lokalne, podstawowe dopasowywanie wzorców, odwołania lokalne i zwroty, async main i różne inne nowe funkcje. W większości przypadków należy również określić tag C #.



4
Funkcja lokalna vs Lambda C # 7.0
Patrzę na nowe implementacje w C # 7.0 i wydaje mi się interesujące, że zaimplementowały funkcje lokalne, ale nie mogę sobie wyobrazić scenariusza, w którym funkcja lokalna byłaby preferowana nad wyrażeniem lambda i jaka jest różnica między nimi. Rozumiem, że lambdy są anonymousfunkcjami, podczas gdy funkcje lokalne nie są, ale …
178 c#  function  lambda  c#-7.0 



2
Nieparzysta instrukcja składni powrotu
Wiem, że może to brzmieć dziwnie, ale nie wiem nawet, jak przeszukać tę składnię w Internecie, a także nie jestem pewien, co dokładnie oznacza. Więc obejrzałem trochę kodu MoreLINQ, a potem zauważyłem tę metodę public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) { if (source == …
106 c#  .net  c#-7.0 

4
Nie można zwrócić krotki z metody przy użyciu programu Visual Studio 2017 i C # 7.0
Zainstalowałem Visual Studio 2017 Community, które zostało wydane tydzień temu i zacząłem odkrywać nowe funkcje C # 7. Stworzyłem więc prostą metodę, która zwraca dwie wartości: public class Program { public static void Main(string[] args) { (int sum, int count) a = ReturnTwoValues(); } static (int sum, int count) ReturnTwoValues() …

3
TryParse bez parametru var
Nowa funkcja w C # 6.0 pozwala zadeklarować zmienną wewnątrz metody TryParse. Mam kod: string s = "Hello"; if (int.TryParse(s, out var result)) { } Ale otrzymuję błędy kompilacji: Co robię źle? PS: w ustawieniach projektu są ustawione C # 6.0 i .NET Framework 4.6.
93 c#  c#-6.0  c#-7.0 

2
Czy w C # można zdefiniować alias do krotki wartości z nazwami?
Wiem, że można zdefiniować aliasy w C # za pomocą słowa kluczowego using . na przykład using ResponseKey = System.ValueTuple<System.Guid, string, string>; Czy jest jednak możliwe zdefiniowanie jednego przy użyciu nowej składni dla krotek wartości? using ResponseKey = (Guid venueId, string contentId, string answer); Wydaje się, że ta składnia nie …
92 c#  c#-7.0 

3
przełącznik z dziwnym zachowaniem var / null
Biorąc pod uwagę następujący kod: string someString = null; switch (someString) { case string s: Console.WriteLine("string s"); break; case var o: Console.WriteLine("var o"); break; default: Console.WriteLine("default"); break; } Dlaczego instrukcja switch jest zgodna case var o? Rozumiem, że case string snie pasuje, kiedy, s == nullponieważ (skutecznie) (null as string) …

6
C # 7: podkreślenie (_) i gwiazdka (*) w zmiennej Out
Czytałem o nowych funkcjach zmiennych wyjściowych w C # 7 tutaj . Mam dwa pytania: To mówi Zezwalamy również na „discards” jako parametry out, w postaci a _, aby pozwolić Ci zignorować parametry, które Cię nie interesują: p.GetCoordinates(out var x, out _); // I only care about x P: Wydaje …
79 c#  c#-7.0 
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.