Func <sometype,sometype =“”> - 等号是什么意思?</sometype,sometype =“”>

时间:2010-06-18 20:05:53

标签: c# types lambda c#-4.0

Danny最初在回答Scott Hanselman最近的帖子时提出了这个问题:

  

谁能告诉我这是什么:   Func&lt; Customer,bool =“”&gt;一个可选的   参数默认值?一个空的   布尔的字符串?我替换它   Func,得到了   不同的结果在我的机器!   一切顺利,我得到“在哪里”   声明没有使用Expression!

我知道我也看到了这个Func的疯狂,但我似乎无法得到一个Func&lt;&gt;或表达式&lt; Func&lt;&gt;&gt;这种类型在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.”]

5 个答案:

答案 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)

  • ^马特说的话。在博客中使用SyntaxHighlighter几乎没有什么需要注意的事项:

(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使用&lt;和&gt;在代码中产生&lt;和=“”&gt;

注意:小心使用:<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支持最佳参数,最后一个类型参数也是结果