我对编程很陌生,所以这对你们大多数人来说可能是一个愚蠢的问题,但由于我已经尝试在 Google 中查找,所以它是这样的:
我创建了一个具有一些属性和 2 个方法的类,其中一些属性应该用于第一种方法,另一个用于第二种方法。
这两种方法都返回一个列表,我的问题是这两个列表都返回了所有属性。不知道为什么,因为我没有在这两种方法中都使用它们……这里有一个例子:
class orders
{
public string invoiceID { get; set; }
public string employee { get; set; }
public string store { get; set; }
public string client { get; set; }
public string invoiceDate { get; set; }
public string total { get; set; }
public string totalYear { get; set; }
public string year { get; set; }
public static List<orders> getOrders()
{
string sSQL = "bla bla bla huge query "
DBConnect connect = new DBConnect();
DataTable dt = new DataTable();
dt = connect.getBD(sSQL);
List<orders> o = new List<orders>();
for (int i = 0; i < dt.Rows.Count; i++)
{
orders ord = new orders();
ord.invoiceID = dt.Rows[i]["invoiceid"].ToString();
ord.employee = dt.Rows[i]["empname"].ToString();
ord.store = dt.Rows[i]["storename"].ToString();
ord.client = dt.Rows[i]["clientname"].ToString();
ord.invoiceDate = ((DateTime)dt.Rows[i]["invoicedate"]).ToString("dd-MM-yyyy");
ord.total = dt.Rows[i]["total"].ToString();
o.Add(ord);
}
return o;
所以在这种方法中,我没有使用公共属性 year 和 totalYear,但它们仍然出现在列表中:(
我究竟做错了什么 ?
在此先感谢并抱歉这个菜鸟问题。
更新1(第二种方法)
public static List<orders> getTotalYearInvoices()
{
DateTime date = DateTime.Now;
int year = date.Year;
List<orders> o = new List<orders>();
for (int i = 2009; i < year; i++)
{
string sSQL = " another huge query"
DBConnect connect = new DBConnect();
DataTable dt = new DataTable();
dt = connect.getBD(sSQL);
orders ord = new orders();
ord.year = i.ToString();
for (int j = 0; j < dt.Rows.Count; j++)
{
ord.totalYear = dt.Rows[j]["total"].ToString();
}
o.Add(ord);
}
return o;
}