Почему мой список показывает только последнее значение после его прохождения? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть список и я добавил значения к нему, но он показывает только последнее добавленное значение после извлечения значений из него.почему?

DataTable dt = ClsContractor.GetContractorsPasswordsWhereEqualsCNIC();
Contractors c = new Contractors();

DataRow dr = dt.Rows[0];
int i = 0;
foreach (DataRow r in dt.Rows)
{
    string password = Utility.Decrypt(Convert.ToString(r["Password"])).Trim();
    string CNIC = Convert.ToString(r["CNIC"]).Trim();
    c.NewPwd = Convert.ToString(r["NewPwd"]).Trim();         

    if (password == CNIC)
    {
        c.ContractorID = Convert.ToInt32(r["ContractorID"]).ToInt32();
        lstContractorsID.Add(c);
        Utility.Msg_Success(Master, "Pwd: " + password + " and CNIC: " + CNIC + " matched :" + i++.ToString());            

    }

}

1 Ответ

0 голосов
/ 22 ноября 2018

Я думаю, это связано с тем, что вы перезаписываете объект "Подрядчик с".

Contractors c = new Contractors();

должно быть объявлено внутри цикла foreach.

...