C#語法文本字面量的示例分析-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了“C#語法文本字面量的示例分析”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“C#語法文本字面量的示例分析”這篇文章吧。

創(chuàng)新互聯(lián)-云計(jì)算及IDC服務(wù)提供商,涵蓋公有云、IDC機(jī)房租用、達(dá)州托管服務(wù)器、等保安全、私有云建設(shè)等企業(yè)級互聯(lián)網(wǎng)基礎(chǔ)服務(wù),歡迎聯(lián)系:028-86922220

C#語法文本字面量

在日常生活中,文本用來表示除了數(shù)字以外的內(nèi)容。例如有一個叫“比爾”的人,他的職位為“科長”。那么,“比爾”和“科長”都可以稱為文本。在計(jì)算機(jī)里,現(xiàn)實(shí)世界中的文本通常被稱為字符和字符串。例如,“比爾”中的每個漢字都是一個字符。而整體構(gòu)成一個字符串。“科長”也是如此。

字符和字符串的寫作規(guī)范

上面,我們看到的是常見的文本字面量。但是,很多時候數(shù)字內(nèi)容表達(dá)的并不一定是數(shù)值。例如,比爾的電話號碼是13466668888。對于“13466668888”來說,我們不會理解為一百三十四億六千六百六十六萬八千八百八十八,而是當(dāng)成一個電話號來理解。由于計(jì)算機(jī)能力有限,為了避免這類信息對計(jì)算機(jī)造成困擾,程序?qū)ψ址妥址谋硎居幸韵乱?guī)定:

  • 字符是由單引號(')括起來的單個的字母、數(shù)字、字或者符號。

  • 字符串可以表示一個字符序列。

  • 字符串使用一對雙引號(")與多個字符組合。

  • 字符串的雙引號中可以有任意多個字符。

根據(jù)這個規(guī)范,如果要在程序中表示字母a,需要寫為'a'。字符中只能包含一個字符,因此字符'a'長度為1。如果要在程序中表示比爾的電話號碼,必須寫為"13466668888"。該字符串的長度為11,因?yàn)榘淖址麄€數(shù)為11,而雙引號是字符串格式符號,不能算作字符串長度數(shù)。

特殊的字符和字符串——轉(zhuǎn)義字符

有時候,需要在字符串中使用特殊字符,例如字符串a(chǎn)bc"s。在代碼中字符串"abc"s"會產(chǎn)生錯誤,編譯器無法辨認(rèn)字符串的具體內(nèi)容。為了解決這個問題,需要使用轉(zhuǎn)義字符。轉(zhuǎn)義字符通過反斜杠“\”與普通字符的組合,來表示一些特殊的字符。轉(zhuǎn)義字符中至少包含兩個字符,第一個字符是轉(zhuǎn)義符號“\”,第二個字符是需要表示的字符。常用的轉(zhuǎn)義字符有兩種:表示格式的轉(zhuǎn)義字符和表示控制代碼的轉(zhuǎn)義字符。

1.表示格式

為了構(gòu)成字符和字符串,使用了雙引號(")和單引號(')。而為了構(gòu)成轉(zhuǎn)義字符,又使用了反斜杠(\)。如果字符串中需要包含這三個字符,需要使用轉(zhuǎn)義字符如表1.1所示。

表1.1  表示格式的轉(zhuǎn)義字符列表

\'

\"

\\

【示例1-4】有下列文本內(nèi)容,需要在程序中使用字符串表示。

I love C#.

I’m studying C#.

在這個文本內(nèi)容中,第一行內(nèi)容表達(dá)為字符串為"I love C#.",該字符串長度為10(空格與.都算作一個字符)。而第二行內(nèi)容中有一個單引號,所以需要使用轉(zhuǎn)義字符表達(dá)為"I\'m studying C#.",該字符串長度為16。

2.表示控制代碼

在文本數(shù)據(jù)中,會出現(xiàn)一些特殊的符號,如換行符、退格等。這些符號無法看到,但是用來控制文本的格式。這類字符由于無法書寫,所以必須使用轉(zhuǎn)義字符表示如表1.2所示。

表1.2  表示控制代碼的轉(zhuǎn)義字符序列

\a

\b

\f

\r

\t

\v

示例1-4中由于兩個文本內(nèi)容不在同一行,所以之間必須有“\n”來表示換行。因此,這兩個文本的正確表示形式為"I love C#.\n I\'m studying C#."。這個字符串的長度為27。

更全面的表達(dá)方式——ASCII表

轉(zhuǎn)義字符可以解決大部分的字符表達(dá)。但是還是有很多字符無法直接書寫,也沒有對應(yīng)的轉(zhuǎn)義字符。這個時候,只能使用ASCII進(jìn)行表達(dá)。ASCII是基于拉丁字母(26個英語字母)的一套電腦編碼系統(tǒng),是現(xiàn)在最通用的單字節(jié)編碼系統(tǒng)。使用ASCII表示字符的格式如表1.3所示。

表1.3  使用ASCII表示的字符

\0

\ddd

1~3位八進(jìn)制數(shù)所代表的任意字符

\xhh

1~2位十六進(jìn)制數(shù)所代表的任意字符

在表1.3中,使用八進(jìn)制表示字符時可以表示1~3位八進(jìn)制數(shù)代表的任意字符,即該類轉(zhuǎn)義字符總長度為2~4。使用十六進(jìn)制表示字符時可以表示1~2位十六進(jìn)制數(shù)代表的任意字符,即該類轉(zhuǎn)義字符總長度為3~4,因?yàn)楸硎臼M(jìn)制數(shù)時“\x”以開頭。

【示例1-5】以下代碼中使用了轉(zhuǎn)義字符:

'\x2f'

'\013'

其中,\x表示后面的字符是十六進(jìn)制數(shù),\0表示后面的字符是八進(jìn)制數(shù)。

為了更加全面地表示,這里給出了ASCII表的字符的0~127。具體如表1.4所示。

表1.4  ASCII表

0

00

 

32

20

[空格]

64

40

@

96

60

`

1

01

 

33

21

!

65

41

A

97

61

a

2

02

 

34

22

"

66

42

B

98

62

b

3

03

 

35

23

#

67

43

C

99

63

c

4

04

 

36

24

$

68

44

D

100

64

d

5

05

 

37

25

%

69

45

E

101

65

e

6

06

 

38

26

&

70

46

F

102

66

f

7

07

 

39

27

'

71

47

G

103

67

g

8

08

\b

40

28

(

72

48

H

104

68

h

9

09

\t

41

29

)

73

49

I

105

69

i

10

0A

\r

42

2A

*

74

4A

J

106

6A

j

11

0B

 

43

2B

+

75

4B

K

107

6B

k

12

0C

 

44

2C

,

76

4C

L

108

6C

l

13

0D

45

2D

-

77

4D

M

109

6D

m

14

0E

 

46

2E

.

78

4E

N

110

6E

n

15

0F

?

47

2F

/

79

4F

O

111

6F

o

16

10

?

48

30

0

80

50

P

112

70

p

17

11

?

49

31

1

81

51

Q

113

71

q

18

12

?

50

32

2

82

52

R

114

72

r

19

13


51

33

3

83

53

S

115

73

s

20

14


52

34

4

84

54

T

116

74

t

21

15


53

35

5

85

55

U

117

75

u

22

16

?

54

36

6

86

56

V

118

76

v

23

17

?

55

37

7

87

57

W

119

77

w

24

18

?

56

38

8

88

58

X

120

78

x

25

19

?

57

39

9

89

59

Y

121

79

y

26

1A

?

58

3A

:

90

5A

Z

122

7A

z

27

1B


59

3B

;

91

5B

[

123

7B

{

28

1C

?

60

3C

92

5C

\

124

7C

|

29

1D

?

61

3D

=

93

5D

]

125

7D

}

30

1E

-

62

3E

94

5E

^

126

7E

~

31

1F

 

63

3F

?

95

5F

_

127

7F

?

表1.4中很多字符都是無法顯示的,所以以空白顯示。在編碼中,可以通過反斜杠“\”與ASCII字符的十六進(jìn)制數(shù)結(jié)合的方式使用字符。例如,“\n”與“\0D”起到的作用是一致的。但是大多數(shù)字符可以直接輸出,不需要使用此種方式。

避免轉(zhuǎn)義字符——@

在編程中,有時候字符的組合恰巧與轉(zhuǎn)義字符相同,此時就需要使該組合中的轉(zhuǎn)義字符失效。C#中有一個特殊的字符 “@”,該字符的作用是聲明原義字符串,忽略轉(zhuǎn)義字符的作用。

【示例1-6】假如想要表示一個地址“c:\temp”。當(dāng)我們在代碼中輸出“c:\temp”時,顯示結(jié)果如下:

c:        emp

為什么會顯示這樣的一個結(jié)果呢?因?yàn)樵凇癱:\temp”中,字符串中的“\t”被計(jì)算機(jī)識別成了轉(zhuǎn)義字符,因此起的作用是水平制表符。在這種情況下,可以使用轉(zhuǎn)義字符“\\”將反斜杠輸出,讓該字符串表示一個地址,表示方式為:

"c:\\temp"

這樣的表示方式可以暫時解決眼前的簡單的地址。但是,如果想要表示的地址很長很復(fù)雜,里面包含多個反斜杠時,這種書寫方式就會非常繁瑣。例如,需要表示的地址為“c:\temp\1\t\3\a\5”時,使用這種方式表示出來為:

"c:\\temp\\1\\t\\3\\a\\5"

上述這種表示方式非常繁瑣,容易書寫錯誤。因此,可以使用特殊符號@來屏蔽轉(zhuǎn)義字符的作用。當(dāng)我們想表示地址“c:\temp\1\t\3\a\5”時,只需要在地址前面加上特殊字符@即可,表示方式如下:

@"c:\temp\1\t\3\a\5"

字符串長度

上面我們學(xué)習(xí)了字符、字符串、轉(zhuǎn)義字符等,接著我們來了解它們各自的字符長度。各種字符和字符串的類型、示例、長度及輸出結(jié)果具體如表1.5所示:

表1.5  字符串長度

/字符串示例

'a'

1

a

"abc"

3

abc

"ab\'c"

4

ab'c

"ab\nc"

4

ab

c

ASCII表示的字符串

"ab\x22"

3

ab"

@的字符串

@"ab\x22"

6

ab\x22

以上是“C#語法文本字面量的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道!

網(wǎng)站題目:C#語法文本字面量的示例分析-創(chuàng)新互聯(lián)
標(biāo)題來源:http://bm7419.com/article14/gipge.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、靜態(tài)網(wǎng)站、ChatGPT、標(biāo)簽優(yōu)化網(wǎng)站維護(hù)、網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)