【问题标题】:Input string to variable name [closed]输入字符串到变量名[关闭]
【发布时间】:2016-09-30 20:48:26
【问题描述】:

我想知道这是否可能。

场景:

用户输入存储为字符串。 然后我已经初始化并声明了 int 变量。 现在我想说如果用户写入的字符串与这些 int 变量之一的名称相同,那么将 int 变量的值存储在另一个中。

希望您了解我要归档的内容并能帮助我! ^^

【问题讨论】:

  • 使用Dictionary<string,int> 可能比使用一组单独的int 更容易。
  • 显示你到目前为止所拥有的——如果你试图使用一个字符串来通过名称引用一个局部变量,那么不,这是不可能的。你想解决什么问题?
  • 改为使用常量并检查输入值是否 == const
  • 我正在使用一个设置文件,我希望用户选择例如一个汽车品牌。然后他输入“起亚”,现在我已经读到了一个变量,比如 int Kia = 12123;这是起亚的号码,这就是我想检查的。
  • 如果您使用的是 C# 6.0,nameof expression 可能就是您要查找的内容。

标签: c# string input int


【解决方案1】:

PaulF 是正确的,如果你使用的是 c# 6,你可以使用 nameof 运算符

int var1 = 2;
string var2 = "var1";
if(nameof(var1) == var2)

【讨论】:

    【解决方案2】:

    由于编译器重命名它们以节省内存,因此无法在运行时获取访问变量名称。但是您可以使用 Hashtable 来存储字符串和关联的 int。它不完全是您正在寻找的东西,但它应该可以工作。

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-10
      • 1970-01-01
      相关资源
      最近更新 更多