更新时间:2023-02-14 17:56
在计算机科学中,字面量(literal)是用于表达源代码中一个固定值的表示法(notation)。几乎所有计算机编程语言都具有对基本值的字面量表示,诸如:整数、浮点数以及字符串;而有很多也对布尔类型和字符类型的值也支持字面量表示;还有一些甚至对枚举类型的元素以及像数组、记录和对象等复合类型的值也支持字面量表示法。C语言关于复合字面量的介绍可参考:。
字符串字面量(stringliteral)是指双引号引住的一系列字符,双引号中可以没有字符,可以只有一个字符,也可以有很多个字符。
字面量作为一种通用的,跨平台的数据交换格式,在程序界是公认的事实;而.NetFramework以前的版本中麻烦的XML操作,常常令程序员心生不快。记得以前试图生成一个XML文件,无非是两种模式:用StringBuilder拼接XML字符串,或者是用XMLDocument/XMLWriter进行DOM操作。StringBuilder是有足够的速度,但是没有稳定性的保障,需要多次过滤以保护XML文件的完整性。而使用MSXML的包装System.Xml进行操作,又未免太麻烦了些。 字面量功能是VisualBasic9为解放程序员劳力作出的一项非常大的改进,它可让程序员直接在代码中嵌入XML进行生成操作。借助编译器的力量,XML字面量调用System.Xml.Linq进行XML的动态生成。在C#中,虽然同样可以调用这个命名空间下的类进行生成,但是远没有VisualBasic的模式轻松,省力。举一个简单的范例,用于动态生成一个XML文档:
旧的StringBuilder模式:
ImportsSystem.Text
PublicFunctionBuildXMLFromStringBuilder()FunctionBuildXMLFromStringBuilder(NameAsString,AgeAsInteger)AsString
DimXMLBuilderAsNewStringBuilder
WithXMLBuilder
.Append(Name)
.Append(Age)
EndWith
旧的XMLDOM模式:
PublicFunctionBuildXMLFromXmlDom()FunctionBuildXMLFromXmlDom(ByValNameAsString,ByValAgeAsInteger)AsString
DimXMLDocumentAsNewXmlDocument
WithRootElement
.AppendChild(NameElement)
.AppendChild(AgeElement)
EndWith
WithNameElement
.Value=Name
EndWith
WithAgeElement
.Value=CStr(Age)
EndWith
XMLDocument.AppendChild(RootElement)
ReturnXMLDocument.ToString()
EndFunction
新的XML字面量:
PublicFunctionBuildXMLFromXLinq()FunctionBuildXMLFromXLinq(ByValNameAsString,ByValAgeAsInteger)AsString
Return
.ToString()
EndFunction