vb.net – 你在VB 10中如何看待多行羔羊?

我正在看MSDN频道9上的视频,可以找到 here,关于Visual Basic 10中的一些新功能.现在我喜欢大多数新功能,其中一些已经被期待已久(自动属性和集合初始化程序)引起我兴趣的一个是C#中的多行羔羊.

在视频中,他使用了一个这样的例子:

Dim scores = {10,20,30,40,50}
Dim thread as new Threading.Thread(Sub()
                                   For Each o in scores
                                     console.writeline(o)
                                     Next
                                   End Sub)

现在我喜欢VB,但是我只是有点担心写入sub … end sub inline可能会有点凌乱,当你正在编写C#时,我可以看到一些优点,当你只需要使用某些东西像c => {….},你可以剪出很多代码.

你在VB中的多行羊羔是什么?

你会发现他们有用吗?

就个人而言,我认为VB的代表和lambdas的语法是完全虚伪的.我的意思是,来吧,AddressOf!这在VB6中很好.在VB.NET这样的语言中绝对不是很好,函数应该被视为一流的公民(尽管它们当然不是真的),而从方法组到代表的转换或多或少是透明的.

现在引入内联函数是非常冗长的.我实际上相信C#的方法 – x => f(x)将在VB中表现得很好,因为它显示了它的作用.在当前状态下,我更喜欢C#进行任何功能编程工作,这是可惜的,因为我一般都喜欢VB.

现在,我真的很高兴,VB终于得到了多行的lambdas和语句lambdas,因为它们有时候仍然有用(就是Parallel.For的例子).但语法被搞砸了.顺便说一下,迭代器也是如此(如果它们应该进入VB10).

相关文章

Format[$] ( expr [ , fmt ] ) format 返回变体型 format$ 强...
VB6或者ASP 格式化时间为 MM/dd/yyyy 格式,竟然没有好的办...
在项目中添加如下代码:新建窗口来显示异常信息。 Namespace...
转了这一篇文章,原来一直想用C#做k3的插件开发,vb没有C#用...
Sub 分列() ‘以空格为分隔符,连续空格只算1个。对所选...
  窗体代码 1 Private Sub Text1_OLEDragDrop(Data As Dat...