在C中,你可以使用`List.Sort`方法和自定义比较器来按照名字排序。以下是一个示例代码,展示了如何实现这一功能:
```csharp
using System;
using System.Collections.Generic;
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
}
public class PersonComparer : IComparer { public int Compare(Person x, Person y) { // 按年龄升序排序 return x.Age.CompareTo(y.Age); // 如果想按名字排序,可以这样做: return x.Name.CompareTo(y.Name); // 或者,可以实现更复杂的排序逻辑 } } class Program { static void Main() { List { new Person { Name = "Alice", Age = 30 }, new Person { Name = "Bob", Age = 25 }, new Person { Name = "Charlie", Age = 35 } }; // 使用自定义比较器按名字排序 people.Sort(new PersonComparer()); // 输出排序后的结果 foreach (var person in people) { Console.WriteLine($"{person.Name}, {person.Age}"); } } } ``` 在这个示例中,我们定义了一个`Person`类,并实现了一个`PersonComparer`类,该类实现了`IComparer 在`Main`方法中,我们创建了一个`Person`对象的列表,并使用`Sort`方法和自定义比较器`PersonComparer`对列表进行排序。最后,我们遍历并输出排序后的结果。 建议 如果你需要更复杂的排序逻辑,可以在自定义比较器中实现这些逻辑。 `List.Sort`方法是稳定的排序算法,这意味着相等的元素在排序后保持原来的顺序。 对于大型数据集,考虑使用`Array.Sort`方法,它通常比`List.Sort`方法更快。自定义比较器:
稳定性:
性能: