Parse Json string w C #

Próbuję odczytać ciąg Json w C #, ale mam problem z obliczeniem, jak parsować ciąg do C #. Powiedz, że mam następujący ciąg Json

[
    {
        "AppName": {
            "Description": "Lorem ipsum dolor sit amet",
            "Value": "1"
        },
        "AnotherAppName": {
            "Description": "consectetur adipisicing elit",
            "Value": "String"
        },
        "ThirdAppName": {
            "Description": "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua",
            "Value": "Text"
        },
        "Application": {
            "Description": "Ut enim ad minim veniam",
            "Value": "100"
        },
        "LastAppName": {
            "Description": "quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat",
            "Value": "ZZZ"
        }
    }
]

Chcę to przeanalizować w arraylistę lub słownik, używając formatu takiego jak

descriptionList["AppName"] = "Lorem ipsum dolor sit amet";
valueList["AppName"] = "1";

Bawiłem się z Json.Net, ale przykłady, które widziałem, nie dają mi jasnego pojęcia, jak powinienem to zrobić. Jaki jest najlepszy sposób osiągnięcia tego celu? Nie można tego zrobić jak w jQuery, używając instrukcji foreach?