Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在循环中按名称访问动态对象_C#_Loops - Fatal编程技术网

C# 在循环中按名称访问动态对象

C# 在循环中按名称访问动态对象,c#,loops,C#,Loops,我是c#的新手,也是一名php/js/html开发人员。 我有8个开关名为继电器1、继电器2、继电器3等 我需要能够改变这些的状态,但我想通过一个for循环来实现,所以这个数字是动态的。 我试过各种方法,但都没有用。 任何帮助都将不胜感激。 这是我想要的(不正确) for(int i=0;i

我是c#的新手,也是一名php/js/html开发人员。 我有8个开关名为继电器1、继电器2、继电器3等 我需要能够改变这些的状态,但我想通过一个for循环来实现,所以这个数字是动态的。 我试过各种方法,但都没有用。 任何帮助都将不胜感激。 这是我想要的(不正确)

for(int i=0;i<8;i++)
{
继电器检查为真;
}

您不能动态生成变量的名称,但可以创建
中继
对象数组(下面的
所有中继
变量),并在循环中执行操作,如下所示:

var allRelays = new {relay_0, relay_1, relay_2, relay_3, relay_4, relay_5, relay_6, relay_7, relay_8};
foreach (var relay in allRelays) {
    relay.IsChecked = true;
}

您不能动态生成变量的名称,但可以创建
relay
对象数组(下面的
allRelays
变量),并在循环中执行操作,如下所示:

var allRelays = new {relay_0, relay_1, relay_2, relay_3, relay_4, relay_5, relay_6, relay_7, relay_8};
foreach (var relay in allRelays) {
    relay.IsChecked = true;
}

你不想这样做,你想学习集合类型。相信我,每个初学者都认为他们想要这样做,但这只是因为他们不理解集合(数组、列表等)。忘记php、js和html。C#是强类型(严肃的)语言。你需要学习OOP,如上所述,你正在寻找一个列表或集合。你不想这样做,你想学习集合类型。相信我,每个初学者都认为他们想要这个,但这只是因为他们不理解集合(数组、列表等)。忘记php、js和html。C#是一个强类型(严肃的)语言。你需要学习OOP,如上所述,你正在寻找一个列表或集合。