Ищем встроенный упорядоченный список в C#C#

Место общения программистов C#
Anonymous
Ищем встроенный упорядоченный список в C#

Сообщение Anonymous »

У меня возникла проблема с упорядочиванием списков в C#. Решения, которые я придумываю, громоздки и кажутся мне чем-то вроде взлома. Я ищу элегантное решение описанной ниже проблемы.
Я хочу, чтобы порядок оставался в классе, чтобы избежать использования .Sort() или .OrderBy() в других частях кода.
В сообщении 9-летней давности предполагается, что такого класса/решения не существует. Но я не могу избавиться от ощущения, что где-то есть что-то похожее на OrderedList, которое не является IDictionary.
using System;
using System.Collections.Generic;

namespace ConsoleApp5
{
class Program
{
static void Main(string[] args)
{
var obj = new Class1();
obj.Test();
}
}

public class Class1
{
public void Test()
{
var myList = new List();

myList.Add(new MyObject { Id = 1, Name = "ZZZ" });
myList.Add(new MyObject { Id = 2, Name = "NNN" });
myList.Add(new MyObject { Id = 3, Name = "PPP" });
myList.Add(new MyObject { Id = 4, Name = "AAA" });

foreach (var obj in myList)
{
Console.WriteLine($"{obj.Name} -> {obj.Id}");
}

}

public class MyObject
{
public int Id { get; set; }
public string Name { get; set; }

}
}
}

И список распечатывается по порядку:
ZZZ -> 1
NNN -> 2
PPP -> 3
AAA -> 4

Может ли кто-нибудь предложить подходящий класс для упорядоченного списка, который будет обеспечивать:
AAA -> 4
NNN -> 2
PPP -> 3
ZZZ -> 1


Подробнее здесь: https://stackoverflow.com/questions/579 ... in-c-sharp

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