C# 如何订购列表<;字符串>;?

C# 如何订购列表<;字符串>;?,c#,string,list,C#,String,List,我有这个列表: IList ListaServizi=new List(); 如何按字母顺序和升序排列?ListaServizi=ListaServizi.OrderBy(q=>q.ToList(); 您可以使用 List ListaServizi=new List(){}; ListaServizi.Sort(); 我会帮你的。有了字符串列表就足够简单了。如果对对象进行排序,您需要更聪明一些。其他答案正确地建议排序,但他们似乎忽略了存储位置键入为IListList myCollection

我有这个
列表

IList ListaServizi=new List();
如何按字母顺序和升序排列?

ListaServizi=ListaServizi.OrderBy(q=>q.ToList();
您可以使用

List ListaServizi=new List(){};
ListaServizi.Sort();

我会帮你的。有了字符串列表就足够简单了。如果对对象进行排序,您需要更聪明一些。

其他答案正确地建议
排序
,但他们似乎忽略了存储位置键入为
IList
List myCollection=new List()的事实
{
“鲍勃”、“鲍勃”、“亚历克斯”、“阿布迪”、“阿布迪”、“鲍勃”、“亚历克斯”、“鲍勃”、“阿布迪”
};
myCollection.Sort();
foreach(myCollection.Distinct()中的变量名)
{
Console.WriteLine(name+“”+myCollection.Count(x=>x==name));
}
输出: 阿布迪3 亚历克斯2
Bob 4

您是否尝试过
.Sort
?排序方法;如果您还需要降序,请与Reverse组合使用
ListaServizi
is
IList
;该接口没有排序方法。您至少需要在此处进行强制转换。@使用OrderBy的一个原因是ListaServizi没有排序方法,因为它被声明为
IList
。与使用
ListaServizi.Sort()
获得更多投票的答案不同,此代码实际上可以按编写的方式工作。我不是说这是我会选择的解决方案,但这实际上是我发布答案时唯一正确的答案。如果这不是你会选择的解决方案,那么为什么要将其作为答案提出?提出你的答案;如果这意味着将类型从IList更改为List,这样您就可以对其调用
.Sort
,那么为什么不这样做呢。@Servy他在不更改问题说明的情况下解决了问题。到目前为止,这是首选的方式。此外,问题陈述使用接口对实现模式,这一点非常重要。建议更改列表类型是正确的,但应在正确答案之后作为替代答案进行,因为这需要更改问题。@AurélienRibon关于问题陈述的任何内容都没有说明变量的类型不能更改。这些要求非常明确,用于对
列表进行排序。与这个答案相关的成本不是微不足道的,也是不必要的。它实际上一无所获。它增加了代码的复杂性,不那么简洁,效率也不高,这里除了缺点什么都没有。
IList<string> ListaServizi = new List<string>();
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
ListaServizi.Sort();
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.
}
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));
}