在 Vala 中,我看到当我声明一个数组时,我必须指定类型,例如

int[] myarray = { 1, 2, 3 };

我想知道是否有办法让混合数组像
smtg[] myarray = { 1, 'two', 3 };

我在 this question 中看到他们说在 C++ 和 C# 中这是不可能的,但我刚开始学习 vala,我没有任何类似 C 的语言的背景,所以我想确定一下。

最佳答案

不。

也就是说,您可以创建一个包含其他类型的数组,例如 GLib.ValueGLib.Variant ,并且 Vala 可以自动转换为/从这两个类型转换,因此您可以执行类似的操作

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

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

关于vala - 是否可以在 vala 中创建混合数组?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35259271/

10-13 05:34