Toto slúži iba na zjednodušenie a lepšiu čitateľnosť kódu.
Vytlačím si zoznam služieb Windows na svojom počítači. Pritom volám ServiceController.GetServices()
a získať množstvo služieb. Ale najradšej by som to dostal do zoznamu so silným typom a vytlačil si ho do môjho textového poľa txbMain. Obe tieto veci sa mi podarilo v 3 riadkoch kódu. Existuje ale spôsob, ako vytlačiť na txbMain v prvom riadku, aby som sa mohol vyhnúť slučke foreach?
List<ServiceController> list = ServiceController.GetServices()
.OrderBy(x => x.DisplayName)
.ToList();
foreach (ServiceController sc in list)
txbMain.Text += sc.DisplayName + Environment.NewLine;
odpovede:
0 pre odpoveď č. 1Ak po tomto vyhlásení zoznam nepoužívate, môžete:
ServiceController.GetServices()
.OrderBy(x => x.DisplayName)
.ToList()
.ForEach(x => txbMain.Text += x.DisplayName + Environment.NewLine);
Upozorňujeme, že aj tak interne vykoná foreach slučku.
Horšie je, že pred použitím metódy ForEach bude musieť najskôr vytvoriť zoznam, čo je časovo náročné.
vidieť Príspevok Erica Lipperta o tom.
Možno by ste sa mali držať predných slučiek.