2010-10-11 47 views
5

型後我下面的教程創建一個類:C#編譯錯誤CS1526:一種新的表達需要(),[],或{}

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 

namespace Session3 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
     } 

     private void button1_Click(object sender, EventArgs e) 
     { 
      Vehicle my_Car = new Vehicle; 
     } 
    } 
    class Vehicle 
    { 
     uint mileage; 
     byte year; 
    } 
} 

我正在該線路上提到的錯誤:

private void button1_Click(object sender, EventArgs e) 
{ 
    Vehicle my_Car = new Vehicle; 
} 

有誰知道我在做什麼錯?

+1

試試這個:Vehicle my_Car = new Vehicle(); – Crag 2010-10-11 19:19:46

回答

13

使用

Vehicle my_Car = new Vehicle(); 

調用構造需要()類名之後,就像函數調用。

以下其中之一是必需的:

  • ()的構造函數調用。例如new Vehicle()new Vehicle(...)
  • {}作爲初始值,例如, new Vehicle { year = 2010, mileage = 10000}
  • []用於陣列,例如, new int[3]new int[]{1, 2, 3}甚至只是new []{1, 2, 3}
4

的語法應爲:

Vehicle my_Car = new Vehicle(); 
2

嘗試new Vehicle()

1

假設您正在使用C#3或更高版本的工作,你也可以使用隱式類型,並做到這一點:

var my_Car = new Vehicle(); 

同樣IL是在兩種情況下都產生。