问题
I have a list comprehension operating on elements of an .NET array like
obj.arr = [f(x) for x in obj.arr]
However the assignment back to obj.arr fails.
Is it possible to convert a list to a .NET array in IronPython?
回答1:
Try this:
obj.arr = Array[T]([f(x) for x in obj.arr])
replacing T with type of array elements.
Alternatively:
obj.arr = tuple([f(x) for x in obj.arr])
回答2:
Arrays have to be typed as far as I know. This works for me:
num_list = [n for n in range(10)]
from System import Array
num_arr = Array[int](num_list)
Similarly for strings and other types.
来源:https://stackoverflow.com/questions/1107789/assigning-a-iron-python-list-to-net-array