我有一个类型让我们称之为“MyType”。我有一个List(Of MyType)。这是我在做什么:在lambda表达式中的VB.Net和类型推论?
MyList.Sum(Function(x) x.MyFieldToTotal)
“MyFieldToTotal”是一个小数。对于我的生活,我无法弄清楚为什么x上面是一个对象而不是“MyType”类型。在这种情况下不应该使用类型推理吗?即使在智能感知我得到 “选择为System.Func(中的MyType)为十进制”
为了测试C#& vb.net之间的差异,我做了以下内容:
dim MyVar as new list(Of System.IO.FileStream)
MyVar.Sum(Function(x) x.
List<System.IO.FileStream> MyVar = new List<System.IO.FileStream>();
MyVar.Sum(x=>x.
在VB.Net x为类型为Object,而在C#x中则是FileStream类型。那么为什么在这种情况下使用c#而不是vb.net进行类型提示?
另外,还要注意“选项推断”为ON
您正在使用哪个版本的Visual Studio/VB.Net? – jeroenh 2010-02-22 21:22:52
我可以告诉你,我现在试用VS 2010,它的工作原理。 VS 2008没有去。看起来像一个VS 2008的错误。 – coding4fun 2010-02-23 01:50:50