2010-03-20 76 views
2

什么是错的这样的代码LINQ到选择自定义对象

public List<SearchItem> Search(string find) 
     { 


      return (from i in _dataContext.News where i.Text.Contains(find) select new SearchItem { ControllerAction = "test", id = i.Id.ToString(), LinkText = "test" }).ToList(); 
     } 

public struct SearchItem 
    { 
     public string ControllerAction; 
     public string LinkText; 
     public string id; 
    } 

回答

2
new SearchItem() {...} 

//没有.ToList(),否则你不需要类(属性get/set S/BA班),你可以说新的

+0

你能解释一下没有ToList和get/set吗? – kusanagi 2010-03-20 08:02:47

+0

因为你可以看到它不是类但结构,我需要类? – kusanagi 2010-03-20 08:04:45

+0

我正在学习快速反应的艺术......由于方法sig,唯一必须的是ToList ()。你可以对公共成员使用结构,但这是一个“哲学问题”,它会限制你的数据绑定和版本选项。具有属性的类别在公开时更适合“规范”。除了通过{}分配外,您还可以使用ctor方法(括号内)。使用隐式/显式无参数ctor对于用于集合或通用约束的类是有利的(但struct需要隐式无参数ctor)。如果有意义,请使用struct。 – 2010-03-20 11:55:27