2012-01-09 106 views
0
public static string filename2_1, filename2_2, filename2_3; 
filename2_1="xyz.jpg"; 
filename2_2="abc.png"; 
filename2_3="qwe.jpg"; 

..... 
... 
for (int key = 1; key <= 3; key++) 
{ 
     .... 
foreach (var item in tabItem) 
{ 
item.ImagePath.Value = "images1/" + ("filename2_" + key); 
item.ThumbPath.Value = "thumbnails1/" + ("filename2_" + key); 
} 
} 

如上所述,我需要將(「filename2_」+ key)轉換爲實際變量。任何人都可以幫我解決這個問題將字符串轉換爲變量名稱

+2

你有沒有考慮過使用字典? – Ivan 2012-01-09 19:49:55

回答

10

你不能有動態變量名稱。

變量名稱不能被「創建」。

您可以使用數組或泛型集合來容納您正在使用的數據集合。

var fileSuffixList = new List<string>{ "xyz.jpg" , "abc.png", "qwe.jpg"}; 

foreach(string fileSuffix in fileSuffixList) 
{ 
    .... 
foreach (var item in tabItem) 
    { 
    item.ImagePath.Value = "images1/" + ("filename2_" + fileSuffix); 
    item.ThumbPath.Value = "thumbnails1/" + ("filename2_" + fileSuffix); 
    } 
} 
+0

你能否給我提供一個例子 – Krishh 2012-01-09 19:51:43

+1

@Krishh - 已添加示例。 – Oded 2012-01-09 19:57:36

+0

非常感謝您的回答! – Krishh 2012-01-10 20:13:40

3

如@Oded所述,您不能擁有動態變量名稱。

你可以做的是使用一個集合如字典:

Dictionary<string, int> dictionary = new Dictionary<string, string>(); 
dictionary.Add("filename2_" + key, "Value"); 

如果你的鑰匙始終是數字,也可以使用arrayList。然而,沒有更多的信息,很難告訴你最好的方法去做。

+0

非常感謝您的回答! – Krishh 2012-01-10 20:14:07