متد جدید Order در دات نت 7
نویسنده: وحید نصیری
تاریخ: ۱۴۰۱/۱۰/۲۱ ۱۱:۱۵
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
var numbers = new List<int> { -7, 1, 5, -6 }; var sortedNumbers1 = numbers.OrderBy(n => n); var sortedNumbers2 = numbers.OrderByDescending(n => n);
public static IOrderedEnumerable<TSource> OrderBy<TSource,TKey>( [NotNull] this IEnumerable<TSource> source, [NotNull] Func<TSource,TKey> keySelector)
var sortedNumbers3 = numbers.Order(); var sortedNumbers4 = numbers.OrderDescending();
public static IOrderedEnumerable<T> Order<T>(this IEnumerable<T> source) public static IOrderedEnumerable<T> OrderDescending<T>(this IEnumerable<T> source)
public class User
{
public string Name { set; get; }
public int Age { set; get; }
} List<User> users = new()
{
new User { Name = "User 1", Age = 34 },
new User { Name = "User 2", Age = 24 },
}; var orderedUsers = users.Order();
public class User : IComparable<User>
{
public string Name { set; get; }
public int Age { set; get; }
public int CompareTo(User? other)
{
if (ReferenceEquals(this, other))
{
return 0;
}
if (ReferenceEquals(null, other))
{
return 1;
}
var nameComparison = string.Compare(Name, other.Name, StringComparison.Ordinal);
if (nameComparison != 0)
{
return nameComparison;
}
return Age.CompareTo(other.Age);
}
} var orderedUsers2 = users.OrderBy(user => user.Name).ThenBy(user => user.Age);