Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.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#_Wpf - Fatal编程技术网

C# 我能把这段代码写得更短吗?用环什么的

C# 我能把这段代码写得更短吗?用环什么的,c#,wpf,C#,Wpf,我能把这段代码写得更短吗?用环什么的 R1.Visibility = Visibility.Hidden; R2.Visibility = Visibility.Hidden; R3.Visibility = Visibility.Hidden; R4.Visibility = Visibility.Hidden; R5.Visibility = Visibility.Hidden; R6.Visib

我能把这段代码写得更短吗?用环什么的

        R1.Visibility = Visibility.Hidden;
        R2.Visibility = Visibility.Hidden;
        R3.Visibility = Visibility.Hidden;
        R4.Visibility = Visibility.Hidden;
        R5.Visibility = Visibility.Hidden;
        R6.Visibility = Visibility.Hidden;
        R7.Visibility = Visibility.Hidden;
        R8.Visibility = Visibility.Hidden;
        R9.Visibility = Visibility.Hidden;
        R10.Visibility = Visibility.Hidden;
我不想做阵列,因为

这不是效率

我考虑过这样的事情

 for (int i = 1; i < 11; i++)
 {
   R+i.Visibility = Visibility.Hidden;
 }
for(int i=1;i<11;i++)
{
R+i.可见性=可见性.隐藏;
}
可能吗


感谢您的帮助:)

使用一种将它们作为参数并通过循环应用的方法

public void SetHidden(params R[] items)
{
    foreach(var r in items)
    {
        r.Visibility = Visibility.Hidden;
    }
}
就这样说吧

SetHidden(R1,R2,R3,R4,R5,R6,R7,R8,R9,R10);

什么是
Rx
?您可以在循环中使用某些容器来访问它们。更好的方法是分离视图和模型,并使用可观察的
bool
集合来更改控件的可见性。类似于
foreach(canvas.Children.OfType()中的var rect){rect.visibility=visibility.Hidden;}