Re: [心得] C#基礎名詞解釋

看板Soft_Job (軟體人)作者 (在線上!=在電腦前)時間4年前 (2022/01/21 22:52), 4年前編輯推噓15(16117)
留言34則, 18人參與, 最新討論串2/2 (看更多)
※ 引述《rz2x (弗朗西爾我婆)》之銘言: 建議筆記要調整一下順序 # Value type 每次assignment都是pass by value. int a = 1; int b = a; b = 3; // a == 1 # Reference type 每次assignment都是pass by reference. 所有reference指向同一物件 class foo{public int bar;}; foo f1 = new foo(); f1.bar = 0; foo f2 = f1; f2.bar = 2; Console.WriteLine(f1.bar) // 2 因為f1 f2指向同一人, 容易出bug Live demo: https://dotnetfiddle.net/z5NhhX : 5.Class:類別,質型別,包含屬性及方法,記憶體位在Heap上,可繼承 : 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/ : 9.Field:欄位,不具有get或set的變數 : 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垃圾回收機制,系統自動搜尋記憶體中那些部分是曾用到但 : 現在不使用的,找到後會進行記憶體釋放,其觸發時間不固定 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 ※ 編輯: wulouise (61.231.136.89 臺灣), 01/21/2022 23:12:28

01/22 05:55, 4年前 , 1F
推這篇
01/22 05:55, 1F

01/22 09:48, 4年前 , 2F
01/22 09:48, 2F

01/22 09:59, 4年前 , 3F
終於懂什麼是pass by value了,感恩
01/22 09:59, 3F

01/22 10:44, 4年前 , 4F
然後人家就愛問string是什麼type
01/22 10:44, 4F

01/22 14:04, 4年前 , 5F
01/22 14:04, 5F

01/23 00:27, 4年前 , 6F
推這篇,真的寫一陣子之後才會認真意識到pass by value/re
01/23 00:27, 6F

01/23 00:27, 4年前 , 7F
f,搞懂就可以進化成獨當一面的c#程序猿了。這類問題要拿
01/23 00:27, 7F

01/23 00:27, 4年前 , 8F
來鑑別junior senior很有用。
01/23 00:27, 8F

01/23 01:53, 4年前 , 9F
pass by value/ref 不就寫cpp第一個入門知識
01/23 01:53, 9F

01/23 01:54, 4年前 , 10F
這怎麼可能鑑別出junior/senior
01/23 01:54, 10F

01/23 01:56, 4年前 , 11F
這都沒搞清楚怎麼寫code ?
01/23 01:56, 11F

01/23 11:44, 4年前 , 12F
這篇是c#不是c++...而且c# 沒加&也會pass by ref
01/23 11:44, 12F

01/23 12:06, 4年前 , 13F
pass by ref也可以考array list dictionary的實作, 還有
01/23 12:06, 13F

01/23 12:06, 4年前 , 14F
shallow/deep clone等觀念
01/23 12:06, 14F

01/23 14:29, 4年前 , 15F
pass by value/pass by refence 應該是junior 會考的問題
01/23 14:29, 15F

01/23 14:30, 4年前 , 16F
如果連這個都不太懂的話,建議重修下程式語言比較好一點
01/23 14:30, 16F

01/23 17:42, 4年前 , 17F
我通常會從value type ref type開始考、傳值、傳參、
01/23 17:42, 17F

01/23 17:42, 4年前 , 18F
boxing unboxing,深拷貝、淺拷貝,stack heap,一路
01/23 17:42, 18F

01/23 17:42, 4年前 , 19F
考到設計面
01/23 17:42, 19F

01/23 17:46, 4年前 , 20F
對,以前我也想說怎麼的可能value/ref的考題會有用,結果
01/23 17:46, 20F

01/23 17:46, 4年前 , 21F
我們公司放了一題在考卷裡,這半年來兩年年資以下的基本上
01/23 17:46, 21F

01/23 17:46, 4年前 , 22F
全軍覆沒,寫.Net三年五年會錯的人也大有人在。
01/23 17:46, 22F

01/23 19:06, 4年前 , 23F
那考concurrency, parallel processing不就倒更多?
01/23 19:06, 23F

01/23 21:57, 4年前 , 24F
太慘了吧 我們也有這題但是還沒看人連基礎的都講不出
01/23 21:57, 24F

01/26 14:51, , 25F
Pass by value/reference 應該跟變數是否為 value/refe
01/26 14:51, 25F

01/26 14:51, , 26F
rence type 無關吧?
01/26 14:51, 26F

01/28 18:41, , 27F
Pointer消失後所造成的名詞混淆
01/28 18:41, 27F

01/30 18:14, , 28F
是覺得有點誇張 JS也有類似考題
01/30 18:14, 28F

01/30 18:17, , 29F
但我覺得這題應該 junior 就該會,senior 應該是要
01/30 18:17, 29F

01/30 18:17, , 30F
解決非語法上的問題了,如改善系統效能,規範代碼
01/30 18:17, 30F

01/30 18:17, , 31F
風格等等
01/30 18:17, 31F

02/08 16:32, , 32F
02/08 16:32, 32F

02/09 12:14, , 33F
這JAVA 玩的更徹底。oo啊…囧囧囧
02/09 12:14, 33F

03/04 14:02, , 34F
pointer pass by value 比較好玩
03/04 14:02, 34F
文章代碼(AID): #1XwiYuzr (Soft_Job)
討論串 (同標題文章)
本文引述了以下文章的的內容:
35
108
完整討論串 (本文為第 2 之 2 篇):
35
108
文章代碼(AID): #1XwiYuzr (Soft_Job)