从列表中删除属性
NorthwindDataContext db = new NorthwindDataContext();
List<CategorySml> oList = new List<CategorySml>();
oList = db.Categories.Select(p => new CategorySml { CategoryID = p.CategoryID, CategoryName = p.CategoryName }).ToList();
class CategorySml
{
public int CategoryID { get; set; }
public string CategoryName { get; set; }
}
我的列表包含超过100行,现在我要从列表 oList 中删除 CategoryID 属性。我知道如何从列表中删除项目语法可以执行那,但我不知道如何删除项目的属性
oList.RemoveAll(x => x.CategoryID== 1);
帮我从列表中删除属性。提前谢谢。
答案 0 :(得分:3)
如果您要“删除”该属性,您将创建没有此属性的新类型:
oList = db.Categories.Select(p => new YourNewCategorySml {
CategoryName = p.CategoryName })
.ToList();
或使用匿名类型:
oList = db.Categories.Select(p => new { CategoryName = p.CategoryName })
.ToList();
答案 1 :(得分:0)
继承怎么样?
class BaseCategory
{
public string CategoryName { get; set; }
}
class CategorySml : BaseCategory
{
public int CategoryID { get; set; }
}
NorthwindDataContext db = new NorthwindDataContext();
List<BaseCategory> oList = new List<BaseCategory>();
oList = db.Categories.Select(p => new BaseCategory{ CategoryName = p.CategoryName }).ToList();
答案 2 :(得分:0)
您可以通过匿名类型变量
执行此操作try
{
NorthwindDataContext db= new NorthwindDataContext();
var oList = db.Categories.Select(p => new { Categoryname = p.CategoryName }).ToList();
dg.DataSource = oList;
MessageBox.Show("OK");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}