是否可以在 vala 中创建混合数组?
Is it possible to create a mixed array in vala?
在 Vala 中,我看到当我声明一个数组时我必须指定类型,比如
int[] myarray = { 1, 2, 3 };
我想知道是否有办法像
这样的混合数组
smtg[] myarray = { 1, 'two', 3 };
我在 this question 中看到他们说在 C++ 和 C# 中这是不可能的,但我刚开始学习 vala而且我没有任何 C 类语言的背景,所以我想确定一下。
没有
就是说,您可以创建一个可以容纳其他类型的数组,例如 GLib.Value
或 GLib.Variant
,并且 Vala 可以自动转换 to/from 这两个,因此您可以做一些像
GLib.Value[] values = {
1,
"two",
3.0
}
这通常是一个糟糕的想法(你基本上是在抛弃编译时类型安全),但你可以做到。
在 Vala 中,我看到当我声明一个数组时我必须指定类型,比如
int[] myarray = { 1, 2, 3 };
我想知道是否有办法像
这样的混合数组smtg[] myarray = { 1, 'two', 3 };
我在 this question 中看到他们说在 C++ 和 C# 中这是不可能的,但我刚开始学习 vala而且我没有任何 C 类语言的背景,所以我想确定一下。
没有
就是说,您可以创建一个可以容纳其他类型的数组,例如 GLib.Value
或 GLib.Variant
,并且 Vala 可以自动转换 to/from 这两个,因此您可以做一些像
GLib.Value[] values = {
1,
"two",
3.0
}
这通常是一个糟糕的想法(你基本上是在抛弃编译时类型安全),但你可以做到。