我有一个以IList<string> someVariable
为参数的函数。我想将其转换为列表,以便我可以按字母顺序对值进行排序。
我如何实现这一目标?
答案 0 :(得分:8)
你可以做到
var list = new List<string>(myIList);
list.Sort();
或
var list = myIList as List<string>;
if (list != null) list.Sort; // ...
答案 1 :(得分:7)
IList<string> someVariable = GetIList();
List<string> list = someVariable.OrderBy(x => x).ToList();
答案 2 :(得分:5)
IList实现IEnumerable。使用.ToList()方法。
var newList = myIList.ToList();
newList.Sort();
答案 3 :(得分:2)
您可以使用linq对IList<string>
进行排序,如下所示:
IList<string> foo = .... ; // something
var result = foo.OrderBy(x => x);
答案 4 :(得分:1)
您无需转换为List即可对事物进行排序。您的排序方法是否需要List但不接受IList。我认为这是实际问题。
此外,如果你真的需要一个List,如果你的IList真的是一个List(有点可能),你就可以解释它。因此,在创建新的
之前,我首先要检查它是否已经是Listvar concreteList = parameter as List<T> ?? parameter.ToList();