Re: [問題] 新手學C#,有關{get;set;}的疑問

作者: uranusjr (←這人是超級笨蛋)   2014-12-27 13:02:17
※ 引述《StupidGaGa (笨嘎嘎)》之銘言:
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 60.249.117.38
※ 文章網址: http://www.ptt.cc/bbs/C_Sharp/M.1419559087.A.D6C.html
→ AmosYang: 就「時區轉換」來說,還是別土法鍊鋼…參考一下 12/26 11:40
→ AmosYang: TimeZoneInfo 及 DateTimeOffset 吧 12/26 11:40
: 是我表達有問題嗎?「舉例」的重點是在TimeZoneInfo?
: 我怎麼覺得我是在討論Field與Property。
對, 但你舉的例子很差
你又沒特別講, 不懂的人可能會覺得這個實作本身應該也不錯吧
: 個人對於用不用TimeZoneInfo沒什麼想法,
: 但是「時區轉換」用TimeZoneInfo就比較高尚嗎?
: 單純的用加減時數就比較老舊嗎?
確實比較高尚啊
像你這樣加減有個根本問題:日光節約時間
而且你的實作沒考慮到 DateTime.Kind, 比較的時候很可能出現莫名的問題
當然你會這樣分享, 代表你自己從沒遇到過這類問題
但這東西真的超容易出包, 而且一包起來你哭都哭不出來
有完整時區支援可以靠就要趕快抱大腿啊, 別傻了
: 我所學到的是,不管方法如何,要因時因地的用才是好方法,
: 用某某方法比較好的說法,我抱持懷疑。
嗯, 你說得一點也沒錯
所以 MSDN 上就有這麼一篇文章
在 DateTime、DateTimeOffset 和 TimeZoneInfo 之間選擇
http://d.pr/18EIf
直接拉到最下面就會看到, 微軟基本上覺得任何時候 TimeZoneInfo 都適用
除非你要支援很早的版本(網站開發沒這問題)或者需求特殊(第二段)
在這種狀況下才會比較需要用到 naive DateTime 處理
你的做法在某些狀況下還是有用(雖然實作本身有改進空間)
可是在絕大多數情況下, 內建的 TimeZoneInfo 都更好
當然你要說你沒講錯嘛, 確實你是沒講錯什麼
但你提供的資訊太少, 不論是你不想或無力提供, 都代表這篇文章不完整
即使所有內容都完全正確, 讀者看到的仍然是歪曲的事實
也就是說, 你的第一篇文章會誤導人
所以下面推文才會那樣補充
而你的第二篇文章就沒有道理了
作者: GNUGCC (-std=c++14)   2013-08-10 00:59:00
void main(void) 的寫法是可行的唷^^雖然這個寫法較傳統,但是語法與文法都正確哦^^目前我使用的 Visual C++ 都接受 void main(void) 與int main(void),各位可以把 C++ 專案改成原生 C++ 類型來用 void main(void) 來寫發現也可通過編譯.這個就是 Visual C++ 的彈性.
作者: AmosYang (泛用人型編碼器)   2013-12-26 11:40:00
就「時區轉換」來說,還是別土法鍊鋼…參考一下TimeZoneInfo 及 DateTimeOffset 吧
作者: andymai (人生只有一次)   2014-12-28 00:22:00
居然還是有人好心說明了...真是佛心來著啊...
作者: StupidGaGa (笨嘎嘎)   2014-12-29 11:09:00
依照你的講法,難怪這裡那麼人那麼少討論只要舉例,就會被人專牛角尖,導致討論偏掉我也說過用不用TimeZoneInfo我沒意見,那不是主題如果你有意見,你可寫code,code比起千言萬語還要實際
作者: GoalBased (Artificail Intelligence)   2014-12-29 12:13:00
推文和回文都是好心..熱心...我覺得這樣很好啊

Links booklink

Contact Us: admin [ a t ] ucptt.com