그 방법은 존재하지 않는다고 생각합니다.
public static string[] Sort(this string[] list, string start)
{
List<string> l = new List<string>();
l.AddRange(list.Where(p => p.StartsWith(start)).OrderBy(p => p));
l.AddRange(list.Where(p => !p.StartsWith(start)));
// l.AddRange(list.Where(p => !p.StartsWith(start)).OrderByDescending(p => p));
return l.ToArray();
}
:이를 사용하여 문자열 요소를 주문하고 정렬되지 않은 다른 사람을 떠나해야하는 경우
public static string[] Sort(this string[] list, string start)
{
List<string> l = new List<string>();
l.AddRange(list.Where(p => p.StartsWith(start)).OrderBy(p => p));
l.AddRange(list.Where(p => !p.StartsWith(start)).OrderBy(p => p));
return l.ToArray();
}
그래서 당신이
string[] list = new string[] { "Mark", "Tom", "Mat", "Mary", "Peter" };
string[] ordered_list = list.Sort("Ma");
을 수행 할 수 있습니다
나는 이것으로 해결
정렬해야하는 일치하는 색인이있는 문자열. 일치하는 문자열이없는 다른 문자열은 어떻습니까? 원하는 경우 모든 일치하는 문자열을 필터링하여 정렬하고 나머지 요소가있는 목록을 마지막으로 추가 할 수 있습니다. –
다른 접두사를 원래의 상대적인 순서로 남겨 두면서 지정된 접두사와 일치하는 요소를 정렬하면 어떤 이점이 있습니까? 정렬 된 요소는 항상 처음부터 끝나나요? –
숙제, 그렇다면 태그하십시오. –