簡體   English   中英

C#使用循環遍歷對象名稱

[英]C# Go through object names with loop

我有一個數獨游戲,我想在其中自動生成一個數獨,以便玩家可以解決。

當我已經在2d數組中生成數字時,我想通過將它們放在81個按鈕的文本屬性中來使這些值對用戶可見。 這些按鈕均以類似的方式命名。 (sudoku_0_0,sudoku_0_1等-第一個數字是x坐標,第二個數字是y坐標)

我可以將值循環顯示在按鈕上嗎? 喜歡:

for(var x=0;x<=8;x++){
    for(var y=0;y<=8;y++){
        sudoku_x_y.Text = "Hello"
    }
} 

顯然這是行不通的,但是有沒有辦法做類似的事情?

將您的按鈕也放入數組。

制作按鈕的2D數組,然后執行以下操作:

Button[][] sudokuButtons = new Button[9][9];
for (int row = 0 ; row != 9 ; row++) {
    for (int col = 0 ; col != 9 ; col++) {
        var name = string.Format("sudoku_{0}_{1}", row, col);
        sudokuButtons[row][col] = this.Controls.Find(name, true).FirstOrDefault() as Button;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM