【发布时间】:2009-12-01 12:39:36
【问题描述】:
我想开发一个通用扩展方法,它应该按字母顺序排列字符串,然后按纵向升序排列。
我是说
string[] names = { "Jon", "Marc", "Joel",
"Thomas", "Copsey","Konrad","Andrew","Brian","Bill"};
var query = names.OrderBy(a => a.Length).ThenBy(a => a);
Generic Extension Method的开发方法是什么?
我试过了:
public static class ExtensionOperation
{
public static T[] AlphaLengthWise<T>(this T[] names)
{
var query = names.OrderBy(a => a.Length).ThenBy(a => a);
return query;
}
}
我收到了:
错误 1:T 不包含 Length 的定义
错误 2:无法将
System.Linq.IOrderedEnumerable转换为T[]。
【问题讨论】:
-
拥有一个只适用于字符串的通用方法并没有多大意义......
-
如果你只想排列字符串,为什么它应该是通用的?
-
@bniwredyc 因为
generic听起来很酷! :) -
您可能还想将
ExtensionOperstion更正为ExtensionOperation