C中的string和String有什麼區別

2022-03-09 10:29:35 字數 5739 閱讀 1015

1樓:淡儉項綢

string是c#中的類,string是.netframework的類(在c#

ide中不會顯示藍色)

c#string對映為.net

framework的string

如果用string,編譯器會把它編譯成string,所以如果直接用string就可以讓編譯器少做一點點工作

如果使用c#,建議使用string,比較符合規範string始終代表

system.string(1.x)

或::system.string(2.0),string只有在前面有using

system;的時候並且當前名稱空間中沒有名為string的型別(class、struct、delegate、enum)的時候才代表system.string

string是關鍵字,string不是,也就是說string不能作為類、結構、列舉、欄位、變數、方法、屬性的名稱,而string可以贊同

2樓:承菲僕鳥

區別很簡單,兩者都代表字串型別,但是為了方便,編譯器支援關鍵字,而string

就是其中一個特殊的關鍵字,就好比是

int與

int32,編譯器已經把int

看作是int32,

你可以理解成,在生成的時候,編譯器會把**中的string

替換成string

c#中string和string有什麼區別?

3樓:雪v歌

完全一樣,沒有區別;

string 和 string(首字母大寫)有區別.

string 型別表示一個字元序列(零個或更多 unicode 字元)。 string 是 .net framework 中 string 的別名。

儘管 string 是引用型別,但定義相等運算子( == 和 !=)是為了比較 string 物件(而不是引用)的值。 這使得對字串相等性的測試更為直觀。

string 表示文字,即一系列 unicode 字元;名稱空間: system ;程式集: mscorlib(在 mscorlib.

dll 中);string 物件稱為不可變的(只讀),因為一旦建立了該物件,就不能修改該物件的值。 看來似乎修改了 string 物件的方法實際上是返回一個包含修改內容的新 string 物件。 如果需要修改字串物件的實際內容,需使用 system.

text .stringbuilder 類

4樓:

在c#中,string 是 system.string 的別名,所以基本上在使用時是沒有差別的。

習慣上,我們把字串當作物件時(有值的物件實體),我們用string。而我們把它當類時(需要字串類中定義的方法),我們用string,比如:

string greet = string.format("hello !", place);

其實亂用也可以,只是這樣概念上清楚一點。

另外string是c#保留字,不可用作變數名,string就不是了。

5樓:匿名使用者

string 是c#的語法支援,string 則是string 對應的真實clr中的型別,兩者是一樣的,也就是說string 只是string的一個別名

string 可以在不引用 任何命令空間的情況下使用

string 必須先引用 system名稱空間

6樓:洋靜

大寫開頭的string 是個類 比如 string str=new string();str="著是個一類"; 定義一個 string資料型別的 變數.小寫開頭的string 是資料型別 比如 int 整型。

7樓:匿名使用者

這兩個應該是由區別的,string是c#這種語言的基本資料型別,屬於語法部分的,而string是.net類庫中的

8樓:匿名使用者

string是一維陣列。string[,]是二維陣列。

string和普通的一維陣列不同的是。他的每個元素本身就是又是一個陣列。

而string[,]是二維陣列。就是陣列的每一個元素都必須是長度為2的陣列。

比如有下面的陣列

[[1,2,3],

[2,4]

]那麼這個陣列必定是string型別而不會是string[,]型別。

因為string定義時:陣列的裡的每個元素都是陣列。(只要是陣列就行)

string[,]定義是:陣列的每一個元素都必須是長度為2的陣列。

可見基本上可以理解都是二維陣列但string裡的元素長度可以不相等。

string[,]必須長度一致

9樓:匿名使用者

是同一個東西,你可以試試,在打出string的時候出來的智慧提示,看看string和string的簡介,都是system.string類

本想吐槽一下樓上的,還是算了,什麼類和資料型別的區分,簡直是無稽之談,就算是int,也是system.int32這個類好麼。

如果你非要區分,那只不過是ms把常用的型別,做成了關鍵字使用更方便而已。。

10樓:匿名使用者

string[,]是二維陣列

string是交錯陣列

string[,]的長度是確定的

string長度可以不同

例如string arr= new string[2];

string[0]=new string[5];

string[1]=new string[10];

c#中string和string有什麼區別?

11樓:兄弟連教育

string是c#中的類,string是.net framework的類(在c# ide中不會顯示藍色)

c# string對映為.net framework的string

如果用string,編譯器會把它編譯成string,所以如果直接用string就可以讓編譯器少做一點點工作

如果使用c#,建議使用string,比較符合規範

string始終代表 system.string(1.x) 或 ::

system.string(2.0) ,string只有在前面有using system;的時候並且當前名稱空間中沒有名為string的型別(class、struct、delegate、enum)的時候才代表 system.

