最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#中@的用法總結

 更新時間:2014年08月22日 10:46:52   投稿:shichen2014  
這篇文章主要介紹了C#中@的用法總結,非常重要的用法總結,需要的朋友可以參考下

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

一 字符串中的用法

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

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

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

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

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

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

3.@會識別換行符

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

string script = @" 
<script type=""type/javascript""> 
function doSomething() 
{ 
} 
</script>"; 

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

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

或者:

string script3 = 
"<script type=\"type/javascript\">" + 
"function doSomething(){ " + 
"}</script>"; 

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

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

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

private const string SQL_INS_USER = @" 
INSERT INTO t_User([UserName], [Password], Email)  
 VALUES(@UserName, @Password, @Email)"; 

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

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 發(fā)送 SQL 語句給數(shù)據(jù)庫執(zhí)行。
所以還是慎用之!

二 標識符中的用法

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

如下代碼:

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); 
  } 
} 

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

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

相關文章

  • C#中LINQ的Select與SelectMany函數(shù)使用

    C#中LINQ的Select與SelectMany函數(shù)使用

    這篇文章主要介紹了C#中LINQ的Select與SelectMany函數(shù)使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • 深入分析C# Task

    深入分析C# Task

    這篇文章主要介紹了C# Task的相關資料,文中講解非常細致,代碼幫助大家更好的理解和學習C# Task的相關知識,感興趣的朋友可以了解下
    2020-08-08
  • C#檢查鍵盤大小寫鎖定狀態(tài)的方法

    C#檢查鍵盤大小寫鎖定狀態(tài)的方法

    這篇文章主要介紹了C#檢查鍵盤大小寫鎖定狀態(tài)的方法,涉及C#鍵盤操作的相關技巧,需要的朋友可以參考下
    2015-05-05
  • C#中的靜態(tài)字段double.Epsilon實例詳解

    C#中的靜態(tài)字段double.Epsilon實例詳解

    double.Epsilon 是C#中的一個靜態(tài)字段,表示 double 數(shù)據(jù)類型的最小可表示的正數(shù)值,這篇文章主要介紹了C#中的靜態(tài)字段double.Epsilon的相關知識,需要的朋友可以參考下
    2024-01-01
  • C#編程高并發(fā)的幾種處理方法詳解

    C#編程高并發(fā)的幾種處理方法詳解

    這篇文章主要為大家詳細介紹了C#編程高并發(fā)的幾種處理方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C#調(diào)用7z實現(xiàn)文件的壓縮與解壓

    C#調(diào)用7z實現(xiàn)文件的壓縮與解壓

    這篇文章主要介紹了C#調(diào)用7z實現(xiàn)文件的壓縮與解壓,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下
    2020-12-12
  • C#實現(xiàn)終止正在執(zhí)行的線程

    C#實現(xiàn)終止正在執(zhí)行的線程

    這篇文章主要介紹了C#實現(xiàn)終止正在執(zhí)行的線程的方法,針對臨界資源等容易出現(xiàn)錯誤的地方進行了分析,并提出了改進方案與實例,需要的朋友可以參考下
    2014-09-09
  • C#使用String和StringBuilder運行速度測試及各自常用方法簡介

    C#使用String和StringBuilder運行速度測試及各自常用方法簡介

    今天小編就為大家分享一篇關于C#使用String和StringBuilder運行速度測試及各自常用方法簡介,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2018-10-10
  • C#實現(xiàn)大數(shù)字運算的實例代碼

    C#實現(xiàn)大數(shù)字運算的實例代碼

    這篇文章介紹了C#實現(xiàn)大數(shù)字運算的實例代碼,有需要的朋友可以參考一下
    2013-10-10
  • 詳解C#如何利用爬蟲技術實現(xiàn)快捷租房

    詳解C#如何利用爬蟲技術實現(xiàn)快捷租房

    做為一個碼農(nóng),大部分都集中在一二線城市,所以租房也就無可避免,面對如今五花八門的租房信息,往往很難找到合適的房子。本文教你如何利用爬蟲技術實現(xiàn)快捷租房,感興趣的可以了解一下
    2022-09-09

最新評論

江永县| 达拉特旗| 临武县| 乌拉特后旗| 新宾| 新安县| 酒泉市| 琼结县| 平乡县| 会同县| 卢湾区| 平定县| 汕尾市| 光山县| 崇义县| 广宗县| 垣曲县| 松溪县| 东安县| 平果县| 永顺县| 普洱| 三门县| 南昌市| 安陆市| 景泰县| 云浮市| 砚山县| 饶河县| 万盛区| 湾仔区| 石狮市| 青阳县| 霍山县| 会宁县| 尼勒克县| 高雄县| 黄大仙区| 大渡口区| 新平| 东乌|