亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

本文實例匯總了C#中@的用法,對C#程序設計來說有不錯的借鑒價值。

2019-11-14 15:51:03
字體:
來源:轉載
供稿:網友

具體如下:

一 字符串中的用法

1.學過C#的人都知道C# 中字符串常量可以以@ 開頭聲名,這樣的優點是轉義序列“不”被處理,按“原樣”輸出,即我們不需要對轉義字符加上 / (反斜扛),就可以輕松coding。如,

 
1
string filePath = @"c:/Docs/Source/a.txt" // rather than "c://Docs//Source//a.txt"

2.如要在一個用 @ 引起來的字符串中包括一個雙引號,就需要使用兩對雙引號了。這時候你不能使用 / 來轉義爽引號了,因為在這里 / 的轉義用途已經被 @  “屏蔽”掉了。如,

 
1
@"""Ahoy!"" cried the captain."  // 輸出為: "Ahoy!" cried the captain.

這有點像SQL中的單引號常量處理方式:

 
1
2
DECLARE @msg varchar(100)
SET @msg = ''Ahoy!'' cried the captain.' -- 輸出為: 'Ahoy!' cried the captain.

3.@會識別換行符

其實這個特性,我不知道怎么描述,只是偶然發現的,先來看看下面的代碼:

 
1
2
3
4
5
6
string script = @"
<script type=""type/javascript"">
function doSomething()
{
}
</script>";

這段代碼在cs文件中寫js,結構就很清晰了,正常情況我們是這樣coding的:

 
1
string script2 = "<script type=/"type/Javascript/">function doSomething(){}</script>";

或者:

 
1
2
3
4
string script3 =
"<script type=/"type/javascript/">" +
"function doSomething(){ " +
"}</script>";

通常我們會選擇后者,因為js代碼一般比較長,或者方法體很大,或者需要連接其他變量,這樣結構比較清晰。

注意:如果“拼接”的次數很多,應該考慮使用StringBuilder了,有助于提高性能。

還有一種場景,也很常見,在程序中拼接 SQL 語句,如

 
1
2
3
PRivate const string SQL_INS_USER = @"
INSERT INTO t_User([UserName], [PassWord], Email) 
 VALUES(@UserName, @Password, @Email)";

這樣就像寫存儲過程一般,保持相當高的代碼清晰度。然而,我們需要關注一個問題:字符串長度看下面的測試代碼:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
private const string SQL_INS_USER1 = @"
  INSERT INTO t_User([UserName], [Password], Email) 
 VALUES(@UserName, @Password, @Email)";
 
private const string SQL_INS_USER2 = @"INSERT INTO t_User([UserName], [Password], Email) 
 VALUES(@UserName, @Password, @Email)";
 
private const string SQL_INS_USER3 = @"INSERT INTO t_User([UserName], [Password], Email) VALUES(@UserName, @Password, @Email)"
 
static void Main(string[] args)
{
  Console.WriteLine(SQL_INS_USER1.Length);  // 126 
  Console.WriteLine(SQL_INS_USER2.Length);  // 112
  Console.WriteLine(SQL_INS_USER3.Length);  // 86
}

這里可以看到三個字符串長度分別相差了,14=126-112和26=112-86,注意觀察了,在代碼編輯器中,SQL_INS_USER1 中第一個換行符號之后,我縮進13個空格(INSERT之前),而
SQL_INS_USER2 中第一個換行符號之后,我縮進25個空格(VALUES之前),
那么,加上一個換行符,剛剛好 14和26

如此編寫代碼,雖然提高了代碼的清晰度和簡便性,卻無行中帶來了另一個問題:字符長度!
很多場景下我們希望字符串越短越好,如,通過ADO.NET 發送 SQL 語句給數據庫執行。
所以還是慎用之!

二 標識符中的用法

在 C#  規范中, @  可以作為標識符(類名、變量名、方法名等)的第一個字符,以允許C# 中保留關鍵字作為自己定義的標識符。

如下代碼:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class @class
{
  public static void @static(bool @bool) {
   if (@bool)
     System.Console.WriteLine("true");
   else
     System.Console.WriteLine("false");
  }  
}
class Class1
{
  static void M() {
   cl/u0061ss.st/u0061tic(true);
  }
}

注意,@雖然出現在標識符中,但不作為標識符本身的一部分。
因此,以上示例,定義了一個名為 class 的類,并包含一個名為 static 的方法,以及一個參數名為了 bool 的形參。

這樣,對于跨語言的移植帶來了便利。因為,某個單詞在 C#  中作為保留關鍵字,但是在其他語言中也許不是。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人性生交大片免费看视频直播| 911国产网站尤物在线观看| 5278欧美一区二区三区| 欧美最猛性xxxx| 国产视频观看一区| 久久人人爽人人| 欧美在线性视频| 亚洲视频在线看| 亚洲伊人一本大道中文字幕| 久久综合88中文色鬼| 亚洲国产欧美在线成人app| 欧美三级欧美成人高清www| 两个人的视频www国产精品| 国内精品久久久久久| 精品欧美一区二区三区| 亚洲一级一级97网| 亚洲图片欧美日产| 91av在线播放| 欧美激情中文字幕在线| 欧美巨乳在线观看| 国产精品久久久久影院日本| 亚洲第一区第二区| 欧美中在线观看| 九九精品在线视频| 人妖精品videosex性欧美| 国产精品一区二区3区| 亚洲护士老师的毛茸茸最新章节| 国产精品video| 亚洲欧美日韩综合| 欧美日韩国产精品一区二区不卡中文| 亚洲欧洲中文天堂| 国产精品久久久久久av福利软件| 91亚洲va在线va天堂va国| 9.1国产丝袜在线观看| 日韩视频免费在线| 亚洲高清久久久久久| 成人久久久久久| 国产精品7m视频| 精品国偷自产在线| 欧美成人性生活| 国产精品a久久久久久| 精品久久久久久亚洲国产300| 91香蕉电影院| 欧美视频第一页| 日韩欧美亚洲范冰冰与中字| 日韩av影片在线观看| 欧美日韩中文字幕在线| 成人精品久久av网站| 国产精品你懂得| 在线看日韩av| 亚洲免费电影一区| 91理论片午午论夜理片久久| 在线精品视频视频中文字幕| 黑人与娇小精品av专区| 亚洲欧美日韩精品| 亚洲va久久久噜噜噜久久天堂| 亚洲精品成人av| 国产精品对白刺激| 国产日韩在线精品av| 国产精品777| 日本午夜精品理论片a级appf发布| 久久理论片午夜琪琪电影网| 国产亚洲日本欧美韩国| 亚洲国产欧美一区二区丝袜黑人| 精品国产成人在线| 色婷婷av一区二区三区在线观看| 日韩中文在线中文网在线观看| 亚洲欧美在线一区二区| 欧美在线xxx| 中文字幕日韩有码| 成人福利视频网| 国产精品久久久久久久久免费看| 亚洲欧洲成视频免费观看| 亚洲图片欧美日产| 国产精品美女免费视频| 成人免费观看49www在线观看| 91精品视频在线| 日韩av快播网址| 国产精品网站入口| 日韩免费观看高清| 亚洲国产成人在线视频| 精品自在线视频| 成人免费视频a| 久久久久日韩精品久久久男男| 日本一区二区三区四区视频| 91欧美视频网站| 日本精品视频网站| 日韩精品在线观看一区二区| 中文字幕亚洲无线码在线一区| 亚洲图片制服诱惑| 色777狠狠综合秋免鲁丝| 国产美女被下药99| 欧美在线免费观看| 欧美在线播放视频| 中文综合在线观看| 日韩电影在线观看永久视频免费网站| 热草久综合在线| 亚洲人成电影网站| 亚洲国产精品成人一区二区| www.欧美视频| 欧美丰满片xxx777| 欧美亚洲国产日本| 91tv亚洲精品香蕉国产一区7ujn| 亚洲最大福利网站| 一本一本久久a久久精品牛牛影视| 5252色成人免费视频| 91免费高清视频| 啪一啪鲁一鲁2019在线视频| 成人国产亚洲精品a区天堂华泰| 亚洲18私人小影院| 亚洲激情成人网| 国产精品人成电影| 久久全球大尺度高清视频| 成人免费xxxxx在线观看| 日本午夜精品理论片a级appf发布| 欧美又大又硬又粗bbbbb| 久久影院中文字幕| 日韩美女免费线视频| 在线播放国产一区二区三区| 国产精品久久久久77777| 国产精品久久久av久久久| 国产精品久久久999| 亚洲视频在线观看| 成人激情在线观看| 91精品国产色综合久久不卡98口| 精品国产一区二区三区久久久狼| 超薄丝袜一区二区| 亚洲aⅴ日韩av电影在线观看| 久久久久久国产精品三级玉女聊斋| 最近中文字幕2019免费| 伊人伊成久久人综合网站| 国产一区二区三区四区福利| 日韩中文字幕精品| 欧美在线视频a| 综合网日日天干夜夜久久| 91精品久久久久久久久久| 国产精品久久婷婷六月丁香| 久久99久久久久久久噜噜| 亚洲大尺度美女在线| 欧美国产日产韩国视频| 亚洲精品在线看| 欧美成人精品h版在线观看| 日韩一区二区精品视频| 91精品国产免费久久久久久| 亚洲自拍另类欧美丝袜| 青青a在线精品免费观看| 97香蕉久久夜色精品国产| 成人免费视频a| 2019中文在线观看| 亚洲女人天堂网| 欧美国产日韩视频| 久久久国产精品免费| 成人性生交大片免费观看嘿嘿视频| 亚洲美女精品成人在线视频| 日韩亚洲欧美中文在线| 久久精品亚洲国产| 国产成人精品在线观看| 成人午夜在线视频一区| 欧美黑人xxx| 国产日韩在线亚洲字幕中文| 欧美大人香蕉在线| 欧美在线亚洲一区| 亚洲国产精品高清久久久| 8x海外华人永久免费日韩内陆视频|