Si solo necesita hacer algo con el último elemento (en lugar de algo diferente con el último elemento, entonces usar LINQ ayudará aquí:
Item last = Model.Results.Last();
// hacer algo con el último
Si necesita hacer algo diferente con el último elemento, entonces necesitaría algo como:
Item last = Model.Results.Last();
foreach (Item result in Model.Results)
{
// hacer algo con cada elemento
if (result.Equals(last))
{
// hacer algo diferente con el último elemento
}
else
{
// hacer algo diferente con todos los elementos excepto el último
}
}
Aunque probablemente necesitaría escribir un comparador personalizado para asegurarse de que podría decir que el elemento era el mismo que el elemento devuelto por Last()
.
Este enfoque debe usarse con precaución ya que Last
probablemente tenga que iterar a través de la colección. Si bien esto puede no ser un problema para colecciones pequeñas, si se vuelve grande podría tener implicaciones en el rendimiento. También fallará si la lista contiene elementos duplicados. En estos casos, algo como esto puede ser más apropiado:
int totalCount = result.Count();
for (int count = 0; count < totalCount; count++)
{
Item result = Model.Results[count];
// hacer algo con cada elemento
if ((count + 1) == totalCount)
{
// hacer algo diferente con el último elemento
}
else
{
// hacer algo diferente con cada elemento excepto el último
}
}