VB6 équivalent de la chaîne.IsNullOrEmpty
Je suis en train de faire un travail sur une application existante, et mon VB6 compétences ne sont pas super. J'ai besoin de vérifier si une Chaîne de terrain a été initialisé et réglé sur une valeur autre que null/rien ou une chaîne vide. En C# que je venais de faire quelque chose comme:
if (string.IsNullOrEmpty(myObj.Str))
Je ne suis pas sûr de ce que l'équivalent de ce fut en VB6, et je suis nerveux au sujet de l'aide If myObj.Str = ""
et d'appel, il est bon. Quelle est la manière correcte de le faire?
Pour clarifier, je veux quelque chose qui renvoie True si les conditions suivantes sont remplies:
- Le domaine n'a pas été initialisée
- Le champ est une chaîne vide (str = "", length = 0)
- Le champ est null, ou Rien, ou vbnull, ou quelle que soit la forme de la valeur null s'applique à VB6 chaînes.
Le domaine était à l'origine un Long, et le code, je suis en remplacement de vérifier si elle a été fixée à 0.
Vous devez vous connecter pour publier un commentaire.
VB6 a été conçu pour être facile
Utilisation
True
quand j'executeDebug.Print(vbNullString = String.Empty)
Les plus optimisés et sûr de répondre à vos 3 exigences est comme suit:
str = ""
. Quelle est la fréquence de la performance de vraiment important?utilisation Est Null pour les morsures ou n'est rien pour les objets
utilisation len("chaîne") au lieu de "chaîne"="" parce que c'est plus rapide
ce qui concerne
J'ai essayé,
If str = ""
Puismais il ne fonctionne pas.
La meilleure façon de déterminer si la chaîne est nulle est:
If IsNull(str)
Puis' Cela fonctionne parfaitement
Comme "Nuls" et "les Cordes à Vide" sont en fait des valeurs différentes, cette approche peut capturer à la fois pour vous facilement:
Trim(strValue & vbNullString) = vbNullString
permettra de saisir l'espace-remplies.Simplement l'ajout d'info à MarkJ de réponse. Si vous travaillez avec un jeu d'enregistrements, ce
Génèrera une erreur d'exécution dans le cas où l'élément est null. Vous devriez faire ceci:
Bonne chance.
'L'aide de VbNullstring peut être un moyen très efficace
HasValue = YourString <> vbNullString
à la place: c'est plus direct, leIf
est complètement inutile ici. En outre, il n'y a pas de raison de plus écrire ce en VB6. Vous pouvez simplement direHasValue = YourString <> ""