Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 在visual basic中是否有一种安全的方法来声明字符串变量?_Vb.net_String - Fatal编程技术网

Vb.net 在visual basic中是否有一种安全的方法来声明字符串变量?

Vb.net 在visual basic中是否有一种安全的方法来声明字符串变量?,vb.net,string,Vb.net,String,在使用PHP时,为了安全起见,我总是声明我的字符串变量并将它们设置为null。我对VisualBasic不熟悉,想知道声明字符串变量最安全的方法是什么。意志 Dim strWords As String 够了吗?还是最好将其设置为null或nothing或其他默认值或基元类型?默认情况下,strWords在默认情况下将为nothing 与其通过在声明变量时设置一个值来确保此值永远不会为空,还不如确保代码不会保留strWords为空的可能性,如果是,则应适当处理它 如果需要检查字符串是否为空或为

在使用PHP时,为了安全起见,我总是声明我的字符串变量并将它们设置为null。我对VisualBasic不熟悉,想知道声明字符串变量最安全的方法是什么。意志

Dim strWords As String

够了吗?还是最好将其设置为null或nothing或其他默认值或基元类型?

默认情况下,strWords在默认情况下将为
nothing

与其通过在声明变量时设置一个值来确保此值永远不会为空,还不如确保代码不会保留
strWords
为空的可能性,如果是,则应适当处理它

如果需要检查字符串是否为空或为空,可以执行以下操作:

If Not String.IsNullOrEmpty(strWords) Then

默认情况下,strWords在默认情况下仍然是
Nothing

与其通过在声明变量时设置一个值来确保此值永远不会为空,还不如确保代码不会保留
strWords
为空的可能性,如果是,则应适当处理它

如果需要检查字符串是否为空或为空,可以执行以下操作:

If Not String.IsNullOrEmpty(strWords) Then

声明字符串变量的最佳方法是在声明后直接将其设置为空字符串。对于大多数.NET开发人员来说,将字符串设置为“”或什么都不设置是一个常见的错误。这是错误的,因为“”实际上不是.NET CLR的空字符串,如果稍后在代码中引用该字符串,则不会引发NullReferenceException。以下是字符串声明的正确代码:

Dim str As String = "" ' <--This is "not best practice"
Dim str2 As String = Nothing ' <--This is "not best practice"
Dim str3 As String = vbNullString ' <--This is "not best practice"
Dim str4 As String = String.Empty ' <--correct

Dim str As String=“”声明字符串变量的最佳方法是在声明后直接将其设置为空字符串。对于大多数.NET开发人员来说,将字符串设置为“”或什么都不设置是一个常见的错误。这是错误的,因为“”实际上不是.NET CLR的空字符串,如果稍后在代码中引用该字符串,则不会引发NullReferenceException。以下是字符串声明的正确代码:

Dim str As String = "" ' <--This is "not best practice"
Dim str2 As String = Nothing ' <--This is "not best practice"
Dim str3 As String = vbNullString ' <--This is "not best practice"
Dim str4 As String = String.Empty ' <--correct

Dim str As String=“”在.net和VB.net中,声明字符串的最佳安全方法是为变量指定类型名。例如:

Dim MyString As System.String
我喜欢用完全限定名声明字符串(或任何类型),以避免混淆。不要这样做:

Dim MyString = "hello world"

在.net和VB.net中,声明字符串的最佳安全方法是为变量指定类型名。例如:

Dim MyString As System.String
我喜欢用完全限定名声明字符串(或任何类型),以避免混淆。不要这样做:

Dim MyString = "hello world"

是的,据我所知。(但是我是个初学者,所以请接受我的建议,用半粒盐值两美分。)@G这是个好问题。我相信,因为我正在编写一个简单的控制台应用程序,所以从我所知道的来看,它是VB6Yes。(但是我是个初学者,所以请接受我的建议,用半粒盐值两美分。)@G这是个好问题。我相信,因为我正在编写一个简单的控制台应用程序,它是VB6,所以如果我编写:if strWords Then。。。。这会检查strWords是否不等于零吗?@Scott-no.如果不是String.IsNullOrEmpty(strWords),则使用
+1尽管由于这是VB,您可以检查字符串是否不是空的,或者如果strWords“”则VB内部函数不将任何内容视为与“”相同,因此如果我写:If strWords Then。。。。这会检查strWords是否不等于零吗?@Scott-no.如果不是String.IsNullOrEmpty(strWords),则使用
+1尽管由于这是VB,您可以检查字符串是否为空或与此类似。如果strWords“”则VB内部函数将nothing视为与“”完全相同。与C#相比,设置为nothing的字符串在VB中引起NullReferenceException的可能性更小。VB内部函数将Nothing视为与“”相同。与C#相比,设置为Nothing的字符串在VB中引起NullReferenceException的可能性更小。VB内部函数不将任何内容视为与“”