Zimní výprodej Zimní výprodej
40 % bodů zdarma díky naší Zimní akci!

Diskuze: Co je to Span<T>

Aktivity (4)
Avatar
Petr Kasnal
Člen
Avatar
Petr Kasnal:29.10.2019 15:36

Zdravím mám jednu otázku. Co přesně je Span<T>? Už téměř dvě hodiny googlím a stále si nejsem jistý zda tomu rozumím. Znamená to, že například můžu použít Span na pole a uložit ho na přímo do zásobníku? Což má za následek výší rychlost a má to i nějaké nevýhody? Mě totiž přesně není jasný scénář kdy tohle použít a proto právě nervím jestli tomu rozumím.... Nebo jde jen o to jak nahnat performance? Byl bych rád kdyby mi to někdo fakt stroze vysvětlil k čemu přesně to je a kdy to třeba použít. Předem strašně moc díky

Zkusil jsem: Jak jsem psal hledal jsem na googlu a dost jsem si toho přečetl, ale stejně mi to není zcela jasné.... Nejradši bych byl kdyby mi někdo napsal hele troubo není to žádná věda je to k tomuhle, používá se to takhle a použil bych to když...

Chci docílit: Porozumět spanu

 
Odpovědět
29.10.2019 15:36
Avatar
krepsy3
Editor
Avatar
krepsy3:29.10.2019 18:25

Čau, nevím, nakolik jsi začátečník.

Abych ti vysvětlil důvod své úvodní věty - v C# programuju už 4 roky a studuju informatiku na matfyzu. Po zběžném googlení tuším, co to je, ovšem nedovedu si představit, že bych to k něčemu potřeboval.

Netuším, jestli ti něco říkají regiony operační paměti, halda a zásobník. Z definice se jedná o kus alokované paměti na ZÁSOBNÍKU. Jako kus si představ pole dané velikosti pro daný typ. Alokovaný kus je kontinuální, a lze na něm tedy užít pointerovou aritmetiku. Tedy inkrementace pointeru na začátek Spanu o velikost uloženého typu tě posune na první prvek apod.

K čemu to využít - jak říkám, sám nevím. Když nás ve škole učí algoritmy, které vznikly v 60. - 80. letech, často se odkazují na to, že v této době šlo o každou instrukci volanou na procesor, a jaké se používaly datové struktury v paměti, aby se ušetřilo místo a aby byl přístup k datům pro daný algoritmus nejrychlejší apod. Pro takovýto účel se pochopitelně sekvenčně přečtitelné pole hodí.

Jestli nejsi moudrý ani z mého komentáře, pak věz, že to tuplem nepotřebuješ :D
Hodně zdaru :)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
Nahoru Odpovědět
29.10.2019 18:25
Programátor je stroj k převodu kávy na kód.
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Petr Kasnal
Člen
Avatar
Odpovídá na krepsy3
Petr Kasnal:30.10.2019 8:17

Ahoj, díky moc za odpvoěď. Myslím si, že se v tom nějak orientuju znám to samozřejmě ze školy a teď jsem zjistil, že v c# jde pracovat s pointerama což pro mě byla novinka a dostal jsem se právě k tomu spanu. Pochopil jsem to jak mi píšeš a je mi to už tak nějak jasné. Díky moc

 
Nahoru Odpovědět
30.10.2019 8:17
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.