Как отсортировать список классов - PullRequest
0 голосов
/ 31 августа 2018

У меня есть класс с именем DataStore, и у меня есть следующее:

string Name;
DateTime Date;
double Code;

В основной форме у меня есть список ниже;

List<DataStore> ListOfDataStore = new List<DataStore>

Я создаю экземпляры этого класса в основной форме и присваиваю значения из того, что пользователь вводит, и сохраняю их в списке ниже;

 DataStore dataStore = new DataStore();
 dataStore.Name = "abc";
 dataStore.Date = new DateTime(Year,Month,Day);
 dataStore.Code = 10;
 ListOfDataStore.Add(dataStore);

 DataStore dataStore = new DataStore();
 dataStore.Name = "def";
 dataStore.Date = new DateTime(Year,Month,Day);
 dataStore.Code = 20;
 ListOfDataStore.Add(dataStore);

 DataStore dataStore = new DataStore();
 dataStore.Name = "ghi";
 dataStore.Date = new DateTime(Year,Month,Day);
 dataStore.Code = 30;
 ListOfDataStore.Add(dataStore);

Теперь я хочу отсортировать ListOfDataStore по тому, что есть в каждом из dataStore.Name, но я не могу понять, как получить доступ к строке Name без указания индекса списка ListOfDataStore.

Любое руководство очень ценится.

Ответы [ 2 ]

0 голосов
/ 31 августа 2018

Если вы хотите отсортировать список по месту:

ListOfDataStore.Sort((x, y) => x.Name.CompareTo(y.Name));

Если вы хотите заказать новую коллекцию по имени:

var orderedListOfDataStore = ListOfDataStore.OrderBy(item => item.Name);
0 голосов
/ 31 августа 2018

LinQ может помочь вам заказать список с помощью метода OrderBy или OrderByDescending

var sorted = ListOfDataStore.OrderBy(d=> d.Name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...