1.C#可以实现多维可变数组吗?可以实现IList<T>的嵌套吗?或者用变通的方法实现多维可变存储也行。
2.switch (x) x可以是类型吗?比如我想做一个泛型函数,void func<T>(T x),根据<T>的类型用switch来进行不同的处理。
3.Excel和Word读写操作完成后,.Net经常无法正确释放对象,导致内存中还存留有Word.exe或Excel.exe。因此常常使得被操作文件无法直接打开(必须要强制结束对应进程)

解决方案 »

  1.   

    1.List<List<int>> listInList
    2.case 后面只能跟常量,所以不能是类型
    3.这个没经验,看过也忘记了。
      

  2.   

    1,C#可以实现多维可变数组。泛型也可以嵌套。
    2,x不可以是类型,只能是某一个只,活着表达式。它在switch里面是不判断和计算的操作。
    3,看你是怎么处理咯。。这个我就不清楚了,你可以在程序里面做一些处理,他自动搞定咯。如果是在不同的计算机里面做操作,那就先下载到服务器上一个规定的盘里面,然后上传完后在删除。
      

  3.   

    1.可是实现多位数组
    2.case后只能是某个常量,所以X不能是值!
    3.还没有用到过,不清楚!
      

  4.   

    List<T>
    Dictionary<T,T>
    泛型方法public void Swap<T>(ref T x, ref T y)
        {}
    myExcel.Workbooks.Close();
                    myExcel.Quit();
                    int generation = System.GC.GetGeneration(myExcel);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(myExcel);
                    myExcel= null;
    System.Diagnostics.Process myproc= new System.Diagnostics.Process();  
    foreach (Process thisproc in Process.GetProcessesByName(processName)) {  
    if(!thisproc.CloseMainWindow()){  
    thisproc.Kill();  
    }  
      

  5.   

    1,C#可以实现多维可变数组。泛型也可以嵌套。
    2.2.case 后面只能跟常量,所以不能是类型
    3. 1 {
     2 
     3  ...//block A 创建一个数据库db
     4 
     5 }
     6 
     7 access.Quit() //关闭access
     8 
     9 System.Runtime.InteropServices.Marshal.ReleaseComObject(db)
    10 System.GC.Collect();
    11 System.GC.WaitForPendingFinalizers();
    12 
    13 {
    14 
    15  ...//block B, 使用block A中创建的数据库文件
    16 
    17 }
      

  6.   

    1。 Array.Resize可以做到,不过麻烦了点不如list方便
    2。必须是值类型
    3。这个是office固有毛病,不光c#里存在,vbs,php,delphi里同样存在这个毛病。
      

  7.   


    不行啊大哥
    1.   List<List<T>>如何初始化?
    2.   Dictionary<T,T> 并不能实现类似多维数组的存储,只是两个一维可变数组而已
    3.   另外你提供的Excel释放方法应该是终止进程的方式把?会有两个问题:
    1)第一次运行不会关掉excel进程
    2)第二次运行会把所有excel进程都关掉,包括用户开启的