Я использую List<>
в C#. Я хочу добавить значения в List
. Но проблема в том, что первый элемент успешно добавляется, но когда второй элемент вставляет одно и то же значение ovverride в первый, пример первый элемент abc
вставлен успешно, но когда второй пункт xyz
пришел, он овердиде abc
до xyz
, и оба пункта показывают xyz
. Вот мой код.новый элемент, добавляющий в список, переопределяющий предыдущий
DataTable dtbl3 = new DataTable();
List<CartItems> lst = (List<CartItems>)Session["mycart"];
dtbl3 = DAL.Get("Select * from mytable");
List<EmailClass> lstCstmer = new List<EmailClass>();
for (int j = 0; j < lst.Count; j++)
{
emailLst.__EmailcstName = dtbl3.Rows[0]["cstm_name"].ToString();
emailLst.__EmailcstLName = dtbl3.Rows[0]["cstm_LName"].ToString();
emailLst.__EmailcstAddress = dtbl3.Rows[0]["cstm_Addr"].ToString();
emailLst.__EmailcstPhoneNo = dtbl3.Rows[0]["cstm_Phone"].ToString();
emailLst.__EmailcstCellNo = dtbl3.Rows[0]["cstm_CellNo"].ToString();
emailLst.__EmailcstskypId = dtbl3.Rows[0]["cstm_skypeId"].ToString();
emailLst.__EmailcstEmail = dtbl3.Rows[0]["cstm_email"].ToString();
emailLst.__EmailcstCountry = dtbl3.Rows[0]["cstm_country"].ToString();
emailLst.__EmailcstCity = dtbl3.Rows[0]["cstm_City"].ToString();
emailLst.__EmailcstZipcode =Convert.ToInt32(dtbl3.Rows[0]["cstm_ZipCode"].ToString());
emailLst.__EmailcstRemarks = dtbl3.Rows[0]["cstm_remarks"].ToString();
emailLst._EmailCartProdName = lst[j]._CartProdName;
emailLst._EmailCartProdPrice = lst[j]._CartProdPrice;
emailLst._EmailCartProdQnty = lst[j]._CartProdQnty;
emailLst._EmailCartProdCode = lst[j]._CartProdName;
emailLst._EmailTotalProdPrice = lst[j]._TotalProdPrice;
lstCstmer.Add(emailLst);
}
Где вы инициализировать экземпляр 'emailLst'? – Shaharyar
http://stackoverflow.com/questions/13659284/c-sharp-list-overwrite-issue, http://stackoverflow.com/questions/2156482/why-does-adding-a-new-value-to-list -overwrite-previous-values-in-the-list, http://stackoverflow.com/questions/19156612/ilist-add-overwriting-existing-data и т. д. Поиск в Интернете для «C# loop list add overwrite», и вы найдете много результатов. –
CodeCaster
@Shaharyar emailLst - это класс класса –