大佬教程收集整理的这篇文章主要介绍了VB.NET中的多行字符串,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
String query = @"SELECT first,last FROM table WHERE id = 1";
举个栗子?这里有一个:
Dim sourceText As String = "Imports Microsoft.VisualBasic" & vbNewLine & "Imports System" & vbNewLine & "Imports System.Collections" & vbNewLine & "Imports Microsoft.Win32" & vbNewLine & "Imports System.Linq" & vbNewLine & "Imports System.Text" & vbNewLine & "Imports Roslyn.Compilers" & vbNewLine & "Imports System.ComponentModel" & vbNewLine & "Imports System.Runtime.Compilerservices" & vbNewLine & "Imports Roslyn.Compilers.VisualBasic" & vbNewLine & vbNewLine & "Namespace HelloWorld" & vbNewLine & " Module Program" & vbNewLine & " Sub Main(args As String())" & vbNewLine & " Console.WriteLine(""Hello,World!"")" & vbNewLine & " End Sub" & vbNewLine & " End Module" & vbNewLine & "End Namespace"
嗯
漫长的冬天持续了很长时间,直到XML Literal的出现
什么是XML Literal呢?
"XML Literal"是在VB.NET 9.0引入的一个用于构建XML对象的新特性。VB.NET有了如此神器,现在轮到C#程序员羡慕了。当然这篇文章不是说如何使用XML Literal的,关于这个新特性的更多信息可以参考MSDN:
http://msdn.microsoft.com/en-us/library/bb384629.aspx
有了XML Literal之后,我们如何用它解决VB.NET中多行字符串的问题呢?来看示例:
Dim sourceText As String = <String> Imports Microsoft.VisualBasic Imports System Imports System.Collections Imports Microsoft.Win32 Imports System.Linq Imports System.Text Imports Roslyn.Compilers Imports System.ComponentModel Imports System.Runtime.Compilerservices Imports Roslyn.Compilers.VisualBasic Namespace HelloWorld Module Program Sub Main(args As String()) Console.WriteLine("Hello,World!") End Sub End Module End Namespace </String>
对比一下前面的代码,有没有发自内心的想说出“我靠”两个字?
经过试验,代码中的<String>不是必须叫"String"的,你也可以改成<字符串></字符串>,呃,如果你喜欢的话。原理嘛,就是编译器将代码中的xml片段转换成了XElement,所以名字并不重要。
如果你喜欢类型推断,也可以用这种形式:
Dim sourceText = <String> Imports Microsoft.VisualBasic Imports System Imports System.Collections Imports Microsoft.Win32 Imports System.Linq Imports System.Text Imports Roslyn.Compilers Imports System.ComponentModel Imports System.Runtime.Compilerservices Imports Roslyn.Compilers.VisualBasic Namespace HelloWorld Module Program Sub Main(args As String()) Console.WriteLine("Hello,World!") End Sub End Module End Namespace </String>.Value
比较明显的变化就是没有了As String的显式类型声明,然后后面调用.Value属性以确定这个变量确实是字符串。实际上与上面代码相比,这两段代码在编译、运行时并没有什么区别。也许第二种更漂亮些?
有的时候,多行字符串存在的意义就是把他们显示在窗口、控制台或者MsgBox中,不知你发现没有,上面的XML片段中的多行字符串.....都是有超级多的前置空格的(为了保持代码伸缩性,看起来也漂亮,主要原因其实是XML文本并不关心空格的多少)。
不过我敢肯定,实际上你并不需要这么多没有用的空格。那怎么样去掉这些空格呢?这个并没有什么现成的办法,所以说,最后呢,at last,归根结底,你需要做的事情只有一个——把空格们都删掉:
Dim sourceText = <String>Imports Microsoft.VisualBasic Imports System Imports System.Collections Imports Microsoft.Win32 Imports System.Linq Imports System.Text Imports Roslyn.Compilers Imports System.ComponentModel Imports System.Runtime.Compilerservices Imports Roslyn.Compilers.VisualBasic Namespace HelloWorld Module Program Sub Main(args As String()) Console.WriteLine("Hello,World!") End Sub End Module End Namespace</String>.Value
以上是大佬教程为你收集整理的VB.NET中的多行字符串全部内容,希望文章能够帮你解决VB.NET中的多行字符串所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。