将变量名称动态设置为文本框的名称

Setting Name of Variable to that of a Textbox Dynamically

我目前正在做一个项目,我创建了一个自定义计算器来保存您自己的公式。

数字上下元素,允许用户在计算器中设置一定数量的变量。列出他们使用的变量后,他们输入问题并将结果显示在输出文本框中。

我希望它的工作方式是每个文本框都有一个变量。我希望变量的名称动态更改为文本框中的文本。

在用户输入的问题中设置为由计算机求解的字符串。

例如

var unnamedVarForTextbox1;

//pseudo code
unnamedVarForTextbox1.name = textbox1.Text; //let's say var1 is l for length (user input)
unnamedVarForTextbox2.name = textbox2.Text; //let's say var2 is w for width (user input)
unnamedVarForTextbox3.name = textbox3.Text; //let's say var3 is h for height (user input)

string userProblem = problem.Text;
//problem.Text is l*w*h (so volume)

//Displays solved problem in output textbox
output.text = userProblem;

我该怎么做?如果有其他方法可以实现我的目标,或者您需要任何照片,请告诉我,在此先感谢您。

以下是一些稍微相关的网站: Is it possible to dynamically name variables based off user input?

首先,你不能这样做;编译时需要知道变量和控件名称。但是,您可以使用字典或类似的东西,您可以在编译时或运行时创建键和值,并在运行时查询它们。

完整的人为示例:

private Dictionary<string,string _store = new Dictionary<string,string();

...


_store.Add(textbox1.Text,someValue);


...

if(_store.TryGetValue(textbox1.Text,out var someValue)
   Debug.WriteLine(someValue);