在vb.net中,如果变量已声明为日期,是否可以将其声明为字符串?

在vb.net中,如果变量已声明为日期,是否可以将其声明为字符串?,vb.net,Vb.net,我在vb.net应用程序中声明此变量: Dim invoice_due_date As Date = get_invoice_due_date(InvoiceDate.Text, customer_sequence) 我想要一个if语句,它将把这个变量再次声明为字符串,而不是日期 这可能吗 我试着把If放在下面,但它告诉我它在一个封闭的块中隐藏了一个变量在“变量范围”上读取(google)。你想要的不仅是不可能的,而且是坏习惯 您可以使用不同的数据类型声明一个新变量(不同的名称),并将发票到期

我在vb.net应用程序中声明此变量:

Dim invoice_due_date As Date = get_invoice_due_date(InvoiceDate.Text, customer_sequence)
我想要一个if语句,它将把这个变量再次声明为
字符串
,而不是
日期

这可能吗

我试着把
If
放在下面,但它告诉我它在一个封闭的块中隐藏了一个变量

在“变量范围”上读取(google)。你想要的不仅是不可能的,而且是坏习惯


您可以使用不同的数据类型声明一个新变量(不同的名称),并将
发票到期日
的内容加载到该变量中,或者按照@puropoix的建议,使用
.ToString()

为什么需要单独的字符串变量<代码>发票到期日期。ToString()将用于相同目的否。正如您已经发现的,不能在同一范围内声明两个名称完全相同的变量。但是,由于您不清楚为什么需要这样做,我们无法为您提供任何替代方案。原因是,我想根据一个条件默认设置日期,如果是真的,那么我需要将字符串设置为“N/a”,而不是日期,但之后您将如何处理该字符串/日期。你可以将它声明为一个对象,但如果你传递的东西也不能处理它,那对你没有任何好处。它将在word中用作书签值,并插入到数据库中