是否有'null'lambda表达式的C#语法?例如,在没有lambda表达式的情况下调用OrderBy(x => x)?

时间:2011-09-03 10:59:06

标签: c# .net linq lambda

  

可能重复:
  LINQ identity function?

只需输入x => x来排序像int或字符串这样的东西似乎很浪费......有更快的方法吗?

2 个答案:

答案 0 :(得分:4)

如果您有List<T>,则可以使用Sort方法:MyList.Sort(),或者对于其他类型,您可以找到类似的功能。

Enumerable.OrderBy代表MSDN link说,不,无论如何都没有。

答案 1 :(得分:4)

static void Main()
{
    var array = new[] { 3, 2, 1 };

    var result = array.OrderBy(SimpleSort);

    foreach (var item in result)
    {
        Console.WriteLine(item);
    }
}

public static T SimpleSort<T>(T t)
{
    return t;
}

或创建自己的扩展程序:

public static class Extensions
{
    public static IEnumerable<TSource> OrderBy<TSource>(this IEnumerable<TSource> source)
    {
        return source.OrderBy(t => t);
    }
}