if (childMenuItems.Parent.ChildItems[childMenuItems.Parent.ChildItems.Count-1] == childMenuItem)
По моему мнению, это оптимизировано, потому что вы делаете прямой индекс массива, который дешевле, чем IndexOf
. IndexOf
стоит дорого, потому что он начинается в начале списка, и равенство сравнивает каждый элемент с childMenuItem
.
В этом решении есть только одна проверка равенства, которая является самой дорогой частью.
ОБНОВЛЕНИЕ В этом решении предполагается, что в списке всегда есть элементы