[C#] List <string>은 어떻게 주문할 수 있습니까?

나는 이것을 가지고있다 List<string>:

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

알파벳순과 오름차순으로 주문하려면 어떻게해야합니까?



답변

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


답변

정렬 을 사용할 수 있습니다.

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


답변

다른 답변은 제안하는 것이 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();

당신을 위해 그렇게 할 것입니다. 문자열 목록으로 간단합니다. 개체를 정렬하는 경우 좀 더 똑똑해야합니다.


답변

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


답변