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