Parse Json cadena en C #

Estoy tratando de leer una cadena Json en C #, pero tengo problemas para averiguar cómo analizar la cadena en C #. Digamos que tengo la siguiente cadena 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"
        }
    }
]

Quiero analizar eso en un arraylist o diccionario, usando un formato como

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

He estado jugando con Json.Net pero los ejemplos que he visto no me dan una idea clara de cómo debo hacer esto. ¿Cuál es la mejor manera de lograr esto? ¿No se puede hacer esto como en jQuery, usando una sentencia foreach?

Respuestas a la pregunta(5)

Su respuesta a la pregunta