In questo primo esempio ci si presenta l'eccezione nella First
public class item
{
public int id;
public string name;
}
static void Main(string[] args)
{
List<item> items = new List<item>();
items.Add(new item() { id = 1, name = "ME" });
items.Add(new item() { id = 2, name = "TE" });
var item = items.First(c => c.id == 3);
Console.ReadLine();
}
Una via di risoluzione è la seguente tuttavia non è sempre la migliore.
var item = items.FirstOrDefault(c => c.id == 3);
Oppure verificando prima con un count
static void Main(string[] args)
{
List<item> items = new List<item>();
items.Add(new item() { id = 1, name = "ME" });
items.Add(new item() { id = 2, name = "TE" });
item iSelected = new item();
if (items.Count(c=>c.id ==3)> 0)
{
iSelected = items.FirstOrDefault(c => c.id == 3);
}
Console.ReadLine();
}
In questo modo si avrà sempre la possibilità di ovviare all'errore..
1 commento:
Invece che if (items.Count(c=>c.id ==3)> 0) e` meglio usare if (items.Any(c=>c.id ==3))
Posta un commento