static,可以不用申明对象把,直接使用

解决方案 »

  1.   

    静态构造函数主要用来初始化静态变量的值.
    这种函数只执行一次,在第一次创建类的对象的时候,就会自动调用它.
    可以参考一下下面的代码.using System;class Welcome
    {
    public Welcome()
    {
    Console.WriteLine("构造函数 Welcome()");
    }static Welcome()
    {
    Console.WriteLine("构造函数 static Welcome()");
    }static void Main()
    {
    new Welcome();
    new Welcome();
    Console.ReadLine();
    }
    }执行结果:
    构造函数 static Welcome()
    构造函数 Welcome()
    构造函数 Welcome()
      

  2.   

    对哟,new p 是实例构造,static p 才是静态,不常用居然忘光光了惭愧惭愧
      

  3.   

    有静态构造函数的类就是不需要实例化的(new())的,而且大概也不能被实例化。在Framework里就有大量这样的类,如
    ConfigurationSettings.AppSettings.Get("connstring");
    直接使用该类的方法就行了,而不需要构造任何对象出来。
    由于C#是全面向对象的语言,而有些事情又不必要要new出对象来,所有有了这样的静态构造函数
      

  4.   

    创建第一个实例或引用任何静态成员之前,将自动调用静态构造函数来初始化类
    using System;
    class MyClass
    {
       // Static constructor:
       static MyClass() 
       {
          Console.WriteLine("The static constructor invoked.");
       }   public static void MyMethod()
       {
          Console.WriteLine("MyMethod invoked.");
       }
    }class MainClass
    {
       static void Main() 
       {
          MyClass.MyMethod();
         // MyClass mc = new MyClass();
       }
    }
    输出
    The static constructor invoked.
    MyMethod invoked.
      

  5.   

    static之所以存在就是因为可以方便我们不用创建实体。
    我们可以通过class来调用。如果所有的实体都有这种方法的话,我们就可以选择static了。
    只要还是这种方法与实体无关
      

  6.   

    一些函数要经常用到,我们可以专门写一个类如MyTools,在里面放常用的函数假如为ShowPictrue(),用来显示图片,我们比较一下静态和非静态就知道了。
    一、非静态
    public void ShowPictrue()
    {
    }
    二、静态
    static public void ShowPictrue()
    {
    }
    在一个具体的引用中,对于第一种情况我们用
    MyTools mytool=new MyTools();
    mytool.ShowPictrue();
    第二种情况:
    MyTools.ShowPictrue();
    看清楚了吗?第一种要首先声明一个变量再调用,第二种直调用,理论我就不讲了,掌握这一点就差不多了,注意的是,静态函数中不能使用非静态的变量。