c#中有变量名的变量

本文关键字:变量 变量名 | 更新日期: 2023-09-27 18:05:37

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

创建变量名

,但目前我需要这个在c#中,是否有一个c#等效的?

编辑:

基本上我想做的是每次按空格键时创建一个计时器,第一次命名为timer1,第二次命名为timer2.

c#中有变量名的变量

您可以将值存储在c#中的Dictionary中。这样,您就可以根据特定的键检索值。

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

添加一个变量:

variables.Add("varname", 11);

然后检索变量,您可以使用:

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

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

因为使用object类型作为值,所以可以存储各种变量;(int, string,自定义类实例)。但是请注意,在使用变量

时,必须将该变量强制转换回您的类型。

EDIT:如果你只使用计时器,使用这个字典声明:

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

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

class MyTimer
{
 // ...
 public void Increment()
 {
   this.name = "name" + (count++).ToString();
 }
 private string name;
 private int cout;
}