C#转VB.NET:什么是"default"关键字?

17

可能重复问题:
泛型的默认值

好的,当我将一些C#代码翻译成VB.NET时,遇到了default关键字,并且我只是用nothing替换它。

这是正确的做法吗?还是有更好的“翻译”该关键字的方法?


1
请阅读https://dev59.com/9HRC5IYBdhLWcg3wROzk,特别是那里提出的第一个问题。答案很好,提供了背景信息。 - Cheeso
2个回答

29

没问题,这完全没关系。虽然 Nothing 通常代表 C# 中的 null 相当于空值,但是它也可以用于值类型,表示该类型的默认值。


4
我刚刚看到这篇写泛型扩展方法的文章,感觉非常“不对劲”。 - Jonesopolis

0
“default”在泛型的上下文中使用,特别是当您不知道类型但仍希望拥有泛型类型的默认值实例时。我不太擅长Visual Basic,但我可以想象有一个相同的等效方法(?)。
关于在C#中使用default关键字的示例,请参见default Keyword in Generic Code (C# Programming Guide)(MSDN):

2
它不一定要与泛型一起使用。如果您想的话,可以只使用(例如)default(string)。我建议避免在此处使用“实例” - 例如,default(string)是一个空引用,而不是对字符串实例的引用。 - Jon Skeet

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接