2011-10-10 116 views
-7

從列表屬性中刪除

 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。我知道如何刪除項目刪除類別ID財產從列表波紋管語法可以做到這一點,但我不知道如何刪除一個項目的屬性的

oList.RemoveAll(x => x.CategoryID== 1); 

幫助我從list.Thanks提前刪除屬性。

+0

你真的應該接受正確 – Noah

回答

3

如果你想「刪除」,你將有沒有這個屬性創建新類型的屬性:

oList = db.Categories.Select(p => new YourNewCategorySml { 
    CategoryName = p.CategoryName }) 
    .ToList(); 

或使用匿名類型:

oList = db.Categories.Select(p => new { CategoryName = p.CategoryName }) 
    .ToList(); 
+0

感謝那些答案,這是一個很好的技術,以避免不必要的properties.thanks – shamim

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