我有这个List<string>
:
IList<string> ListaServizi = new List<string>();
如何按字母顺序和升序排序?
排序方法;与反向组合如果u还需要降
—
弥敦道Q
我有这个List<string>
:
IList<string> ListaServizi = new List<string>();
如何按字母顺序和升序排序?
Answers:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>
。该代码实际上可以按书面形式工作,与使用接受更多投票的答案不同ListaServizi.Sort()
。我并不是说这是我选择的解决方案,但这实际上是我发布答案时唯一的正确答案。
.Sort
它,那为什么不这样做。
List
。与这个答案相关的成本是不平凡的,也是不必要的。从字面上看,它什么也得不到。它增加了代码的复杂性,简洁性降低,效率降低,在这里实际上没有缺点。
其他答案是正确的建议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>
,请发表评论,然后添加一两个建议进行排序。
ListaServizi.Sort();
将为您做到这一点。列出字符串很简单。如果对对象进行排序,则需要变得更聪明。
ListaServizi
是IList<string>
; 接口没有Sort
方法。您至少在这里需要演员。
.Sort
msdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx?