Správičky 2 825 Blogy 948 Fórum 50 364

Diskusia, posledné príspevky

Zaujímavosti zo sveta

13.05 Antispam report Exchange 2013/…
blogCZSK
Nedávno jsem se setkal s prosbou, zda je možno udělat report nad funkcionalitou antispamu Exchange a trošku jsem narazil na problém, jak dos…
13.05 Pozvánka: konference, workshop…
blogCZSK
Níže jsme pro vás připravili přehled akcí, které jsou pro vás připraveny v příštích několika týdnech. Coding Bootcamp 19. 5. 2016 – Praha V …
12.05 Pozvánka: Nástroje a služby pr…
blogCZSK
Od vývoje přes nasazení po správu napříč platformami Rádi byste optimalizovali vývoj svých aplikací na různé platformy a nevíte jak? Zajímá …
12.05 System Center Configuration Ma…
blogCZSK
V minulém díle jsme nainstalovali SQL Server, který je nutný pro běh Configuration Manageru. Dnes nás čeká instalace WSUS, což je produkt, j…
11.05 Hovory od křivého stolu (5)
blogCZSK
A máme tu další díl českého video seriálu Hovory od křivého stolu (5). Pro toto vydání HKS jsme se ponořili do hlubin naší budovy a natočili…
11.05 Pozvánka: Coding Bootcamp Meet…
blogCZSK
V rámci pražského Coding Bootcampu budete mít možnost se naučit vše, co potřebuje moderní webový vývojář. Abyste měli představu, co bude náp…
10.05 Zajímavé kurzy a videa–MVA a C…
blogCZSK
I tento měsíc vám přinášíme výběr nejzajímavějších videí, kurzů a záznamů konferencí. Veškeré kurzy pak naleznete na portálu MVA a výuková v…
10.05 Azure Site Recovery – VMWARE (…
blogCZSK
Připravil jsem pro vás sérii článků, zabývající se technologií Azure Site Recovery. Konkrétně v šesti na sebe navazujících článcích se dozví…
09.05 DataScript: akční nabídka škol…
blogCZSK
Připravili jsme pro vás nabídku školení On-Demand. A jaké jsou výhody? nižší cena učíte se z pohodlí svého domova nebo kanceláře přístup mát…
05.05 System Center Configuration Ma…
blogCZSK
V předchozím díle jsme si nainstalovali prerekvizity potřebné pro běh Primary Site Configuration Manageru a také jsme připravili doménu pro …
20.04 Odkazy z prohlížeče – 20.4.201…
atasoft
CodeProject Video Transcoding and Streaming on the fly – CodeProject – přímo v prohlížeči (?) A Sample Code Submitted for Senior C# …
11.04 Linq a pracovní pohovor
mstr
Zjišťovat znalosti Linqu u pracovního pohovoru může být obtížné - s Linqem se asi setkal každý C# programátor, ale vždy záleží, do jaké hlou…
08.04 Linq - k čemu použít Aggregate…
mstr
K jednomu z předchozích článků, ve kterém jsem dal k dispozici cheatsheet pro Linq, se mne jeden známý zeptal, k čemu že je dobrý Aggregate …
27.03 Bezpečnost – věc veřejná
Poslední březnový den se v Praze uskuteční jednodenní konference o počítačové bezpečnosti SecPublica 2016. Jejím heslem je "securitas, res p…
16.03 Příklad na pohovor s programát…
mstr
Na blogu jsem uveřejnil několik příkladů z pohovorů s uchazeči o místo programátora. Dovolím si tedy uveřejnit jeden z dalších možných příkl…
15.03 IDisposable v příkladech
viga
Rozhraní IDisposable slouží k uvolnění “unmanaged” zdrojů. Nejčastěji to jsou různé objekty z Win32API (otevřené soubory, síťové spojení, GD…

C# vNext (8.0) preview

liero - 25.8.2017 10:43 - 5558 views

C# prebera feature NullableReferenceType odskusanu v TypeScripte, i ked podla mna by sa mala volat skor nonnullable reference types.

string foo = null; //error
string? foo2 = null; //ok

WriteLine(foo2.Length); //warning

if (foo2 != null) WriteLine(foo2.Lenth); //ok
WriteLine(foo?.Length); //ok

Zaujimave to zacne byt s parametrami metod, konstruktorov a vlastnotami tried.

 

Po novom bude mozne pisat nielen extension metody, ale aj extension vlastnosti a extension staticke metody.

 

Dalsia feaure sa vola Async Streams (a.k.a. foreach async)

async IAsyncEnumerable<int> GetAsyncStream()
{
   await Task.Delay(100);
   yield return 1;
   await Task.Delay(200);
   yield return 2;
}

foreach async (int i in GetAsyncStream()) 
{ }

Za zmienku stoji este to, ze ziadna z tychto feature to nema iste. je to velmi early preview. Ja osobne dufam aspon v (non)nullable reference types 


Daniel Turan

MCPD Web Developer, Certified Avanade SCRUM Professional Developer;
WPF, Silverlight, Windows Phone, Windowse Store app developer,
TypeScript, JavaScript

Článkov: 1, Správičiek: 96, Príspevkov vo fóre: 1560, Príspevkov v blogu: 0, Bodov: 9780
Najaktívnejší č.: 9
Profil používateľa

Reakcie

# RE: C# vNext (8.0) preview 19.9.2017 14:29:03 Sobansky (anonym)

Mozno som to nepochopil, ale nieco take predsa pouzivam v C# uz roky. Ci? :-)

# RE: C# vNext (8.0) preview 20.9.2017 0:44:26 T (anonym)

tie nullablereference typu su po dlhom case nieco, co je v prospech kvality kodu a nie v prospech okamzitej produktivity na ukor dlhodobej udrziavatelnosti, ale obavam sa, ze toto neprejde, kvoly spatnej kompatibilite.

# RE: C# vNext (8.0) preview 21.9.2017 8:48:57 liero

@T: suhlasim a ale som vacsi optimista, ze to prejde. Je na to velky tlak a planovali to releasnut uz minule. TypeScript si presiel presne tym istym a funguje to na vybornu.

Neviem ci si pozeral video, ale spatna kompatibilita sa da vyriesit pomerne jednoducho:

1. co sa tyka existujucich kniznic, vsetko bude nullable.
2. co sa tyka existujuceho kodu, mozes stale nastavit C# 7
3. Ak chces pouzit exitujuci kod s novym C#, tak
a) je vlastne fajn, ze C# analyzer ta upozorni, ze niekde mas potencionalny bug.
b) mozes typy explicitne oznacit ako nullable a tym dosiahnes spatnu kompatibilitu.

Skusil som v typescripte portovat par tisic riadkov kodu a bola to pomerne trivialna zalezitost.

# RE: C# vNext (8.0) preview 21.9.2017 8:53:32 liero

@Sobansky: co myslis? Pravdepodobne si mylis nullable value types ako bool? int?

int i = null; //Compiler Error
int? i = null; //OK
string s = null; //OK

No a po novom v C# 8:
string s = null; //error
string s? = null; //OK

naopak, referencne typy mozu byt null byt

# RE: C# vNext (8.0) preview 21.9.2017 10:11:59 liero

dafd f

Pridať reakciu

Titulok:
Meno:
Url:
Koľko je 22 + 4?
(ochrana proti spamu)
Komentár:

Najaktívnejší užívatelia
1. 48800 b. photo xmhlxzybzzyq998
2. 48110 b. photo bfdgfdhfdhfd06
3. 42045 b. photo pmpindia123
4. 37835 b. photo vlko
5. 21520 b. photo T
6. 15965 b. photo spigi
7. 15450 b. photo Anonymous
8. 11120 b. photo dudok
9. 9780 b. photo Liero
10. 6975 b. photo hulisozi