VB中的选项类型

时间:2016-06-06 05:10:35

标签: vb.net monads

我们可以在VB中使用m = [] for i in range(len(lines)): a = re.split(r'\t+', lines[i].rstrip('\t').split(",") m.append(a) 类型吗?我正在研究VB中的一个项目,正在考虑一种方法来摆脱对Option / if的所有null检查并返回Nothing / { {1}}。 如果我可以拥有那种东西,我可以通过返回null静态地确保方法返回null而不是令人惊讶的调用者。 这将使代码不易出错,并且读得更好。

1 个答案:

答案 0 :(得分:1)

简短回答:

没有

答案很长:

对于正确的选项类型或一般的代数数据类型的支持,不会很快进入C#/ VB.Net。

对即将推出的C#7计划支持非可空类型,这些类型并不完全相同但仍允许编译时空检查.AFAIK尚未确认VB 15将包括但同样的功能。

你可以自己想出一些反NullReferenceException技巧,最大限度地减少意外传递空值的可能性,但是根本不可能让它们100%编译时间暂时安全。