Saya punya ini List<string>:
IList<string> ListaServizi = new List<string>();
Bagaimana cara mengurutkan menurut abjad dan menaik?
Saya punya ini List<string>:
IList<string> ListaServizi = new List<string>();
Bagaimana cara mengurutkan menurut abjad dan menaik?
Jawaban:
ListaServizi = ListaServizi.OrderBy(q => q).ToList();
IList<string>. Kode ini sebenarnya akan berfungsi seperti yang tertulis, tidak seperti jawaban yang menerima lebih banyak suara positif ListaServizi.Sort(). Saya tidak mengatakan ini adalah solusi yang akan saya pilih, tetapi ini sebenarnya satu-satunya jawaban yang benar ketika saya memposting jawaban saya.
.Sort, lalu mengapa tidak melakukannya.
List. Dan biaya yang terkait dengan jawaban ini tidak sepele dan juga tidak perlu. Ini benar-benar tidak menghasilkan apa-apa . Ini menambah kerumitan pada kode, kurang ringkas, kurang efisien, tidak ada yang lain selain kerugian di sini.
Anda dapat menggunakan Sort
List<string> ListaServizi = new List<string>() { };
ListaServizi.Sort();
Jawaban lain benar untuk disarankan Sort, tetapi mereka tampaknya melewatkan fakta bahwa lokasi penyimpanan diketik sebagai IList<string. Sortbukan bagian dari antarmuka.
Jika Anda tahu itu ListaServiziakan selalu berisi List<string>, Anda bisa mengubah tipe yang dideklarasikan, atau menggunakan cast. Jika Anda tidak yakin, Anda dapat menguji jenisnya:
if (typeof(List<string>).IsAssignableFrom(ListaServizi.GetType()))
((List<string>)ListaServizi).Sort();
else
{
//... some other solution; there are a few to choose from.
}
Mungkin lebih idiomatis:
List<string> typeCheck = ListaServizi as List<string>;
if (typeCheck != null)
typeCheck.Sort();
else
{
//... some other solution; there are a few to choose from.
}
Jika Anda tahu bahwa ListaServiziterkadang akan mengadakan implementasi yang berbeda dari IList<string>, tinggalkan komentar, dan saya akan menambahkan satu atau dua saran untuk menyortirnya.
.Sortmsdn.microsoft.com/en-us/library/b0zbh7b6%28v=vs.90%29.aspx ?