string

string是關鍵字,string不是,也就是說string不能作為類、結構、列舉、欄位、變數、方法、屬性的名稱,而string可以

12樓:暴宜第榮

深入詳解,string是.net

framework平臺中通用型別(cts)的資料型別,而

string是開發環境vs從string型別對映過來的資料型別,無論是他們之中的他一個,在編譯後轉換成的中間語言(il)都將是一樣的

13樓:匿名使用者

兩個+對角放置形成#?

c#中string和string的區別是什麼

14樓:雪v歌

完全一樣,沒有區別;

string 和 string(首字母大寫)有區別.

string 型別表示一個字元序列(零個或更多 unicode 字元)。 string 是 .net framework 中 string 的別名。

儘管 string 是引用型別,但定義相等運算子( == 和 !=)是為了比較 string 物件(而不是引用)的值。 這使得對字串相等性的測試更為直觀。

string 表示文字,即一系列 unicode 字元;名稱空間: system ;程式集: mscorlib(在 mscorlib.

dll 中);string 物件稱為不可變的(只讀),因為一旦建立了該物件,就不能修改該物件的值。 看來似乎修改了 string 物件的方法實際上是返回一個包含修改內容的新 string 物件。 如果需要修改字串物件的實際內容,需使用 system.

text .stringbuilder 類

15樓:洋靜

大寫開頭的string 是個類 比如 string str=new string();str="著是個一類"; 定義一個 string資料型別的 變數.小寫開頭的string 是資料型別 比如 int 整型。

c#中string[][]和string[,]的區別?

16樓:匿名使用者

string[,]是二維陣列

string是交錯陣列

string[,]的長度是確定的

string長度可以不同

例如string arr= new string[2];

string[0]=new string[5];

string[1]=new string[10];

17樓:匿名使用者

string是一維陣列。string[,]是二維陣列。

string和普通的一維陣列不同的是。他的每個元素本身就是又是一個陣列。

而string[,]是二維陣列。就是陣列的每一個元素都必須是長度為2的陣列。

比如有下面的陣列

[[1,2,3],

[2,4]

]那麼這個陣列必定是string型別而不會是string[,]型別。

因為string定義時:陣列的裡的每個元素都是陣列。(只要是陣列就行)

string[,]定義是:陣列的每一個元素都必須是長度為2的陣列。

可見基本上可以理解都是二維陣列但string裡的元素長度可以不相等。

string[,]必須長度一致

18樓:

string 是交錯陣列,string[,]是二維陣列

交錯陣列的每行的列數可以不一致;二維陣列每行的列數是一致的

string str = new string[2],new string};

string[,] s= new string[2][3], };

交錯陣列是以元素為陣列的陣列,其本身的元素是陣列物件,本質是一維陣列,

string str = new string[2];

str[0] = new string;

str[1] = new string;

str的元素是str[0],str[1]像這樣的一維陣列物件,至於為什麼是一維陣列,你可以理解為這個一維陣列的元素是str[0],str[1]...

這點也可以根據array.rank看出來,交錯陣列的秩是1,二維陣列是2

3.元素為多維陣列的交錯陣列

元素為一維陣列的交錯陣列:

int number = new int[3];

number[0] = new int;

number[1] = new int;

number[2] = new int;

元素為二維陣列的交錯陣列:

int[,] number = new int[3][,];

number[0] = new int[2,2];

number[1] = new int[3,2];

number[2] = new int[3,3];

元素為多維陣列的交錯陣列

int[,,] numbers = new int[2][,,];

numbers[0] = new int[2, 1, 1] }, } };

numbers[1] = new int[3, 2, 1];

c中stringformat與stringformat的區別

c 是區分大小寫的 string 表示的是一個 型別 string 表示的是一個類 誰知道c 中string和string之間的區別?注意第個字母s分大小寫?使用上沒有區別。語義上略有區別 string 是c 語言的關鍵字,是語言的一部分string是.net框架的system.string類,是框...

c中string與stringh的作用和區別是什麼

一般一個來c 的老的帶 自.h 副檔名的庫檔案,比如iostream.h,在bai新標準後的標準庫中都有du一個不帶 h 擴充套件zhi名的相對應,dao區別除了後者的好多改進之外,還有一點就是後者的東東都塞進了 std 名字空間中。但唯獨string特別。問題在於c 要相容c的標準庫,而c的標準庫...

關於C中的String類

1.只能p null不能 p null否則你是給一個char賦值null 2.上面不對 應該是小寫 1.下面執行時為什麼會出錯!char p null string str p 按上面string類的普通建構函式,這裡應該允許傳null!你這裡的 string 是標準的 string,而不是上面的 ...