複製鏈接
請複製以下鏈接發送給好友

字面量

鎖定
計算機科學中,字面量(literal)是用於表達源代碼中一個固定值的表示法(notation)。幾乎所有計算機編程語言都具有對基本值的字面量表示,諸如:整數、浮點數以及字符串;而有很多也對布爾類型和字符類型的值也支持字面量表示;還有一些甚至對枚舉類型的元素以及像數組、記錄和對象等複合類型的值也支持字面量表示法。C語言關於複合字面量的介紹可參考: [1] 
關於字面量在Objective-C中的舉例可參考: [2] 
中文名
字面量
外文名
literal
全    稱
字面量
釋    義
用於表示固定值的符號(token)

目錄

字面量簡介

字符串字面量(stringliteral)是指雙引號引住的一系列字符,雙引號中可以沒有字符,可以只有一個字符,也可以有很多個字符。
#include <stdio.h>

int main(void)
{    
    int a = 10; // 10為int類型字面量
    char a[] = {"Hello world!"} // Hello world 為字符串形式字面量
       .............
   // 以此類推,不再贅述
    return 0;
}

字面量編碼

字面量作為一種通用的,跨平台的數據交換格式,在程序界是公認的事實;而.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
.AppendLine("")
.Append("")
.Append(Name)
.AppendLine("")
.Append("")
.Append(Age)
.AppendLine("")
.AppendLine("")
EndWith
舊的XMLDOM模式:
PublicFunctionBuildXMLFromXmlDom()FunctionBuildXMLFromXmlDom(ByValNameAsString,ByValAgeAsInteger)AsString
DimXMLDocumentAsNewXmlDocument
DimRootElementAsXmlElement=XMLDocument.CreateElement("Person")
DimNameElementAsXmlElement=XMLDocument.CreateElement("Name")
DimAgeElementAsXmlElement=XMLDocument.CreateElement("Age")
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
參考資料