Správičky 2 799 Blogy 945 Fórum 18 550

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 - 1661 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: 89, Príspevkov vo fóre: 1500, Príspevkov v blogu: 0, Bodov: 9340
Najaktívnejší č.: 6
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. 37750 b. photo vlko
2. 21315 b. photo T
3. 15955 b. photo spigi
4. 15450 b. photo Anonymous
5. 11110 b. photo dudok
6. 9340 b. photo Liero
7. 6885 b. photo siro
8. 6245 b. photo slavof
9. 5355 b. photo duracellko
10. 4445 b. photo xxxmatko