将Iron Python列表赋值给.NET数组

4 投票
2 回答
8577 浏览
提问于 2025-04-15 12:48

我有一个列表推导式,它在一个.NET数组的元素上进行操作,像这样:

obj.arr = [f(x) for x in obj.arr]

但是把结果重新赋值给obj.arr时失败了。

在IronPython中,有办法把列表转换成.NET数组吗?

2 个回答

4

据我所知,数组是需要指定类型的。这段代码对我来说是有效的:

num_list = [n for n in range(10)]

from System import Array
num_arr = Array[int](num_list)

对于字符串和其他类型也是一样的。

10

试试这个:

obj.arr = Array[T]([f(x) for x in obj.arr])

T 替换成数组元素的类型。

另外一种方法:

obj.arr = tuple([f(x) for x in obj.arr])

撰写回答