Danny最初在回答Scott Hanselman最近的帖子时提出了这个问题:
谁能告诉我这是什么: Func< Customer,bool =“”>一个可选的 参数默认值?一个空的 布尔的字符串?我替换它 Func,得到了 不同的结果在我的机器! 一切顺利,我得到“在哪里” 声明没有使用Expression!
我知道我也看到了这个Func的疯狂,但我似乎无法得到一个Func<>或表达式< Func<>>这种类型在C#4.0中编译。
出于好奇,在Func中等号的含义是什么意思,如果有的话,并且在C#4.0中不推荐使用该功能?
[这个问题来自Scott Hanselman的博客:“The Weekly Source Code 52 - You keep using that LINQ, I dunna think it means what you think it means.”]
答案 0 :(得分:7)
你说你已经看过了......我怀疑你是否已经在编译的代码中看到了它。
如果有,请举个例子:因为在我看到真正的代码之前,我99%肯定它只是无效的C#。
答案 1 :(得分:5)
根据Visual C#4.0语言规范,ISO C#语言规范(Visual C#2.0的子集),Visual Studio 2010语法高亮显示器和Visual C#4.0编译器,这不是合法的C#代码。它甚至不是语法合法,即它甚至不解析,更不用说语义合法。
因此,它根本没有任何意义。
答案 2 :(得分:4)
我认为您需要在评论中阅读Scott's answer,他的博客软件正在播放。
这里什么都看不到!!
答案 3 :(得分:3)
(1)http://bitbucket.org/alexg/syntaxhighlighter/issue/154/c-brush-lacks-c-3-and-4-keywords
Bug#154 C#brush缺少C#3和4关键字 - group,orderby,from,var,select,ascending,descending,into,join,let,dynamic,add,remove,where(导致一些LINQ语法问题)
(2)hxxp://bitbucket.org/alexg/syntaxhighlighter/issue/165/using-in-code-produces
Bug#165使用<和>在代码中产生<和=“”>
注意:小心使用:<script type="syntaxhighlighter" class="brush: csharp">
(3)是Alex(SyntaxHighlighter)知道它:
hxxp://alexgorbatchev.com/forums/comments.php DiscussionID = 200安培;页= 1#Item_0
论坛主题:LINQ无法在C#中工作
答案 4 :(得分:0)
我怀疑它是否有效。
即使Func
支持最佳参数,最后一个类型参数也是结果。