这个问题在这里已经有了答案:
在返回IEnumerable时是否有理由不使用'yield return'?
关于这些的好处,这里有几个有用的问题yield return.例如,
我正在寻找关于何时不使用的想法yield return.例如,如果我预计需要返回一个集合中的所有项目,它没有看起来就像yield是有用的,对不对?
什么情况下使用yield会限制,不必要,让我陷入困境,或者应该避免?
所以我有简单的树:
class MyNode
{
public MyNode Parent;
public IEnumerable<MyNode> Elements;
int group = 1;
}
Run Code Online (Sandbox Code Playgroud)
我有一个IEnumerable<MyNode>.我想得到一个列表MyNode(包括内部节点对象(Elements))作为一个平面列表Where group == 1.如何通过LINQ做这样的事情?
我在http://www.asp.net上的MVC3 Razor教程中看到了这一点
public ActionResult Index() {
return View(_usrs._usrList);
}
Run Code Online (Sandbox Code Playgroud)
这种用法不是很明显吗?我一直以为[docs]
在C#中,我通常看到它仅在为公共属性定义底层私有成员变量时使用.其他私有成员变量没有下划线.尽管如此,随着自动属性的出现,这种用法已基本消失.
或者这是我看到的新命名约定?对微软自己的教程中的用法非常好奇.
PS:文章非常好.只是我倾向于遵循命名约定以提高可读性.