C#核心開發-C#字符串是引用類型,如何定義、賦值和格式化呢?

2020-12-17 一都編程

C#核心開發-第3單元-數據類型-第15節:字符串類型

一都編程-C#核心開發課程

1. string類型

在C#中,string類型表示使用英文的雙引號包起來的字符串,只要是使用雙引號包起來的,哪怕只包了1個字符,也是字符串。

string類型在C#中是一種特殊的數據類型,它是地地道道的引用類型,但是在使用時,卻不需要使用new關鍵字生成對象,而是像值類型一樣使用。

string是C#中唯一的一個不需要使用new生成對象,而是像值類型一樣直接使用的引用類型。

圖1

在圖1中,通過提示信息,我們發現,在C#中使用小寫的string表示字符串類型,而在.NET中,對應System.String類,此時不是結構了,而是class定義的類,類都是引用類型。

圖2

字符串是非常實用的一種數據類型,生活當中的姓名、地址、名稱等,都可使用字符串類型表示。

對於string字符串類型的數據,可以使用以下兩種方式格式化輸出:

(1). string.Format()方法:使用索引值替換子字符串:

圖3

在圖3中,在字符串中使用「小強」替換{0},使用「坐」替換{1},依次類推。

輸出一下結果:

圖4

經過string.Format()的格式轉換,最終輸出的結果是:「小強,你好,請過來坐。」

(2). $插值方式:微軟在C#6.0加入的新特性:

圖5

在圖5中,使用$插入方式更簡潔,直接將變量插入需要的地方,不像string.Format()方法,如果索引值弄錯了,整個字符串就錯了。

運行一下結果:

圖6

在圖6中,二者輸了的結果是完全一樣的,建議大家使用$插值方式來實現字符串的格式化輸出。

