学C#!有一个自定义结构,某个函数需要返回一个该结构的数组,这么写标准吗?
还有我需要为每个item都new一下吗,以前用的delphi,添加进List的都应该是指针,那么返回的list[0]、list[1]的ID值都应该是2,但是C#里这里我测试list[0].ID=1,list[1].ID=2,还有我不用Free掉List吧?这是用在网页里的,会自动释放吗?public struct Item
{
    public string ID;
    public string Name;
}
public List<Item> test()
{
    List<Item> list= new List<Item>();
    Item item = new Item();
    item.ID = "1";
    list.Add(item);
    item.ID = "2";  //只是为了测试,到底Add的是指针还是实例
    list.Add(item);
    return list;
}

解决方案 »

  1.   


    你第一第添添加ID为1的Item。进LIST。。第二次还是添加的同一个ITEM。。只是你的item的ID改为了2.。再添加进了LIST...
      

  2.   

    public List<Item> test()
    {
        List<Item> list= new List<Item>();
        Item item = new Item();
        item.ID = "1";
        list.Add(item);
     Item item1 = new Item();
        item.ID = "2";  //只是为了测试,到底Add的是指针还是实例
        list.Add(item1);
        return list;
    }
      

  3.   

    Item item1 = new Item();
      item1.ID = "2"; //修改一下,楼主用的是同一实例
      

  4.   

    一般都是指针,如果要想达以LZ要的效果,就用copy之类的方法