OrderedDictionary C# Как получить значения последней пары?

Требуется получить значения последней добавленной пары в словарь. Знаю, что стандартная Dictionary не позволяет этого сделать. Для подобных целей вроде бы используют OrderedDictionary. Как получить значения последней добавленной пары <TKey, TValue>?


Ответы (1 шт):

Автор решения: Aziz Umarov

Расширьте класс и сделайте словарь под нужды. Это не запрещено и не противоречит solid

class Program
{
    static void Main(string[] args)
    {
        LastOrderedDictionary myOrderedDictionary = new LastOrderedDictionary();

        myOrderedDictionary.Add("testKey1", "testValue1");
        myOrderedDictionary.Add("testKey2", "testValue2");
        myOrderedDictionary.Add("keyToDelete", "valueToDelete");
        myOrderedDictionary.Add("testKey3", "testValue3");

        Console.Out.WriteLine($"key = {myOrderedDictionary.LastKey.ToString()}," +
            $" value ={myOrderedDictionary.LastValue.ToString()}");

    }
}

public class LastOrderedDictionary : OrderedDictionary
{

    public new void Add(object key, object value)
    {
        base.Add(key, value);
        this.LastKey = key;
        this.LastValue = value;
    }

    public Object LastKey
    {
        get; private set;
    }

    public Object LastValue
    {
        get; private set;
    }
}
→ Ссылка