相關焦點

  • Win10 開發入門:C# 程式語言基礎之數據類型與變量
    • 字符和字符串字符類型(char)用來表示Unicode字符,而零個或多個字符組成的有限序列則稱為字符串(string)。變量的定義和賦值有了數據類型我們就可以在程序中定義所需的數據,定義數據的過程稱之為變量的聲明,變量被聲明之後便可對其進行賦值。
  • Python如何定義變量,不可變數據,數字、字符串、元組詳解
    complex:複數x被定義為二元有序實數對(a,b) ,記為z=a+bi,這裡a和b是實數,i是虛數單位。print()列印多個值,用逗號隔開。用type() 函數輸出結果:列印結果對應數字的四種類型。
  • python格式化字符串研究
    前言與隊友交流時提及python的格式化字符串漏洞,這個漏洞之前接觸不多,所以寫篇文章從基礎部分仔細研究了研究。python環境是python3.7。Python3裡的格式化字符串python3中的格式化字符串主要有以下兩種形式:"test %s" % ('test')"test {0}".format('test')這兩個語句的輸出都是test test。
  • php字符串常用處理,運算符和幾個常用的字符串函數
    本篇將介紹php字符串常用處理,運算符和幾個常用的字符串函數。有興趣的朋友可以了解一下!php是一門很受歡迎的程式語言之一,由於它的語法簡單易學,迎來了一大批的自學者,小編就是其中一個。php確實相當於其它語言(java、c#等等)比較簡單,但是對一個毫無程式語言基礎的人來說,還是有一定難度的。
  • C#核心開發-邏輯、關係和字符串連接運算符的基本語法和案例應用
    一都編程-C#核心開發1. 邏輯運算符在C#中,邏輯運算符是指對兩個表達式執行布爾邏輯運算。是對bool類型的值(true和false)進行運算。C#中常用的邏輯運算符有:(1). 與(&&)運算符:在C#中,如果兩個操作數都是true,則結果為true,如果其中有一個為false,則結果就是false,案例代碼如下:
  • 一文看懂Python列表、元組和字符串操作
    賦值引用a = {1:[1,2,3]}b = aprint(id(a) == id(b))輸出:True賦值引用,a 和 b 都指向同一個對象。對於a[1][0]和b[1][0]還是對於對象1的引用,並沒有重新新建一個對象,這符合python的存儲機制。
  • Python基礎:數據類型和變量&字符串和編碼
    在Python中,等號=是賦值語句,可以把任意數據類型賦值給變量,同一個變量可以反覆賦值,而且可以是不同類型的變量,例如:aa = 123 # a是整數print(a)a = 'ABC' # a變為字符串print(a)這種變量本身類型不固定的語言稱之為動態語言,與之對應的是靜態語言。
  • Python中的變量與字符串數據類型
    CDA數據分析師 出品大家好,我是一行,作為當下最受歡迎和市場使用的程式語言之一,Python在廣大職場人士的日常事務中佔據越來越重要的位置。今天我們就對Python中變量以及字符串數據類型做一個總結,一起從零開始學習Python。
  • C#核心開發-什麼是引用類型?其引用數據存儲在內存的什麼地方?
    C#核心開發-第3單元-數據類型-第14節:引用類型一都編程-C#核心開發課程C#中的引用類型是指存儲在內存堆上的數據類型,堆與棧是不一樣的,存儲在堆上的數據CPU不能直接讀取,需要使用一個地址去查找。
  • C#核心開發-變量定義,變量初始化和變量案例實戰應用
    C#核心開發-第3單元-數據類型-第1節:變量一都編程-C#核心開發課程1. 變量C#中的變量是指在程序運行其間,其值是可以發生變化的。可以將變量理解為存儲指定數據類型值的容器。變量的定義對於變量的定義(也稱為聲明),是由數據類型和變量名稱這2部分組成的:數據類型 變量名;(1). 數據類型:是指對數據進行分類,如數字類型的數據只能是數字,字符串類型等。(2).
  • C語言字符數組和字符串
    字符數組的各個元素依次存放字符串的各字符,字符數組的數組 名代表該數組的首地址,這為處理字符串中個別字符和引用整個字符串提供了極大的方便。一、字符數組字符數組的定義形式與前面介紹的數值數組相同。例如: 字符數組也允許在定義時進行初始化賦值。
  • C++、java 和 C 的區別
    一、基礎類型c++:** java:** C#:1.以java為準,c++裡面的int short long 像這樣的整型 一般都有unsigned 和signed的區分 ,這個跟java和c# 的區別比較大,但c#裡面有unit ulong ushort 這三種就相當於c++的修飾詞unsigned,當c++李明的變量類型定義unsigned,就默認是整數。
  • 淺談Java中字符串的初始化及字符串操作類
    對於這種直接通過雙引號""聲明字符串的方式, 虛擬機首先會到字符串常量池中查找該字符串是否已經存在. 如果存在會直接返回該引用, 如果不存在則會在堆內存中創建該字符串對象, 然後到字符串常量池中註冊該字符串。在本案例中虛擬機首先會到字符串常量池中查找是否有存在"hello"字符串對應的引用.
  • 聊一聊:Python格式化字符串
    下面整理了一下Python中字符串格式化符合:格式化符號說明%c轉換成字符(ASCII 碼值,或者長度為一的字符串)%r優先用repr()函數進行字符串轉換%s優先用str()函數進行字符串轉換%d / %i轉成有符號十進位數%u
  • Python格式化字符串(格式化輸出)
    print() 函數使用以%開頭的轉換說明符對各種類型的數據進行格式化輸出,具體請看下表。repr() 函數將表達式轉換為字符串%s使用 str() 函數將表達式轉換為字符串轉換說明符(Conversion Specifier)只是一個佔位符,它會被後面表達式(變量、常量、數字、字符串、加減乘除等各種形式)的值代替。
  • C#和.NET向JAVA好轉嗎?
    不過也有一些差別,不過不多,稍微習慣下就好了,比如:集合:兩種語言都有集合ArrayList,還有通過鍵訪問值的Java中是HashMap而c#中是HashTable。c#比Java多泛型集合List<T>與Dictionary<K,V>更容易了,無需拆箱裝箱了,更安全了。
  • Swift字符串和字符
    創建和操作字符串的語法與 C的操作方式相似,輕量並且易讀。字符串連接操作只需要簡單地通過 + 號將兩個字符串相連即可。與 Swift 中其他值一樣,能否更改字符串的值,取決於其被定義為常量還是變量。儘管語法簡易,但 String 類型是一種快速、現代化的字符串實現。每一個字符串都是由獨立編碼的 Unicode 字符組成,並提供了用於訪問這些字符在不同的Unicode表示的支持。
  • Python中字符串的有關講解
    在之前講格式化輸出的時候,實際上已經提過Python的字符串,下面將會對字符串以及字符串的操作進行比較詳細的講解。一:字符串(str)字符串(str)也是Python序列的一種,是Python中非常常見的一種數據類型,通過使用一對單引號 ' ' 或是一對雙引號 " " 來生成字符串內容,當然有時候你也會看到三對單引號或雙引號,這也是合法的。
  • Python中的轉義字符串與格式化字符串
    # 格式化字符串# 常用佔位符# %s 格式化字符串# %d 格式化整數格式化字符串# 使用佔位符,格式化print("我喜歡%s,在%s年" %(c,n))f = 1.133格式化字符串# 轉義字符串# \\# \'
  • 濤哥講事-新手教程5-C++語句學習之賦值和輸入輸出語句
    前面大家也看到了,我們的代碼是由很多語句組成的,但是我們寫各種語句都是有規範的,到底有哪些語句,怎麼寫這些語句去解決具體的事情呢。今天我們就先看看兩種最基本的語句:賦值語句和輸入輸出語句。1. 賦值語句所謂賦值,很顯然就是把一個值賦予給一個變量,在c++中最基本的賦值就是用等號「=」來完成。