Чтобы получить фрукт с самым длинным названием, сделайте это:
var fruits = new List<String> { "Apple", "Mange", "Pineapple" };
var longestName = (from fruit in fruits
orderby fruit.Length descending
select fruit).First();
var index = fruits.IndexOf(longestName);
И как лямбда, без особой причины:
var fruits = new List<String> { "Apple", "Mange", "Pineapple" };
var longestName = fruits.OrderByDescending(e => e.Length).First();
var index = fruits.IndexOf(longestName);