技术开发 频道

在多行字符串中插入代码和避免下划线

【IT168 技术文档】 当我从FoxPro转到使用VB.Net的时候,我最思念的事情之一就是在FoxPro中能够很容易地在编辑框中输入一束文字(多行字符串)和嵌入的代码(合并的文本)。对此,ForPro 有一个关键字“TEXT...ENDTEXT ”,我过去一直使用它。在VB中由于为了代码的可读性你不得不使用大量的下划线来连接文字串,结果就变得非常的糟糕。

Dim oldWay = "this is a string" & vbCrLf & _

 

               "with formatting" & vbCrLf & _

 

               "and stuff" & vbCrLf & _

 

               "look ma, underscores" & vbCrLf & _

 

               "         tabs too"

 

 

 

  MsgBox(oldWay)

 

  不再多说。使用带XML 文字支持的Visual Basic 9的版本,我们现在可以很容易的直接写入一束文字到编辑框中:

Dim newWay = <string>

 

this is a string

 

with formatting

 

and stuff

 

look ma, no underscores!!!

 

            tabs too

 

                </string>

 

 

        MsgBox(newWay.Value)

 

  文本格式也是被保护的。所有你需要做的就是得到可扩展元素,也就是字符串文字的值。现在你就可以看出,这比我们过去所使用的要更清楚。如果你依然喜欢用默认的微红色来看你的字符串文字,你可以在"工具-->选项-->环境-->文字和字体"里很容易地变更VB XML 文字的颜色设置,接着选择“VB XML 文本” 再定置颜色到RGB1632121)。这里是另外一个例子,一些SQL查询语句(现在使用的是默认的微红色):

 Dim query = <query>

 

SELECT Customers.*, Orders.OrderDate

 

FROM Customers

 

    INNER JOIN Orders ON Orders.CustomerID = Customers.CustomerID

 

WHERE Customers.CustomerID = @CustomerID

 

                    </query>

 

 

        Dim cmd As New SqlCommand(query.Value)

 

        cmd.Parameters.AddWithValue("@CustomerID", id)

 

  现在是我们可以在哪里找到乐趣。你也可以使用“<%= 语句%>”插入表达式到这些文字里面.这就意味着有可以更清晰地做任何类型的文字合并,而不是单单进行代码和字符串的难看的串联,尤其是当文字长度增加的时候。下面是一些简单的例子:

Dim simple = <string>

 

This is a simple text merge example:

 

Hello, <%= Environment.UserName %>

 

                     </string>

 

 

        MsgBox(simple.Value)

 

 

 

        Dim controls = <string>

 

There are the following controls on this form:

 

<%= From item In Me.Controls Select item.ToString & vbCrLf %></string>

 

 

        MsgBox(controls.Value)

 



 

0
相关文章