一个函数,需要返回一个dateset,一个string, 一个int
我知道用out,或者ref可以实现这个功能但是这个不好扩展,如果要返回5个以上的时候,不得写一堆参数啊我想返回一个数组,但是数组都要同一个类型的该怎么做呢?只返回一个数组,把要返回的都扔进数组里

解决方案 »

  1.   

    你说了什么?Array不就是数组嘛
    我也要返回Array啊
      

  2.   

    说错了,是ArrayList,里面可以添加任意类型
      

  3.   

    4L is right.
    发帖的时候,还没看到4L的回复,重复了。 sorry ,4L.
      

  4.   


    我以前遇到过,是用的2楼的方法。
    就是定义一个结构体,里面的元素包括你需要的信息,如dateset,string, int等(我之前用的是Hashtable)。
    然后定义一个返回上述结构体的函数,在你的函数中构建结构体内容然后return即可。
      

  5.   

    集合不复杂的话就用List<string>,如果复杂的话,自定义结构体。
      

  6.   


        class Class1
        {
            private DataSet _ds;
            private string _str;
            private int _i;        public DataSet ds
            {
                set { _ds = value; }
                get { return _ds; }
            }        public string str
            {
                set { _str = value; }
                get { return _str; }
            }        public int i
            {
                set { _i = value; }
                get { return _i; }
            }
        }
                DataSet TestDs = new DataSet();
                List<Class1> test = new List<Class1>();
                Class1 c = new Class1();
                c.i = 1;
                c.str = "测试";
                c.ds = TestDs;
                test.Add(c);
      

  7.   

    如果只有一组记录的话,不需要定义LIST<>这样就可以
                Class1 c = new Class1();
                c.i = 1;
                c.str = "测试";
                c.ds = TestDs;
      

  8.   

    OBJECT 数组
    想放啥就放啥,但是你要有个规则 比如第一个是哪个 第二个是哪个 这样就OK
    或者返回一个集合 如 Dictionary 这样的键值对
      

  9.   


     Dictionary<string,object[]> Dic()
            {
                Dictionary<string, object[]> obj = new Dictionary<string, object[]>();
                obj.Add("唯一键值", new object[] { 1, 2, 3 });
                ...
                return obj;
            }
      

  10.   

    List<object>
    封装................
      

  11.   

    .net 4.0里增加了Tuple类型,可用它实现多个返回值