数组必须初始化,可以用icollection接口

解决方案 »

  1.   

    string[行数][列数]xx=new string array
      

  2.   

    想吧datatable里的行,和列生成二维数租
    ---直接用呀
      

  3.   

    http://community.csdn.net/Expert/topic/3349/3349738.xml?temp=.405224
      

  4.   

    string[] tmp = new string[2];
    ArrayList tmpArray = new ArrayList();
     
    tmpArray.Add(tmp);
    ...
      

  5.   

    我声明的结构,结构里有二维数组
    struct rtnResult
    {
       string[,] result;
       string[,] reason;
    }
    整个函数的返回值为这个结构,
    我想把datatable里的某些行,列分别写入不同的数组,现在不知道怎么初始化这个
    数组,不知道怎么怎么动态的把符合条件的值付到数组上,谢谢!各位高手,快帮帮我吧!
    我要完不成任务了,在此谢谢各位了!
      

  6.   

    声明结构不太好,我觉得声明个class比较好,然后加入到ArrayList中,很方便的!
      

  7.   

    -----构造类---
    public class ClassTest
    {
    private string x;
    private string y;
    public ClassTest(string strCol,string strRow)
    {
    x=strCol;
    y=strRow;
    }
    public string X
    {
    get{return x;}
    set{x=value;}
    }
    public string Y
    {
    get{return y;}
    set{y=value;}
    }
    }
    ----------
    asp.aspx文件中..
    ----------
    ArrayList alTemp=new ArrayList();
    alTemp.Add(new ClassTest("010","中国"));
    alTemp.Add(new ClassTest("011","美国"));
    alTemp.Add(new ClassTest("012","英国"));
    alTemp.Add(new ClassTest("013","法国"));
    alTemp.Add(new ClassTest("014","德国"));
    dataGrid1.DataSource=alTemp;
      

  8.   

    当然上面的"010"之类的可能用SqlDataReader 在数据库读出。
      

  9.   

    当然上面的"010"之类的可能用SqlDataReader 在数据库读出。
      

  10.   

    可我的接口文档已经发出去了,不能轻易改呀!大家快告诉我怎么初始化,负值数组吧!别的都不重要!重要的是初始化数组,给数组付值,result=new .........
      

  11.   

    把ArrayList(或者StringCollection)放在ArrayList里~
      

  12.   

    resut=new string[,2]
    有语法错误呀!初始化能否用变量呀!
      

  13.   

    直接返回DataTable,如果要条件的话,在select语句中写上就行。
      

  14.   

    怎样重新分配数组的大小,维数,vb里用redim result[rows],在c#里怎么用呀!大家快帮帮我吧!必有重谢!!!!!!
      

  15.   

    DataTable本来就是一个维数组。
      

  16.   

    试试C#中的ArrayList类型吧,这种类型和java中的vector差不多,非常方便灵活
    ArrayList al1 = new ArrayList();    ArrayList rm2 = new ArrayList();
        rm2.Add((string)"hello1");
        rm2.Add((string)"hello2");
        rm2.Add((string)"hello3");
        
    rm1.Add((ArrayList)rm2);就生成一个类似二维数组的列表
    用 (ArrayList)rm1[0] 可以取出rm2
    (String)rm2[0] 可以取出"hello1"唉呀,就是这个意思。
     .Add(Object obj) 方法可以加入一个元素
     .RemoveAt(int i) 方法可以删除指定元素
     .Insert(int index, Object obj) 方法可以插入一个元素
    这个取值也是很simple的
    ArrayList有个属性.size()
    告诉你这个列表中有多少个元素
    用for (int i=0;i<al.Count;i++)
    {
       String ss = al[i];
    }
    就可以取出所有元素了!
    (转贴)
      

  17.   

    datatable本身就是一个类似于二维数组的
    dtStr[][]=new string [datatable.rows.count][10](列数根据你的数据库情况自己设置,这里我是随便假设的)for(int i=0;i<datatable.rows.count;i++)
    {
        for(int j=0;j<10;j++)
        {
            dtStr[i][j] =  datatable.row[i][j].ToString();
        }
    }
    这样应该就可以的
      

  18.   

    我不是用sql生成的dataset,是读的xml串,dataset.readxml(),然后把表里符合条件的记录去出来,付到数组中,作为结构的成员,返回来!
      

  19.   

    int[][]和int[,]用法上有什么本质的区别吗?,
      

  20.   

    str=new string[2,3]
    我负值完了,想把数组元素取出来,
    for (i=0;i<??????;i++)
      for (j=0;i<????;j++)
        a=str[i,j];
    其中,??????处该添什么呀?怎么取出他们的长度呀,str.length不行呀!!!!
      

  21.   

    for (i=0;i<str.length;i++)
      for (j=0;j<str[i].length;j++)
        a=str[i,j];
      

  22.   

    C#数组并不是动态的,你必须自己来把他变成动态结构,除非你使用其他类。初始化一个2维数组,有两种方法:
    方法1:你可以假设一个初始长度,在对数组添加元素的时候,你都需要对数组做边界检查,如果数组尺寸不够了,你需要创建一个新的数组,然后复制原来的数组到新的数组。
    初始化代码如: string[,]  myStrings = new string[10,10]; //假设元素的类型为string
    方法2:初始化第一维长度为0,在每次插入新的原始的时候,都复制一个新的数组,使它的长度等于原来数组长度+1,这里假定第二维是不变的(因为同时对两个维进行扩展,没有太大的意义,同时增加了复杂度,即使是DataTable,也是先要设置列数,再添加行)
    初始化代码如: string[,] myStrings = new string[0,10];实现数组动态的代码如:
                   插入新的行的操作:
                   public void Add(string[] dataString)
                   {               int rowCount = myStrings.GetUpperBound(0);
                   int colCount = myStrings[0].GetUpperBound(1);
                   string[,] temp = new string[rowCount+1, colCount];               for(int i=0; i<rowCount; i++)
                      for(int j=0; j<colCount; j++)
                          temp[i,j]= myString[i,j];         //复制原数组到新数组
                   int k=0;
                   foreach(string data in dataStrings)    //赋值               
                      temp[rowCount,k++] = data;
                   
                   myStrings = temp;           //把新数组设置回字段
                   }
    另外如果第二维需要扩展,可以考虑采用锯齿数组结构,也就是说数组的数组:
    string[][] myString;
    这种结构和二维数组不同的是,它的第二维可以不是固定的,动态扩展可以按照一维数组分别对两个数组进行。方法类似上面代码的过程,不同的是它可以使用一个类库中的CopyTo方法(当然,CopyTo内部也是逐个复制)。
    希望上述代码对你有些帮助。