有几个变量,MyName,MyCode,MyTime,MyContent
我想给他们赋多组值,可以通过MyCode的值在list或是数组查询到该组记录,也可以修改MyCode=xxx的某组记录的其他变量值,
也可以把MyCode=xxx的某组记录清除掉.
请问,定义个list还是数组?
怎么定义,操作呀?

解决方案 »

  1.   

    public class SomeObj
    {
       public string MyName { get; set; }
       ...
       public string MyContent { get; set; }
    }List<SomeObj>
      

  2.   


                ArrayList myArrayList = new ArrayList();
                myArrayList.Add()
                myArrayList.Add()
                ……
      

  3.   

    public class Test
    {
       public List<string>  lstMyName{ get; set; }
       public List<string> lstContent { get; set; }}
      

  4.   

    Test t=new Test();
    t.lstMyName.Add("");
      

  5.   

    //初始化List:
    var datas = new List<SomeObj> {
                   new SomeObj { MyCode="a1", MyContent="aaa" },
                   new SomeObj { MyCode="b1", MyContent="bbb" } 
                }
      
    //查找MyCode=a1
    var obj = datas.Find(x => x.MyCode == "a1");           //删除
    datas.Remove(obj);
      

  6.   

    往List里加一组数据呢?
    另外,C#里有var??
      

  7.   

    var record = new SomeObj { MyCode="c1", MyContent="ccc" };
    datas.Add(record);var 关键字是.net 3.5开始支持的。
      

  8.   

    添加一组也可使用addrange
    查找findall,find(delegate
    也可使用from q in lst
    删除remove,removeat
      

  9.   


    此话不妥,
    var是C# 3.0新增的关键字,跟.net 3.5没什么关系.
      

  10.   

    .net 2.0 泛型List还是可以用的。Lambda用不了了,用delegate吧。
      

  11.   

    用Dictionary。
    using System;
    using System.Collections.Generic;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                Dictionary<string, MyClass> dic = new Dictionary<string, MyClass>();
                dynamic m1 = new MyClass { Code = "01", Content = "avd", Name = "gqqnb", Time = "2011" };
                dic.Add(m1.Code, m1);
                dynamic m2 = new MyClass { Code = "02", Content = "hello", Name = "myself", Time = "2010" };
                dic.Add(m2.Code, m2);
                Console.WriteLine(dic[m1.Code]);
            }
        }    class MyClass
        {
            public string Name { get; set; }
            public string Code { get; set; }
            public string Time { get; set; }
            public string Content { get; set; }        public override string ToString()
            { return "Code = " + Code + ", Content = " + Content + ", Name = " + Name + ", Time = " + Time; }
        }
    }
      

  12.   

    呃,csdn代码着色还没支持dynamic呐。。
      

  13.   

    如果有两组记录符合条件
    var obj = datas.Find(x => x.MyCode == "a1"); 是不是只查出一组?
      

  14.   

    泛型主要是加入了一个类型参数的概念。这个类型参数可以运用在类,接口,方法,委托等地方。意义是:比如我有一个类,里面有一个成员的类型我不确定。它可能可以是任意类型,在没有泛型的情况下,我们会把这个成员设置成object类型的成员。问题是,在使用这个成员是我需要做类型转换,这样就有性能损失。而泛型可以在编译是根据类型参数的值确定这个成员的类型。比如下面代码
    namesapce MyTest
    {
      //<T>中的T可以写成任意的名称T不是保留字
      public class TestClass<T>
      {
        T m_Data;//这里T表示m_Data的类型,它将在编译时由其他代码决定
        public TestClass<T>(T data)
        {
          m_Data=data;
        }
      }  public class TestProgram
      {
         /*下面代码中TestClass类的T参数分别被设置成int,string,object和float,所有用到参数T的地发都将被实际的类型所替代
         */
         public TestClass<int> intData;
         public TestClass<string> stringData;
         public TestClass<object> objectData;
         public TestClass<float> floatData;     public TestProgram()
         {
           intData=new TestClass<int>(1);
           stringData=new TestClass<string>("Test");
           objectData=new TestClass<object>("someData");
           floatData=new TestClass<float>(1.3f);
         }
      }
    }以上就是泛型最简单的应用。关于list<>的用法和上面相同。不过泛型的类型参数在实际应用中一般是要用where关键字加约束的。具体可以参考msdn
      

  15.   

    写个类或者结构体,然后用List集合添加更新删除
    lz可以试试看
      

  16.   

    public class SomeObj
    {
       public string MyName { get; set; }
       ...
       public string MyContent { get; set; }
    }List<SomeObj>
      

  17.   

    如果大数据量并且频繁单值查找的话用 System.Collections.Generic.Dictionary
    否则 System.Collections.Generic.List + Linq
      

  18.   

    System.Collections.Generic.List本质就是一个动态数组,如果数组涉及添加或删除操作一般用它