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;}