当前位置:  开发笔记 > 后端 > 正文

VB.NET中多行的单个语句,没有下划线字符

如何解决《VB.NET中多行的单个语句,没有下划线字符》经验,为你挑选了3个好方法。

有没有办法在没有下划线字符的情况下跨越多行?

在诸如SQL语句之类的多行字符串中,尤其是LINQ查询,这真的很烦人.

除了更改线条时的丑陋和困难(不再排队),您不能在多行语句的中间使用注释.

我日常的个人地狱的例子.

dim results = from a in articles _
              where a.articleID = 4 _ ' articleID     - Nope, can't do this
              select a.articleName


dim createArticle as string = _
    "Create table article " & _
    "    (articleID int " & _
    "    ,articleName varchar(50) " & _
    "    )"

Booji Boy.. 41

不,你必须使用下划线,但我相信VB.NET 10将允许多行没有下划线,只要它不能弄清楚结尾应该在哪里.



1> Booji Boy..:

不,你必须使用下划线,但我相信VB.NET 10将允许多行没有下划线,只要它不能弄清楚结尾应该在哪里.


这是主持人几周前在明尼阿波利斯举行的MSDN开发者大会上所说的话.

2> 小智..:

对于大多数使用带有内部CDATA块的XML元素的多行字符串,更容易避免为简单的原始字符串数据转义任何内容.

Dim s as string = .Value

请注意,我已经看到很多人声明相同的格式,但没有包装""标签(只是CDATA块)但是视觉工作室自动格式化接缝以改变每行的前导空白.我认为这是由于Linq"X"对象背后的对象继承结构.CDATA不是"容器",外部块是继承自XContainer的XElement.



3> IInspectable..:

从VB.NET 10开始,许多语法元素均支持隐式行连续(请参见Visual Basic中的语句:在多行上继续执行语句)。串联运算符(&)在语法元素列表中,它们支持隐式的行连续。还支持穿插注释,因此您的第二个示例可以重写为:

dim createArticle as string = 
    "Create table article " &
    "    (articleID int " &           ' Comment for articleID
    "    ,articleName varchar(50) " & ' Comment for articleName
    "    )"

隐式行连续也适用于查询运算符,但有一些限制:

查询运算符之前和之后(聚合不同分组依据分组联接联接排序依据选择跳过略过一遍取当何处升序降序) 。您不能在由多个关键字组成的查询运算符的关键字之间折行(Order By群组加入暂停跳过)。

同样,允许穿插注释,因此您的第一个示例可以重写为:

dim results = from a in articles
              where a.articleID = 4  ' articleID - now perfectly legal
              select a.articleName

推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有