記憶體空間有 「棧」 和 「堆」
值型別儲存在棧中,儲存的值就是變數本身包含的值,所以訪問速度比較快。
引用型別在棧中儲存的只是乙個引用位址,其物件的真實資料則儲存在託管的堆上。訪問效率較慢。
棧中存放物件引用,堆中存放物件資料。
值型別:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 值型別
, y = ", x, y);
x = 100;
console.writeline("x = , y = ", x, y);
console.readline();}}
}
x = 10, y = 10
x = 100, y = 10
引用型別:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace 引用型別
class program
", my1.a);
myclass my2 = my1;
my2.a = 500;
console.writeline("my1.a = , my2.a = ", my1.a ,my2.a);
console.readline();}}
}
my1.a = 100
my1.a = 500, my2.a = 500
c# 有15個 預定義型別:
-- 13個 是值型別
-- 2個 是引用型別 (string 和 object)
自定義型別:
-- 值型別:struct (結構)、enum (列舉)
--引用型別: class (類)
先說 13個 值型別:
8個整型:
3個高精度型別: float double decimal
2個:布林 bool 字元 char
預定義引用型別:object string
object 型別就是最終的父型別:
-- 可以使用 object 引用繫結任何子型別的物件
-- object 型別執行許多一般用途的基本方法,包括 equals()、gethashcode()、gettype() 和 tostring()。
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace @object
,,",i,i1,i2);
console.readline();}}
}
上面三個值分別是:c#,123,3.14
string 型別:
它表示 零 或 多 unicode 字元組成的序列。 string 是.net framework 中string 的別名。
string 型別的修改更像是值型別,但它確實是引用型別。
可以看出 str3 是拷貝了乙份 給 str4
c 資料型別基礎
1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於system程式集中的結構 sbyte 有符號8位整數 128 12...
C 資料型別基礎
1.值型別 值型別包括簡單值型別和複合型型別。簡單值型別可以再細分為整數型別 字元型別 實數型別和布林型別 而復合型別則是簡單型別的復合,包括結構 struct 型別和列舉 enum 型別。整數型別 資料型別 說明 取值範圍 對應於 system 程式集中的結構 sbyte 有符號8位整數 128 ...
C 基礎 資料型別
c 規定在建立乙個變數或者產量時,必須要指定相應的資料型別,否則無法給變數分配記憶體空間 資料型別的存在意義 給變數分配合適的記憶體空間 作用 整型變數表示的是整數型別的資料 在記憶體中的儲存方式如下圖所示 c 中能夠表示整型的型別有以下幾種方式,區別在於所佔記憶體空間不同 資料型別 占用空間 取值...