C#new意思

在C#中,new關鍵字有多種用途,以下是其中的一些:

  1. 創建對象:new關鍵字用於創建對象實例。例如:

    MyClass obj = new MyClass();
  2. 調用無參數構造函式:當創建對象時,如果沒有顯示地提供參數,C#會自動調用無參數的構造函式。如果類中沒有定義無參數的構造函式,則需要提供一個有參數的構造函式,並在創建對象時提供相應的參數。

  3. 調用靜態方法:new關鍵字還可以用於調用靜態方法。例如:

    MyClass.NewMethod();
  4. 使用new約束:在泛型編程中,new約束用於確保類型參數至少有一個公共的無參數構造函式。例如:

    public class MyClass<T> where T : new()
    {
        public T Instance { get; }
    
        public MyClass()
        {
            Instance = new T();
        }
    }
  5. 使用new修飾符:new修飾符用於隱藏從基類繼承的成員。例如:

    public class MyClass : BaseClass
    {
        public new void Method()
        {
            // 此方法隱藏了從基類繼承的 Method() 方法。
        }
    }
  6. 使用new約束的泛型方法:在泛型方法中,new約束用於確保類型參數至少有一個公共的無參數構造函式。例如:

    public void MyMethod<T>(T obj) where T : new()
    {
        T newObj = new T();
    }
  7. 使用new關鍵字初始化集合:在C# 9.0中,可以使用new關鍵字初始化集合。例如:

    List<int> numbers = new() { 1, 2, 3 };

請注意,new關鍵字的具體用法取決於上下文。在上述例子中,new關鍵字用於創建對象、調用靜態方法、提供無參數構造函式的約束、隱藏基類成員、提供泛型方法的構造函式約束以及初始化集合。