作者BETNPP (NPP)
看板C_Sharp
標題Re: [問題] 動態變數宣告(動態變數名稱)
時間Mon Dec 21 01:48:04 2009
※ 引述《icrofox (秘密虎)》之銘言:
: 請問 C# 有辦法將變數名稱以動態的方式宣告嗎?
: 例如:
: int count = 0; // count 是全域變數
: // 使用者按了某個按鈕後
: {
: static string var_(count) = openFileDialog1.Filename;
: count++;
: .
: .
: .
: // 做一些事
: }
: 其中 var_0, var_1, var_2, ... 希望能動態產生
: (有必要才產生,而且不像陣列要給元素個數的值)
: .
: .
: .
: 目前的方法是用陣列:
: int count = 0;
: string[] var = new string[10000]; // 但是這裡要先指定 10000
: // 如果使用者按超過 10000 次按鈕
: // 就會超出陣列範圍
: // 使用者按了某個按鈕後
: {
: string var[count] = openFileDialog1.Filename;
: count++;
: .
: .
: .
: // 做一些事
: }
: 希望有好心人能幫我解惑,謝謝!
如果使用List呢?
可能會比陣列好一點但是
這樣無法動態宣告變數名稱 可以解決變數數量不用先宣告問題
例如:
<List>String varList = new <List>String();
// 使用者按了某個按鈕後
{
String tempString = openFileDialog1.Filename;
//他會加到varList中最後一個
varList.Add(tempString);
//使用上可以用varList[count].xxxx去使用
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.116.4.199
推 horngsh:use ArrayList 12/21 09:36
推 leicheong:ArrayList有boxing/unboxing的overhead, 因此用 12/21 10:11
→ leicheong:<List>String 會比較好哦... 12/21 10:11