我想在c#中更新ArrayList
中的记录,我想将我的状态更新为ArrayList
的特定记录的非活动状态,这里是下面的代码,但这不能正常工作,因为它没有不要将状态更新为非活动状态。
public Boolean changeAccStatus(int userid)
{
Boolean result = false;
for (int i = 0; i < list.Count; i++)
{
AccountDto dto = (AccountDto)list[i];
if (dto.Userid == userid) {
dto.Status = "Unactive";
list[i] = dto;
result = true;
}
}
return result;
}
答案 0 :(得分:0)
如果你能够将列表转换为通用列表,那么
Func<int, AccountDto, bool> UpdateRecord= (y, x) =>
{
if( x.Userid== y){x.Status="Unactive";
return true;
};
List<AccountDto> mylist = new List<AccountDto>();
var v = from x in mylist
where UpdateRecord(userit-intvalue, x)
select x;
你也可以尝试这个
List<AccountDto> mylist = new List<AccountDto>();
list.ForEach(x => {
if( x.Userid== userid)
x.Status="Unactive";
});
答案 1 :(得分:0)
执行(AccountDto)list[i].Status = "inactive";
答案 2 :(得分:0)
尝试以下代码
foreach (var temp in list)
{
var t = temp as AccountDto;
if (t != null && t.Userid.Trim().Equals(userid.Trim()))
t.Status = "inactive";
}
还考虑对通用List&lt;进行重新分解。 AccountDto&GT; ,这将直接给你Linq的力量