我有List<string>
:
IList<string> ListaServizi = new List<string>();
我如何按字母顺序和升序订购?
答案 0 :(得分:202)
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
答案 1 :(得分:38)
您可以使用Sort
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
答案 2 :(得分:11)
建议Sort
的其他答案是正确的,但他们似乎错过了存储位置输入为IList<string
这一事实。 Sort
不是界面的一部分。
如果您知道ListaServizi
将始终包含List<string>
,您可以更改其声明的类型,也可以使用强制转换。如果您不确定,可以测试类型:
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>
的不同实现,请发表评论,我会添加一两个建议来进行排序。
答案 3 :(得分:5)
ListaServizi.Sort();
会为你做那件事。使用字符串列表足够简单。如果排序对象,你需要更聪明一点。
答案 4 :(得分:3)
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));
}
输出: 阿卜迪3 亚历克斯2 鲍勃4