Сортировка списка с учетом регистра .Sort(); - C#
Формулировка задачи:
Как отсортировать список List<>, чтобы сначала шли строки начинающиеся с заглавной буквы, а потом со строчной?
Изначально
Petya
fedya
Ivan
lines.Sort(); выдает
fedya
Ivan
Petya
А нужно
Ivan
Petya
fedya
Решение задачи: «Сортировка списка с учетом регистра .Sort();»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- namespace ns
- {
- class Program
- {
- static int Comparer(string s1, string s2)
- {
- if (char.IsUpper(s1[0]) && char.IsLower(s2[0])) return -1;
- if (char.IsUpper(s2[0]) && char.IsLower(s1[0])) return 1;
- return string.Compare(s1, s2, false);
- }
- static void Main(string[] args)
- {
- List<string> list = new List<string> { "Zina", "Petya", "fedya", "Ivan", "anna" };
- list.Sort(Comparer);
- foreach (string word in list)
- Console.WriteLine(word);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д