Converting String to Variable Name

I want to have the user specify a variable name as a string, and then have him change it’s value.
This is my current code which fails to work, something expected due to my zero experience with hash tables. What exactly does this one need to work properly?
I may note that this is a potiful attempt at it and should not be used as a base to improve, i fail to understand what Hashtables are.

var Hash : Hashtable;
Hash = new Hashtable();

if (consoleInterpretation[0] == "ModVal") {
    for (var gameObj : GameObject in GameObject.FindObjectsOfType(GameObject)) {
        if (gameObj.name == consoleInterpretation[1]) {

              gameObj.GetComponent(consoleInterpretation[2])
                     .Hash[consoleInterpretation[3]] = 
                      int.Parse(consoleInterpretation[4]);

        }
    }
}

Dynamic code management is a pretty obscure area. You’d be far better off creating an indexed array (Dictionary in C#, Hashtable in Java) of values and allowing the user change values in that table rather than using “real” variable names.

why would someone wanna do this? i can think of thousands of reasons. ive been struggling with this myself for some time. i am building a very advanced inventory system from scratch and it would make my life a lot easier if there was a format command to turn string into variable name. its not some mysterious thing its very basic…

Answered here: Getting variable name from a string - Questions & Answers - Unity Discussions

I would avoid it as it could lead to all kinds of unwanted hacking and intrusions.