2012-01-09 8 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

答えて

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

+1

@Krishh - 例が追加されました。 – Oded

+0

ありがとうございました! – Krishh

3

@Odedは、動的変数名を持つことはできません。あなたは何ができるか

は、このような辞書としてコレクションを使用している:

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

あなたの鍵は常に数値であれば、あなたもarrayまたはListを使用することができます。しかし、それ以上の情報がなければ、あなたに最も良い方法を伝えるのは難しいです。

+0

ありがとうございました! – Krishh