循环遍历变量名称

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

我有一个关于在 WPF 中循环变量名称的具体问题。

XAML 代码如下所示:

<Grid>
    <Button name="button1" Visibility="Collapsed" />
    <Button name="button2" Visibility="Collapsed" />
    <Button name="button3" Visibility="Collapsed" />
    <Button name="button4" Visibility="Collapsed" />
</Grid>

我想知道是否可以使用带有数字的 for 循环来循环变量名称,如下所示:

private DateTime time = DateTime.Now;
private CultureInfo ci = new CultureInfo("en-GB");
for(int i = 0; i <= 4; i++)
{
    /* (*Plus i*): A example as what I want/like to do */
    string Year = String.Format(ci, "{0:yyyy}", Time.addDays(i-1));
    button(*Plus i*).Visibility = Visibility.Visible;
    button(*Plus i*).Name = Year;
}

甚至可以添加一个数字来达到某个变量吗?请帮助我,谢谢你的任何回复..

循环遍历变量名称

如果要

遍历该网格中的按钮,则可以为网格指定名称,例如按钮网格。比你可以迭代它的子属性

foreach (var childButton in buttonsGrid.Children.OfType<Button>())
// do smth

不能按运行时生成的名称访问变量。


但是您可以通过在运行时生成的名称来访问控制:

TextBox textbox = grid.FindName("button" + i) as TextBox;