簡體   English   中英

如何在變量名中添加插入器編號?

[英]How to add an interator number to a variable name?

在我的程序中,我目前正在以編程方式在C#中添加各種表單對象。 例如,我正在嘗試創建一組面板,其中包含我要顯示的數據。 加載表單時,我有一個文件,其中包含我希望加載的所有數據,加載本身工作正常,但是加載時,我需要創建各種表單標簽,面板和圖像以顯示所有必要數據,並且這樣,我需要以編程方式使這些面板和標簽全部使用單獨的名稱。

for (int i=0; i<fileLength; i++)
{
    Panel pnl = New Panel();
    pnl.Name = "pnl1"+i;
    //Set the other properties here
}

如果要使用迭代器將當前迭代附加到名稱的末尾,我要做什么。 我是否正朝着正確的方向前進? 還是我應該采用其他方法?

您不能在運行時更改變量/對象名稱。 如果要針對該對象編寫代碼,則需要保留對其的引用。 在您的情況下,您已經更改了PanelName屬性,但是仍然必須將其用作pnl ,而不是pnl0pnl1

進行此操作的另一種方法是使用Dictionary ,將key作為您分配的名稱,並將value作為對象本身。 這將幫助您使用分配給它的名稱訪問控件。

Dictionary<string, Panel> panels = new Dictionary<string, Panel>();
for (i = 0; i <= 10; i++) {
    Panel pnl = new Panel();
    panels.Add("pnl" + i.ToString(), pnl);
}
//write code against panels
panels("pnl0").Width = 100;

對於循環內訪問:

foreach (string pnlName in panels.Keys) {
    panels(pnlName).Visible = true;
}

for (i = 0; i <= 10; i++) {
    panels("pnl" + i).Visible = true;
}

暫無
暫無

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

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