Реализация упорядочения для Списка объектов в C # и методов для изменения индекса объекта - PullRequest
0 голосов
/ 11 июля 2019

скажем, у меня есть список объектов Person

{
  public string Name {get; set;}
  public string Gender {get; set;}
}

Я хочу создать список, который я могу заказать, используя свойство OrderIndex. Поэтому я добавляю это свойство к объекту Person:

{
  public string Name {get; set;}
  public string Gender {get; set;}
  public int OrderIndex {get; set;}
}

Цель этого свойства OrderIndex - поместить объект Person в список с определенным индексом для ранжирования объекта Person выше.

Но я очень обеспокоен количеством логики, которую я должен из-за этого излишним. Потому что, скажем, у меня есть 3 человека объектов

Имя: Дейв, Пол: Мужской, Индекс заказа: 1 Имя: Аманда, Пол: Женский, Индекс заказа: 2 Имя: Тревор, Пол: Мужской, Индекс заказа: 3

Если я уменьшу OrderIndex в Trevor, мне также нужно будет убедиться, что Amandas OrderIndex увеличен, чтобы не иметь двух объектов-людей с одинаковым OrderIndex.

Я не уверен, что здесь уже был дан ответ на этот вопрос, но мне не повезло найти конкретную ветку, на которую был дан ответ.

Как мне подойти к этой проблеме?

1 Ответ

0 голосов
/ 11 июля 2019

Если вы измените OrderIndex, вы должны найти следующее целое число, которое является бесплатным. Так что если вы измените Trevors OrderIndex на 2, вам придется искать следующий бесплатный int для Amandas OrderIndex. Так что создайте метод, где это сделано.

Вот как вы ищете следующий бесплатный int: получить следующее доступное целое число, используя LINQ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...