Skip to content

LEN ​

来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgLen 最后更新: 2024-04-03

返回表达式或数据类型的长度。

语法 ​

declare function Len ( byref expression as string ) as integer
declare function Len ( byref expression as zstring ) as integer
declare function Len ( byref expression as wstring ) as integer

declare operator Len ( byref expression as datatype ) as datatype

declare function Len ( datatype ) as integer

用法:

result = Len( expression )
result = Len( DataType )

参数 ​

  • expression — 任意类型的表达式。
  • datatype — 一个数据类型。

返回值 ​

返回表达式或数据类型(包括 UDT 的数据字段)的字节大小。

说明 ​

Len 返回表达式的长度或数据类型的大小,以字节为单位。

  • 若 expression 为 String、Wstring 或 Zstring 类型,返回字符串的字符长度。
  • 若表达式为用户自定义类型,则调用与该数据类型兼容的 Operator Len。
  • 否则,返回表达式数据类型的字节大小。

在第二种形式(带有数据类型参数)中:

  • 若 DataType 为 Zstring 或 Wstring,返回一个 ASCII 或 Unicode 字符的字节大小。
  • 若 DataType 为 String,返回字符串描述符类型的大小。

注意: 若当前作用域中同名的用户自定义类型和变量同时可见,用户自定义类型优先。若要强制 Len 使用变量,将参数用括号括起来:Len((variable))。

注意: 与数组名称一起使用时,Len 返回数组的_数据类型_长度,而非元素总数。建议使用 Len(Typeof(array)) 以提高清晰度。

Len 一元运算符可与用户自定义类型重载。

示例 ​

vb
Print Len("hello world")   ' returns "11"
Print Len(Integer)         ' returns 4

Type xyz
    a As Integer
    b As Integer
End Type

Print Len(xyz)             ' returns 8

版本 ​

  • 在 fbc 1.08.0 之前,Len 不返回 UDT 数据字段的大小。

方言差异 ​

  • 在 -lang qb 方言中,Len 只允许表达式。
  • 在 -lang fb 和 -lang fblite 方言中,可与内置类型和用户自定义类型一起使用。

与 QB 的差异 ​

  • 在 -lang fb 和 -lang fblite 方言中,可与内置类型和用户自定义类型一起使用。

另请参阅 ​

基于 FreeBASIC 官方文档翻译 如有侵权请联系我们删除
FreeBASIC 是开源项目,与微软公司无隶属关系