VB.NET Language in a Nutshell
| Len Function |
Class
Microsoft.VisualBasic.Strings
Syntax
Len( expression )
- expression (required; any)
-
Any valid variable name or expression
Return Value
Integer
Description
Counts the number of characters within a string or the size of a given variable
Rules at a Glance
-
If expression contains Nothing , Len returns 0.
-
For a string or String variable, Len returns the number of characters in the string.
-
For a nonobject and nonstructure variable, Len returns the number of bytes required to store the variable in memory.
-
For a variable of type Object, Len returns the length of its data subtype. If the object is uninitialized , its length is 0. However, if the object contains a strongly typed class instance, an InvalidCastException exception is thrown.
-
For a structure, Len returns the number of bytes required to store the structure as a file. (But see the comment in Section .)
-
For a strongly typed object variable, such as one defined by the Class ... End Class construct, Len generates an InvalidCastException exception.
-
If varname is an array, you must also specify a valid subscript. In other words, Len cannot be used to determine the total number of elements in or the total size of an array.
Programming Tips and Gotchas
-
Len cannot accurately report the number of bytes required to store structures that contain variable-length strings. If you need to know how many bytes of storage space will be required by a structure that includes string members , you can fix the length of the strings by using the <vbFixedString( length )> attribute in the Structure statement. For details, see the Structure...End Structure Statement entry.
-
Len is functionally similar to the BCL's System.String.Length public instance method. One significant difference is that Len retuns a in the case of an uninitialized String variable, whereas the Length method raises a NullReferenceException exception. In addition, of course, the Length method can be used only on strings, whereas Len can be used on all data types other than strongly typed objects.