建議筆記要調整一下順序
# Value type每次assignment都是pass by value.
int a = 1;
int b = a;
b = 3; // a == 1
每次assignment都是pass by reference. 所有reference指向同一物件
foo f1 = new foo();
f1.bar = 0;
foo f2 = f1;
f2.bar = 2;
Console.WriteLine(f1.bar) // 2 因為f1 f2指向同一人, 容易出bug
Live demo:
: 6.Struct:結構,參考型別,包含屬性及方法,記憶體位在Stack上,不可繼承
C# class: reference type.
C# struct: value type.
為什麼重要,主要是reference type, value type的特性差異
stack & heap在C#算是implementation detail 不用太在意
見"The Truth about Value Type"
https://ericlippert.com/2010/09/30/the-truth-about-value-types/C# struct: value type.
為什麼重要,主要是reference type, value type的特性差異
stack & heap在C#算是implementation detail 不用太在意
見"The Truth about Value Type"
: 10.Property:屬性,具有get或set的變數
getter setter可以做什麼? 有什麼好處? 才是他的意義
: 16.Stack:存放值的記憶體區塊,系統自行配置。記憶體釋放順序為先進後出。: 17.Heap:存放參考類型(物件)的記憶體區塊,由使用者配置,若其中的指向為空,則記
: 憶體由GC自動釋放。
同上 Eric Lippert那篇看完你可以跟面試官討論:allocation的位置在C#重要嘛?
: 18.修飾子: public、private、protect、internal、sealed應該說是access modifier
unsafe這種也算modifier
: 21.GC:Garbage Collection垃圾回收機制,系統自動搜尋記憶體中那些部分是曾用到但unsafe這種也算modifier
: 現在不使用的,找到後會進行記憶體釋放,其觸發時間不固定
What are GC Generation 0/1/2?
--
等等,我是不知道妳是看了什麼神槍手的故事,可是為什麼要拿我當靶 (′Д‵)
什麼!是黃忠和后羿的故事?他們拿的不是銃,是弓!
長門,妳手上拿著蘋果跟繩子是作什麼?今天晚餐不是關東煮是烤乳豬嗎?
連爸爸都沒弄痛過我,可不可以不要綁這麼緊,好歹鬆一點讓我有空間逃吧,古泉。
好,我認了,要射就射吧,可是請聽一下在我死前的最後一個願望。
不 要 拿 霰 彈 來--
等等,我是不知道妳是看了什麼神槍手的故事,可是為什麼要拿我當靶 (′Д‵)
什麼!是黃忠和后羿的故事?他們拿的不是銃,是弓!
長門,妳手上拿著蘋果跟繩子是作什麼?今天晚餐不是關東煮是烤乳豬嗎?
連爸爸都沒弄痛過我,可不可以不要綁這麼緊,好歹鬆一點讓我有空間逃吧,古泉。
好,我認了,要射就射吧,可是請聽一下在我死前的最後一個願望。
.....噗滋(腦漿聲) 摘自「阿虛的最後一餐」
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.231.136.89 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1642776760.A.F75.html--