每日一得0906

beewolf, 6 九月, 2021

今天一直在翻译中,我的翻译不是中文翻译成英文,或者英文翻译成中文这样的;但也是翻译:从VB翻译为C#。

看到一个开源项目,Create Synchronicity,采用VB写的,我觉得这个软件不错,一直用,最近想调整为每日多次同步,但系统不支持,于是我想先翻译成C#,然后补充功能进去,最后再开源出去,给C#的同学们一个例子。

翻译工作还是很有趣的,一方面了解这个同步软件的方式;另一方面把以前没有好好学习的C#语言利用起来,许多规则都在翻译中慢慢重构出来,非常有意思。这个就是我的游戏作业了。练级的体会:1,多用三元语句?:;2,多用try语句...

翻译到 Function GetSetting(Of T)(ByVal Key As String, Optional ByVal DefaultVal As T = Nothing) As T这个语句的时候卡壳了,泛型一直是我回避的东西,觉得好深奥,但一旦翻译起来,又觉得泛型很好,让人爱不释手。那么,这个缺省参数为T类型的空值如何写语句呢?

我找啊找啊,估计是没有看C#专业书,临下班的时候,我找到了:default(T)!!!

public T GetSetting<T>(string Key, T DefaultVal = default(T))

 

美好的一天!!!!