Есть ли лучший способ сортировать список пользовательского типа в C#?C#

Место общения программистов C#
Ответить
Anonymous
 Есть ли лучший способ сортировать список пользовательского типа в C#?

Сообщение Anonymous »

сценарий
У меня есть список пользовательских типов Carddetails .

Код: Выделить всё

List cards;
< /code>
carddetails.cs включает атрибуты карты, такие как следующие. < /p>
public Class CardDetails {
public int cost;
public int name;
public int power;
// and so on
}
В пользовательском интерфейсе я настраивал параметры сортировки и фильтра с кучей переключателей/радионологии и сортировки карт, которые я использую, если Лестница нравится следующее. < /p>
if(sortByName.isOn) { // sortByName is a UI toggle and isOn returns true if it is checked
var sortedCards = cards.OrderBy(card => card.name);
}
else if(sortByCost.isOn) {
var sortedCards = cards.OrderBy(card => card.cost);
}
// And so on
< /code>
И это работает просто отлично, но я не хочу большего, если лестница. У CardDetails будет много атрибутов в будущем, и я не хочу возвращаться к сценарию и добавлять здесь условия. Поэтому мне было интересно, есть ли лучший способ достичь этого? < /p>
// this will be updated based on sort parameters like name, cost etc
string fieldName;
var sortedCards = cards.OrderBy(card => card.GetType().GetField(fieldName));
< /code>
Однако он не работает так, как предполагалось, он просто возвращает исходный список по какой -то причине. Любая помощь или указатели будут оценены.
спасибо.>

Подробнее здесь: https://stackoverflow.com/questions/794 ... -type-in-c
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»