2012-03-06 4 views
0

При работе с PHP я всегда объявлял свою строковую переменную и устанавливал их равными нулю, чтобы быть в безопасности. Я новичок в visual basic, и мне интересно, какой самый безопасный способ объявить строковую переменную. Будет лиЕсть ли безопасный способ объявить строковую переменную в visual basic?

Dim strWords As String 

будет достаточным? Или лучше установить значение null или ничего или другое значение по умолчанию или примитивный тип?

+0

Да, из того, что я мог сказать. (Но тогда я новичок, так что принимайте мой совет с половиной соли, стоит двух центов.) –

+0

Это VB6 или VB.net? –

+0

@G Это хороший вопрос. Я верю, потому что я пишу простое консольное приложение, что это VB6 – Scott

ответ

3

По умолчанию strWords будет по умолчанию Nothing.

Вместо того, чтобы гарантировать, что это значение никогда не является ничем, устанавливая значение при объявлении переменной, вы должны убедиться, что ваш код не оставляет возможности strWords быть Ничем, и если это так, то с этим связано.

Если вам нужно проверить, является ли строка не пуста или ничего, вы можете сделать:

If Not String.IsNullOrEmpty(strWords) Then 
+0

Итак, если я пишу: If strWords Then .... будет проверять, не стесняется ли strWords? – Scott

+1

@Scott - нет. Используйте 'If Not String.IsNullOrEmpty (strWords) Then ...' –

+0

+1 Хотя, поскольку это VB, вы можете проверить, не является ли строка пустой или ничего подобного * If strWords <> "" Then * VB intrinsics treat Ничто не идентично «" – MarkJ

2

Лучший способ объявить строковую переменную, чтобы установить его в пустую строку непосредственно после объявления. Для большинства разработчиков .NET это распространенная ошибка, чтобы установить строку в «" или Nothing. Это неверно, потому что «« на самом деле не пустая строка для .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 
+0

Строка, установленная на Nothing, с меньшей вероятностью вызывает исключение NullReferenceException в VB, чем C#. Интуиция VB рассматривает Ничто как идентичное " – MarkJ

0

В .net и в VB.NET, лучший безопасный способ объявить строку, это дать переменной имя типа. Например:

Dim MyString As System.String 

Мне нравится объявлять строку (или любой тип) с полным именем, чтобы избежать путаницы. И не делайте этого:

Dim MyString = "hello world" 
Смежные вопросы