问题描述
|
foreach (DaTarow row in dtcols.Rows)
{
if (!avlcols.Exists(x => x.ColName.ToLower() == row[\"field_name\"].ToString().ToLower()))
{
avlcols.Add(new Column()
{
ColName=row[\"field_name\"].ToString(),ColWidth=row[\"field_width\"].ToString()
});
}
}
仅添加avlcols中不存在的列。
解决方法
将您的if陈述改为
!avlcols.Contains(x => x.ColName.ToLower() == row[\"field_name\"].ToString().ToLower()))
我也可以建议改用这样的语法
!avlcols.Contains(x => String.Equals(x.ColName,row[\"field_name\"].ToString(),OrdinalIgnoreCase))
, 将avlCols.Exists
替换为avlCols.Contains
,您就在那儿。
, var rows = from row in dtcols.Cast<DataRow>()
where !avlcols.Exists(x => x.ColName.Equals(row[\"field_name\"].ToString(),StringComparison.OrdinalIgnoreCase))
select row;
foreach(var row in rows)
{
avlcols.Add(new Column()
{
ColName = row[\"field_name\"].ToString(),ColWidth = row[\"field_width\"].ToString()
});
}