webForumDet fria alternativet

Hämta första raden i en generisk lista?

.NET

2 svar · 321 visningar · startad av Lukaspojken

Medlem sedan maj 20011 312 inlägg
Frågan#1

Kan man hämta första raden i en generisk lista? Om listan är tom så ska det returneras null. Är det möjligt att göra detta i en rad och utan if-sats?

Medlem sedan jan. 20022 440 inlägg
#2
List<string> list = new List<string>();
list.FirstOrDefault(s => s.Equals("whatever"));

fungerar alldeles utmärkt

Medlem sedan jan. 20022 440 inlägg
#3

Ska tillägga att i detta fallet får du tillbaka en tom sträng tror jag är default för string, är det int blir det 0 och har du en klass blir det null om ingenting hittas.

Tror jag... Såvida förstås det inte är nullable<T>
Ska också tillägga att i detta fallet ska du undvika Single, SingleOrDefault eller First eftersom dom kastar exceptions omkring sig när saker går fel. FirstOrDefault returnerar den firsta av vad du söker på.
Du kan även lämna kriteriat blankt för att bara returnera första raden. Ursäkta bristen på förklaring i FirstOrDefault:a meddelandet :e

261 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)