C# 属性从列表中删除
从列表中删除属性C# 属性从列表中删除,c#,linq,linq-to-objects,C#,Linq,Linq To Objects,从列表中删除属性 NorthwindDataContext db = new NorthwindDataContext(); List<CategorySml> oList = new List<CategorySml>(); oList = db.Categories.Select(p => new CategorySml { CategoryID = p.CategoryID, CategoryName = p.C
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; }
}
请帮助我从列表中删除属性。请提前感谢。如果要“删除”该属性,您将创建一个没有此属性的新类型:
oList = db.Categories.Select(p => new YourNewCategorySml {
CategoryName = p.CategoryName })
.ToList();
或使用匿名类型:
oList = db.Categories.Select(p => new { CategoryName = p.CategoryName })
.ToList();
继承权呢
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();
classbasecategory
{
公共字符串CategoryName{get;set;}
}
类CategorySml:基本类别
{
public int CategoryID{get;set;}
}
NorthwindDataContext db=新的NorthwindDataContext();
List oList=新列表();
oList=db.Categories.Select(p=>newbasecategory{CategoryName=p.CategoryName}).ToList();
您可以通过匿名类型变量执行此操作
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);
}
谢谢,这是一个很好的技巧来避免不必要的属性。谢谢你真的应该接受正确的答案
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);
}