Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 属性从列表中删除_C#_Linq_Linq To Objects - Fatal编程技术网

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);   
            }