我知道我对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