2010-07-22 80 views
2

喜在Actionscript中我可以指的是可變正是如此C#引用一個對象中的對象與字符串變量

objectName["variableName"] = "Some value"; 

我會怎麼做在C#中相當於

感謝

+0

變量名稱與db中的列名稱相匹配,所以不是匹配每一個,而只是想循環列名並填充相應的變量 – Chin 2010-07-22 06:15:08

+0

似乎您有一些想法要完成。到目前爲止,你的C#代碼是什麼? – BoltClock 2010-07-22 06:45:21

回答

1

字典不框架中提供了&的部分語言。使用Dictionary<Key, Value>

例如

Dictionary<string, string> myData = new Dictionary<string, string>(); 

myData.Add("first", "stack"); 
myData.Add("second", "overflow"); 

Console.WriteLine(myData["first"]); 
0

什麼類型的變量?這聽起來像是一本字典/哈希表是最適合的。這些索引運算符爲[],因此語法將相同。

0

C#沒有「帶變量的對象」。 C#對象具有像MyObject.PropertyName一樣訪問的屬性。

+1

呃...是的,他們被稱爲領域,但他們是這樣的:對象級別的變量。 – 2010-07-22 06:15:15

+0

我從來沒有聽到有人將某個字段引用爲「對象變量」 – 2010-07-22 15:48:23

1

你可以使用一個字典...

using System.Collections.Generic; 

public class x{ 
    public method1() { 
    var objectName = new Dictionary<string, object>(); 
    objectName["variableName"] = "Some value"; 
    } 
} 

或者使用強類型的特性(安全和快速運行),建議在那裏你知道在編譯時的變量名。

public class Person{ 
    public string Name {get;set;} 
    public int Age {get;set;} 
} 

// and use it as follows in your functions 

var person1 = new Person() { 
    Name = "Fred", 
    Age = 21, 
}; 

// again, to demonstrate different syntax to do same thing 
var person2 = new Person(); 
person2.Name = "Danny"; 
person2.Age = 2; 
person2.Age = "x"; // won't compile - expects int, hence safer 
1

這取決於。

如果你真正的意思是一個對象,你想:

objectName.variableName = "Some value"; 

如果你想有一個地圖(也稱爲關聯數組)的最佳解決方案是一個字典:

Dictionary<string, string> d = new Dictionary<string, string>() 
d["variableName"] = "Some value"; 
0

什麼你」重新引用是一個關鍵值集合。一個字典是C#實現這個。請注意,字典只允許使用唯一的鍵。您可以一般使用它,以便您可以像這樣使用它。

Dictionary<string, string> myValues = new Dictionary<string, string>(); 
myValues.Add("variableName", "variableValue"); 

Dictionary<string, int> familySizes = new Dictionary<string, int>(); 
familySizes.Add("simpsons", 5); 

正如你可以看到你可以選擇什麼樣的數據類型使用。