我如何订购一个List <string>?

我有这个列表:

IList<string> ListaServizi = new List<string>() { }; 

我怎么能因为里面的string而命令呢? 按字母顺序和升序。

 ListaServizi = ListaServizi.OrderBy(q => q).ToList(); 

您可以使用sorting

 List<string> ListaServizi = new List<string>() { }; ListaServizi.Sort(); 

其他答案是正确的build议Sort ,但他们似乎已经错过了这样一个事实,存储位置inputIList<stringSort不是界面的一部分。

如果您知道ListaServizi将始终包含List<string> ,则可以更改其声明的types,也可以使用ListaServizi转换。 如果你不确定,你可以testingtypes:

 if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType())) ((List<string>)ListaServizi).Sort(); else { //... some other solution; there are a few to choose from. } 

也许更习惯:

 List<string> typeCheck = ListaServizi as List<string>; if (typeCheck != null) typeCheck.Sort(); else { //... some other solution; there are a few to choose from. } 

如果您知道ListaServizi有时会持有不同的IList<string> ,请留下评论,然后添加一个或两个build议进行sorting。

 ListaServizi.Sort(); 

会为你做到这一点。 对于string列表来说很简单。 如果要sorting对象,你需要更聪明一些。

  List<string> myCollection = new List<string>() { "Bob", "Bob","Alex", "Abdi", "Abdi", "Bob", "Alex", "Bob","Abdi" }; myCollection.Sort(); foreach (var name in myCollection.Distinct()) { Console.WriteLine(name + " " + myCollection.Count(x=> x == name)); } 

输出:Abdi 3 Alex 2 Bob 4