Analisar string Json em c #

Eu estou tentando ler uma seqüência de caracteres Json em c #, mas estou tendo problemas para descobrir como analisar a seqüência de caracteres em c #. Digamos que eu tenha as seguintes sequências do 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"
        }
    }
]

Eu quero analisar isso em um arraylist ou dicionário, usando um formato como

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

Eu tenho andado por aí com o Json.Net, mas os exemplos que vi não me dão uma ideia clara de como devo fazer isso. Qual é a melhor maneira de conseguir isso? Isso não pode ser feito como no jQuery, usando uma instrução foreach?