首页 > 解决方案 > C# 中索引的替代方案(在 Swift 中)

问题描述

我们有没有像 Swift 一样简单地按升序对集合进行下标?

在 Swift 中,调用Indices真的很容易。

我知道我可以这样做:

for (int i = myArray.Count -1; i>=0; i--)

Console.WriteLine(i);  //consistently going to zero

但无论如何,这很乏味。

标签: c#

解决方案


您可以使用 OrderBy 方法对数组/列表进行排序。

var array = new int[] { 10, 13, 2, 7, 1, 8, 15 };
var ascSorted = array.OrderBy(x => x);
var descSorted = array.OrderByDescending(x => x);

这适用于对象和基元。

// Let's say you have a collection of Person objects like this:
class Person {
    string FirstName { get; set; }
    string LastName { get; set; }
}

var peopleByFirstName = collectionOfPeople.OrderBy(x => x.FirstName);
var peopleByLastThenFirst = collectionOfPeople
    .OrderBy(x => x.LastName)
        .ThenBy(x => x.FirstName)

推荐阅读