将IList <string>转换为List <string>()</string> </string>

时间:2011-09-01 13:11:23

标签: c# list ilist

我有一个以IList<string> someVariable为参数的函数。我想将其转换为列表,以便我可以按字母顺序对值进行排序。

我如何实现这一目标?

5 个答案:

答案 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(有点可能),你就可以解释它。因此,在创建新的

之前,我首先要检查它是否已经是List
var concreteList = parameter as List<T> ?? parameter.ToList();