将VB.NET的DateTime.TryParse(string,Nothing)转换为C#

时间:2017-02-15 13:26:18

标签: c# vb.net parsing datetime

我目前正在尝试将某些vb转换为c#,而在vb代码中我有以下行:

If DateTime.TryParse(txtExpirationDate.Text, Nothing) = False Then 
_isValid = False

其中,由于我对vb的了解非常有限,我认为应该在c#中读作:

if (DateTime.TryParse(txtExpirationDate.Text, null) == false)
        _isValid = false;

然而,visual studio告诉我我的论点无效:

  

最佳重载方法匹配' System.DateTime.TryParse(string,out System.DateTime)'有一些无效的论点

我想知道是否有人愿意帮助我。我究竟做错了什么?这在c#中是否可行?如果是这样,我该怎么做?

1 个答案:

答案 0 :(得分:4)

VB允许您使用变量或任意表达式作为out / ref参数。在后一种情况下,将忽略返回的值。另一方面,C#需要一个可以写入返回值的变量。

在C#7之前,there's no way to ignore an out parameter。因此,您需要为此目的声明一个变量(即使您不使用其值):

DateTime expirationDate;
if (DateTime.TryParse(txtExpirationDate.Text, out expirationDate) == false)
    _isValid = false;