Если вам просто нужно что-то сделать с последним элементом (в отличие от чего-то отличается с последним элементом, то здесь поможет LINQ:
Item last = Model.Results.Last();
// do something with last
Если вам нужносделайте что-то другое с последним элементом, тогда вам понадобится что-то вроде:
Item last = Model.Results.Last();
foreach (Item result in Model.Results)
{
// do something with each item
if (result.Equals(last))
{
// do something different with the last item
}
else
{
// do something different with every item but the last
}
}
Хотя вам, вероятно, потребуется написать собственный компаратор, чтобы убедиться, что вы можете сказать, что элемент совпадает с элементомвозвращается Last()
.
Этот подход следует использовать с осторожностью, так как Last
вполне может потребоваться перебрать коллекцию. Хотя это может не быть проблемой для небольших коллекций, если она становится большой, она может иметьпоследствия для производительности. Он также потерпит неудачу, если список содержит повторяющиеся элементы. В этом случае может быть более уместным что-то подобное:
int totalCount = result.Count();
for (int count = 0; count < totalCount; count++)
{
Item result = Model.Results[count];
count++;
// do something with each item
if (count == totalCount)
{
// do something different with the last item
}
else
{
// do something different with every item but the last
}
}