«c#-7.0» etiketlenmiş sorular

Değer tuples, yerel işlevler, temel desen eşleştirme, ref yereller ve dönüşler, asenkron ana ve diğer çeşitli yeni özellikler katan 2017'de piyasaya sürülen C # sürümü. Çoğu durumda c # etiketini de belirtmelisiniz.

10
Önceden tanımlı 'System.ValueTuple´2´ türü tanımlanmadı veya içe aktarılmadı
Visual Studio 15 Preview 3'ü yükledim ve yeni grup özelliğini kullanmaya çalıştım static void Main(string[] args) { var x = DoSomething(); Console.WriteLine(x.x); } static (int x, int y) DoSomething() { return (1, 2); } Derlediğim zaman hatayı alıyorum: Önceden tanımlı 'System.ValueTuple´2´ türü tanımlanmadı veya içe aktarılmadı Göre blog post , …


4
Yerel işlev vs Lambda C # 7.0
C # 7.0 yeni uygulamalara bakıyorum ve yerel işlevleri uyguladıklarını ilginç buluyorum, ancak bir lambda ifadesi yerine yerel bir işlev tercih edilecek bir senaryo hayal edemiyorum ve ikisi arasındaki fark nedir. Lamdaların anonymousbu arada fonksiyonlar olduğunu anlıyorum , ancak yerel fonksiyonlar değil, ancak yerel fonksiyonun lambda ifadelerine göre avantajları olduğu …
178 c#  function  lambda  c#-7.0 



2
Tek dönüş sözdizimi ifadesi
Bunun garip gelebileceğini biliyorum ama bu sözdizimini internette nasıl arayacağımı bile bilmiyorum ve tam olarak ne anlama geldiğinden de emin değilim. Bu yüzden bazı MoreLINQ kodunu izledim ve sonra bu yöntemi fark ettim public static IEnumerable<TSource> DistinctBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector, IEqualityComparer<TKey> comparer) { if (source == null) …
106 c#  .net  c#-7.0 


3
Var param olmadan TryParse
C # 6.0'daki yeni bir özellik, TryParse yöntemi içinde değişken bildirmeye izin verir. Bazı kodum var: string s = "Hello"; if (int.TryParse(s, out var result)) { } Ancak derleme hataları alıyorum: Neyi yanlış yapıyorum? Not: proje ayarlarında C # 6.0 ve .NET framework 4.6 ayarlanmıştır.
94 c#  c#-6.0  c#-7.0 

2
C # 'da isimlerle bir değer demetine bir diğer ad tanımlayabilir misiniz?
C # 'da using anahtar sözcüğü ile takma adlar tanımlamanın mümkün olduğunu biliyorum . Örneğin using ResponseKey = System.ValueTuple<System.Guid, string, string>; Bununla birlikte, değer demetleri için yeni sözdizimini kullanarak birini tanımlamak mümkün müdür? using ResponseKey = (Guid venueId, string contentId, string answer); Bu sözdizimi işe yaramıyor gibi görünüyor. Olmalı mı?
92 c#  c#-7.0 

3
var / null garip davranışla değiştir
Aşağıdaki kod verildiğinde: 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; } Switch ifadesi neden eşleşiyor case var o? Benim anlayışıma göre case string s, s == null(etkili) (null as string) != nullyanlış olarak değerlendirildiğinde eşleşmiyor …
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.