DataSet ds//定义ds为DataSet类型的变量
DataSet ds = new DataSet()//定义并且实例化
使用 static 修饰符声明属于类型本身而不是属于特定对象的静态成员。static 修饰符可用于字段、方法、属性、运算符和构造函数,但不能用于索引器、析构函数和类型。备注
常数或者类型声明隐式地是静态成员。 
不能通过实例引用静态成员。然而,可以通过类型名称引用它。例如,请考虑以下类: 
public class MyBaseC 
{
   public struct MyStruct {
      public static int x = 100;
   }
}
若要引用静态成员 x,请使用完全限定名(除非可从相同范围访问): MyBaseC.MyStruct.x
尽管类的实例包含该类所有实例字段的单独副本,但每个静态字段只有一个副本。 
不可以使用 this 引用静态方法或属性访问器。

解决方案 »

  1.   

    new 运算符创建一个新对象。new constructor[( [arguments] )] 
    Argumentsconstructor 
    必选。对象的结构。若构造函数没有参数,则可省略圆括号。 
    参数 
    可选项。任意传递给新对象的构造函数的参数。 
    备注new 运算符执行以下任务: 1,创建一个没有成员的对象。 
    2,它为该对象调用构造函数,给新创建的对象传递一个引用,作为 this 指针。 
    3,然后,构造函数根据传递给它的参数初始化该对象。 
      

  2.   

    那他们在内存分配上有何区别,如何选择是否把一个类定义为static
      

  3.   

    想共用這個類的話就聲明成static
      

  4.   

    static所修饰的方法字段属性将不能被实例化
    dataset ds;//不会被分配内存,只是声明
    dataset ds=new dataset();//调用构造函数分配内存,产生实例