我正在爲學校作業,它涉及創建一個應用程序,如何創建它的某些限制。比如有一定數量的方法。我想我會說在發佈看起來沒有優化的代碼之前,事實上可以用較少的方法完成。空引用,學習OOP
無論如何,目前我有一個Northwind類,它處理來自數據庫的所有東西,在這種情況下,創建一個填充了Shipper對象的列表,然後使用另一個Northwind方法將其轉換爲隊列。 (這是我的意思,沒有優化,我可以從一開始就使用隊列,但我不允許)。但是,當我使用它時,會出現一個非常常見的錯誤。但我想不通爲什麼...
class Northwind
{
public Queue<Shipper> Queue { get; set; }
public List<Shipper> GetList()
{
var con = new SqlConnection("Data Source=DESKTOP-G5VBFCN;Initial Catalog=Northwind;Integrated Security=True");
var cmd = new SqlCommand("SELECT CompanyName, Phone FROM Shippers",con);
con.Open();
var reader = cmd.ExecuteReader();
var ShipList = new List<Shipper>();
while (reader.Read())
{
var s = new Shipper
{
CompanyName = reader["CompanyName"].ToString(),
Phone = reader["Phone"].ToString()
};
ShipList.Add(s);
}
con.Close();
return ShipList;
}
public Queue<Shipper> GetQueue(List<Shipper> List)
{
Queue<Shipper> ShipperQueue = new Queue<Shipper>(List);
return ShipperQueue;
}
}
}
我用的是類在我Form1.cs的
public partial class Form1 : Form
{
Northwind db;
Shipper Shipper;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
db.Queue = db.GetQueue(db.GetList());
}
盡請注意到羅斯文數據庫;實際上是用綠色強調的。我剛開始學習OOP。感謝您花時間查看我的代碼。
你永遠不會初始化'db' ... –
@JeffMercado喔我想羅斯文分貝; Northwind db = new Northwind(); –