Skip to content

TYPEOF


返回变量的类型。

语法

Typeof ( variable | datatype )

参数

variable

任何类型的变量。

datatype

一个 DataType

说明

Typeof 是一个编译器内置函数,将自身替换为传递给它的变量的类型。它既可以用于变量声明(示例 1),也可以用于预处理器中的比较、打印。(示例 2)

Typeof 也支持传递任何内置数据类型或用户自定义类型(及其数据字段),不仅仅是定义为这些类型的变量。还支持表达式,类型从表达式中推断(类似于 Var)。

如果在当前作用域中存在同名的用户自定义类型和变量,则用户自定义类型优先于变量。为确保 Typeof 取变量而不是用户自定义类型,请用括号包裹 Typeof 的参数以强制将其视为表达式。例如 Typeof((variable))

示例

示例 1:

start GeSHi

vb
Dim As Integer foo
Dim As TypeOf(67.2) bar '' '67.2' is a literal double
Dim As TypeOf( foo + bar ) teh_double '' double + integer results in double
Print SizeOf(teh_double)

end GeSHi

示例 2:

start GeSHi

vb
Dim As String foo
#print TypeOf(foo)
#if TypeOf(foo) = TypeOf(Integer)
  #print "Never happened!"
#endif

#if TypeOf(foo) = TypeOf(String)
  #print "It's a String!"
#endif

end GeSHi

版本

  • 在 fbc 1.10.0 之前,Typeof 不返回 UDT 的非静态成员过程的类型。
  • 在 fbc 1.08.0 之前:

方言差异

  • -lang qb 方言中不可用,除非使用别名 __Typeof 引用。

与 QB 的区别

  • FreeBASIC 新增

另请参阅

  • Sizeof
  • Var
  • Type (Alias)
  • Type...End Type

返回 目录

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