我知道我對C#專家的要求可能沒有多大意義,但我會解釋我想要做什麼,然後可以建議我如何以更好的方式做到這一點,如果你想要好?我有一個名爲DatabaseManager的C#類,它處理不同的MySQL查詢(ado.net NET連接器,不是linq或任何類型的ActiveRecord-ish庫)。以C#存儲閱讀器信息#
我做這樣的事情
categories = db_manager.getCategories();
的分類列表是相當小的(10個項目),所以我想知道什麼是訪問檢索到的信息,而無需大量額外代碼的最佳方式。
現在我正在使用Struct來存儲信息,但我確信有一個更好的方法來做到這一點。
這裏是我的代碼:
public struct Category
{
public string name;
}
internal ArrayList getCategories()
{
ArrayList categories = new ArrayList();
MySqlDataReader reader;
Category category_info;
try
{
conn.Open();
reader = category_query.ExecuteReader();
while (reader.Read())
{
category_info = new Category();
category_info.name = reader["name"].ToString();
categories.Add(category_info);
}
reader.Close();
conn.Close();
}
catch (MySqlException e)
{
Console.WriteLine("ERROR " + e.ToString());
}
return categories;
}
-1用於拋出MySqlException,並且不執行使用語句。 – 2009-05-17 20:35:34
它是原始代碼的較短版本。正如你在catch塊中看到的那樣,在實現的其餘部分中有一個名爲「// code」的註釋。 – Gidon 2009-05-25 20:30:34