C#給字元串賦予字面值——字元串插入、轉義序列的使用

来源:https://www.cnblogs.com/qt-ttxs/archive/2018/03/16/8580041.html
-Advertisement-
Play Games

本文記錄了給字元串賦予字面值時,為便於操作與閱讀而進行的常用操作,如轉義序列,C#6的新功能‘字元串插入’以及一字不變的指定字元串等。 ...


1.占位符、字元串插入

  給字元串賦予字面值時,經常遇見在字元串中包含變數的情況,用連接符進行拼接、轉換的方式比較麻煩、還容易出錯。C#提供了較為便捷的處理方式,即‘占位符’,以及C#6的新功能‘插入字元串’(沒記錯的話是VS2015及後續新版本可用該功能)。下麵舉個簡單的例子說明用法:

string a="A friend in need";

string b="a friend indeed.";

想要輸出A friend in need is a friend indeed.這句話,可選擇如下方式:

(1)占位符

Console.WriteLine(“{0}is{1}”,A friend in need,a friend indeed.");

/*字元串裡面需要使用變數的時候,先在該位置使用{ 編號}占位符(編號從0開始),再在後面相應位置寫內容*/

(2)插入字元串

Console.WriteLine($"{a} is {b}");

/*在雙引號前面加$,然後把雙引號裡面的變數用{ }括起來,雙引號內的變數即可按變數所代表的內容輸出*/

2.轉義序列

以下內容轉載夜店耍流氓的博客


原文鏈接:C#中字元串的字面值(轉義序列)

在程式開發中,經常會碰到在字元串中字面值中使用轉義序列,下麵表格收集了下轉義序列的完整列表,以便大家查看引用:

轉義序列列表
轉義序列 產生的字元 字元的Unicode值
\' 單引號 0x0027
\" 雙引號 0x0022
\\ 反斜杠 0x005C
\0 0x0000
\a 警告(產生蜂鳴) 0x0007
\b 退格 0x0008
\f 換頁 0x000C
\n 換行 0x000A
\r 回車 0x000D
\t 水平製表符 0x0009
\v 垂直製表符 0x000B

      表中的“Unicode值”列是字元在Unicode字元集中的16進位值。使用Unicode轉義序列可以指定Unicode字元,該轉義序列包括標準的\字元,後跟一個u和一個4位十六進位值(例如,表中x後面的4位數字)。

      下麵的字元串是等價的:

      "Karli\'s string."

      "Karli\u0027s string."

     顯然,Unicode轉義序列還有更多用途。

     也可以逐字地指定字元串,即兩個雙引號之間的所有字元都包含在字元串中,包括行末字元和需要轉義的字元。唯一例外是雙引號字元的轉義,它們必須指定,以免結束字元串。為此,可以在該字元串之前加一個@字元:

      @"Verbatim string literal."

      可以採用一般方式指定這個字元串,但需要使用下麵這種方法:

      @"A  short  list:

      item  1

      item2"

      逐字指定的字元串在文件名中非常有用,因為文件名中大量使用了反斜杠字元。如果使用一般的字元串,就必須在字元串中使用兩個反斜杠,例如:

      "c:\\Temp\\MyDir\\MyFile.doc"

      而有了逐字指定的字元串字面值,這段代碼就更便於閱讀。下麵的字元串與上面的等價:

      @"c:\Temp\MyDir\MyFile.doc"   //@後面的字元全部按字面意思解釋(如該語句中的\不再視作轉義序列的,而是直接視作一個字元)


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 對磁碟文件進行排序,文件包含最多一千萬條記錄,每條記錄都是7位的整數,無其他相關數據,每個整數只出現一次,由於某種系統需要,只能提供1MB左右記憶體。由於是實時系統,最多運行幾分鐘就能給出回應,十秒鐘是比較理想的運行時間。 準確的問題描述: 輸入:一個包含n個正整數的文件,每個數都小於n,其中n=10 ...
  • 簡單使用 Mvc 內置的 Ioc(續) 本文基於 .NET Core 2.0。 上一章《[.Net Core] 簡單使用 Mvc 內置的 Ioc》已經對日常 Mvc 中的 Ioc 的簡單用法進行了說明,此外還有一些需要補充的內容。 接下來會圍繞著這些疑問進行回答:AOP 中 Filter 和 Ioc ...
  • 1.1 需求問題的提出 五個與需求有關的敗因描述:(1)不完整的需求(2)缺乏用戶參與(3)不切實際的用戶期望(4)需求變更頻繁(5)提供了不再需要的需求 1.2 不同項目的需求視圖 不同的軟體項目具有不同的特點,這對需求也帶來了影響,在此主要從信息系統、嵌入式系統、軟體產品等不同角度說明如何進行相 ...
  • 無法在web伺服器上啟動調試,您沒有調試web伺服器進程的許可權,您需要以web伺服器的用戶賬戶身份運行,或者具有管理員許可權。 原因:從Windows NT 6.1開始,既Windows Vista版本開始,增強了用戶控制,尤其是Windows 8。如果沒有用系統優化軟體做過用戶控制,系統許可權調整,即 ...
  • 資料參考來源 : 我姓區不姓區 有關於WIF的介紹以及環境配置在此不多說,可以去網上搜索,或者點擊上方鏈接前往查看,以下所述都基於WIF配置完成的條件上; 以下很多東西都是從 我姓區不姓區 的博客直接copy過來的,我另外加的就是我跟著他的博客一路中所踩的坑以及我自己的理解; 開始單點登錄踩坑之旅: ...
  • 恢復內容開始 .net 項目開發管理中我們經常使用Nuget管理我們的類庫。由於某些原因 nuget v3的鏡像源https://api.nuget.org/v3/index.json 經常連接不上。 博客園提供了鏡像源 https://nuget.cnblogs.com/v3/index.json ...
  • 一門語言如果是另一個語言的超集的話,那麼這麼語言就要向後者相容,會變得臃腫,在某些方面的顯得過於複雜,如c++ 2.引用是可以獨立的存在的,當給一個引用進行初始化的時候,就是給這個引用添加了關聯 如 string a;和string a="as" 3.常量的使用通常都是放在程式的內部,但也可放在非r ...
  • 如上面的代碼,在方法前面添加 [Obsolete] 特性即可 2018.3.16 14:33 補充 使用這個重載形式,後面的布爾值表示是否在客戶調用該方法的時候報錯。這樣可以保證不會有人會誤用該方法 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...