Diskuze: Elegantnější způsob?
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Tvůrce

Zobrazeno 11 zpráv z 11.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
Koukám, že seznamu říkáš pole. Zkus mu říkat seznam.
C# sice neznám, ale napadá mě
System.Collections.Generic.List<string>.Remove(this.vety);
Kdyby to nebylo ono, tak zkus tohle:
http://www.dotnetperls.com/list-remove
http://www.dotnetperls.com/removeall
Koukám, že ten můj první nápad je asi blbě. Zkusím druhý chybný:
this.vety.Remove("");
Trochu mi uniká, proč převádíš pole na seznam a naopak. Proč nemáš objekt this.vety typu seznam?
A zkusím do třetice:
this.vety.RemoveAll(item => item == "");
Ještě by to mělo jít metodou Where:
http://www.dotnetperls.com/where
Ne - nepletu si seznam a pole. Přes where je to cyklus - to není elegantnější,... A to
this.vety.RemoveAll(item => item == "");
nejde,... Minimálně to nebere RemoveAll.
Ano - nejjednoduší by bylo, kdybych to mohl používat jako List - ale využívám tam pak Metody, které fungují jen pro pole,... Pole nemá žádnou funkci remove, replace, či tak. Proto to dělám přes list, kde to jde,...
Jaký cyklus? Psal jsem o metodě Where(). Podíval ses vůbec na ten odkaz? Tam žádný cyklus není.
Podle názvu this.vety se nejedná o pole, ale o seznam vět. Pokud na to aplikuješ metody, které pracují jen s polem, děláš to asi chybně.
Regex.Split()? Na ní nic špatného není. Jen ji evidentně špatně používáš.
Na poli remove nebude již z podstaty, protože má pevnou velikost Elegantní způsob neexistuje, pokud
potřebuješ ze struktury mazat, nepoužívej pole.
Zobrazeno 11 zpráv z 11.