1

一段时间以来,我一直在努力寻找解决此问题的方法。我正在将网站从 php 转换为 asp。我有一个这样的数组。

$students = array(

    array(
        "id" => "1",
        "name" => "John",
        "group" => "A"
    ),
    array(
        "id" => "2",
        "name" => "Joe",
        "group" => "A"
    ),
    array(
        "id" => "3",
        "name" => "Derp",
        "group" => "B"
    ),
);

foreach($student as $slacker){
    //use the data
}

是否有任何替代方法可以与 asp 接近?

4

2 回答 2

2

您可以创建一个类并使用泛型列表来保存您的类类型的数组。

public class YourGroup
{
   public string id { get; set; };
   public string name { get; set; };
   public string group { get; set; };       
}

List<YourGroup> lstGroup = new List<YourGroup>();
lstGroup.Add(new YourGroup(id ="1", name="Jon", group="A1"));
lstGroup.Add(new YourGroup(id ="2", name="Jon", group="A2"));
lstGroup.Add(new YourGroup(id ="3", name="Jon", group="A3"));
string idOfFirst lstGroup[0].id;
于 2012-11-20T16:05:48.190 回答
0

您可能正在寻找所谓的字典。虽然它不像 $myArray['foo']['bar'] 那样嵌套很深,但字典将允许您像

 Dictionary<int, MyObject> myDictionary = new Dictionary<int, MyObject>();

您的 MyObject 包含以下对象的位置

 class MyObject
 {
      public string name;
      public string group;
 }

因此,您可以这样遍历它

MyObject foo = new MyObject();

foo.name = "tada!";
foo.group = "foo";

myDictionary.add(1, foo);

foreach (MyObject obj in Dictionary.Values)
{
     //Do Stuff
}

一个完全字符串关联的数组将是

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

 string something = myDictionary["value"];
于 2012-11-20T16:04:17.340 回答