Есть ли способ сортировки списка в одном поле, а затем в другом?
(я видел другие сообщения, но думаю, что это немного сложнее).Я мог сделать это далеко, но думал, что есть более быстрая сокращенная версия, о которой я просто не знал.
В основном это читает каталог для всех папок в нем в формате:
DATENAME
Я разбираю имя по дате.Мне нужно организовать их по названию, ТО по дате (второй фильтр - это то, что сбивает меня с толку).
Итак, папка из:
12012016TULLY
1202019LAVA
2202018LAVA
5162019CLOUD
5202020LAVA
будет выглядеть как
5162019CLOUD
2202018LAVA
1202019LAVA
5202020LAVA
12012016TULLY
Итак, вот что у меня есть:
class MyListBoxItem
{
public string StudyBaseFolder { get; set; }
public string StudyName { get; set; }
public string UserLastName { get; set; }
public string StudyDate { get; set; }
}
List<MyListBoxItem> studiesAndFolders = new List<MyListBoxItem>();
//later int he code i build a list of studyNames (which is a path and I pasre the path here too)
foreach (string sn in studyName)
{
//get user name
String lastName = getLastName(sn);
String theDate = getDate(sn);
//can I organize this based on the LAST NAME THEN THE DATE
studiesAndFolders.Add(new MyListBoxItem { StudyBaseFolder = path, StudyName = sn, UserLastName = lastName, StudyDate = theDate });
}
Затем я наконец добавляю это в список.
listDirectories.Items.Clear();
//I do it this way so a double click on an item gets the object back and I can do things with it.
foreach(MyListBoxItem direc in studiesAndFolders)
{
listDirectories.Items.Add(direc);
}
listbox.sorted=true
не помогло, и я уверенможет быть выражение (LINQ для спасения?).Я просто собирался сделать это долгий путь с кучей случаев, когда я взял studiesAndFolders
и поместил его в список.