2012-12-14 18 views

回答

1

可以使用Cast運營商ConvertAll。但我也將使用List(Of T)

Dim _Points As New List(Of Drawing.Point) 
' fill the list 
Dim pointFs As List(Of Drawing.PointF) 
pointFs = _Points.ConvertAll(Function(p) CType(p, Drawing.PointF)) 

如果你真的需要一個數組:

Dim pArray = pointFs.ToArray() 
+0

謝謝!這是做的伎倆;) –

+0

強大的CType,鑄造兩個完全不兼容的結構類型之間。強大的,但這是*不*廉價,它需要反思。 @ArsenMkrt顯示廉價的方式。 –

+0

@HansPassant:但是''Point'到'PointF'有一個[隱式轉換操作符](http://msdn.microsoft.com/en-us/library/system.drawing.point.op_implicit.aspx)。 –

1

在C#它看起來像這樣

_Points.Select(p=>new PointF(p.X, p.Y)).ToList() 
+0

看起來像它周圍的其他方法?我需要從點到點.. –