C#中具有变量名的变量

时间:2014-05-28 11:56:49

标签: c# php

在php中,您可以使用${'variable'.$count}

创建具有变量名称的变量

但是目前我需要在C#中使用它,是否有一个C#等价物呢?

编辑:

基本上我试图做的是每次按空格键时创建一个计时器, 第一次名字是timer1 second time timer2 ..

2 个答案:

答案 0 :(得分:2)

您可以将值存储在C#中的Dictionary中。这样你就可以根据特定的密钥检索一个值。

IDictionary<string, object> variables = new Dictionary<string, object>();

添加变量:

variables.Add("varname", 11);

然后检索可以使用的te变量:

var myVar = variables.SingleOrDefault(x => x.Key == "varname");

注意要包含using System.Linq;以使用.SingleOrDefault()

因为object类型用作值,所以可以存储所有类型的变量; (int,string,自定义类实例)。但请注意,在使用变量时,您必须将变量强制转换为您的类型

编辑:如果您只使用计时器,请使用此词典声明:

IDictionary<string, Timer> variables = new Dicitonary<string, Timer>();

答案 1 :(得分:1)

然后创建自己的Timer类型,在其中封装更新名称的逻辑。不需要变量变量。

class MyTimer
{
 // ...

 public void Increment()
 {
   this.name = "name" + (count++).ToString();
 }

 private string name;
 private int cout;
}