是否可以在 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.ValueGLib.Variant,并且 Vala 可以自动转换 to/from 这两个,因此您可以做一些像

GLib.Value[] values = {
  1,
  "two",
  3.0
}

这通常是一个糟糕的想法(你基本上是在抛弃编译时类型安全),但你可以做到。