是否有一種特殊的語法將僅循環集合中某種類型的元素?對於每個循環和類型鑄造僅適用於與類型匹配的對象
例如:
For Each number As Integer In {0, "string", 4.6, 7, someClassInstance}
Next
我想類似的語法上述這將僅通過陣列中的第一和第四元件迴路。
然而,根據the documentation:
「元素的數據類型必須使得組中的元素的數據類型可以轉換到它。」
所以我不能用上面的語法做這樣的事情。
我在我的代碼處理實際的例子是:
Public MustInherit Class BaseClass
End Class
Public Class SubClass1 : Inherits BaseClass
Public x As Integer
End Class
Public Class SubClass2 : Inherits BaseClass
End Class
主要代碼:
Dim someList As List(Of BaseClass)
For Each instance In someList
'Do something with instance.x
Next
所以我需要檢查,如果instance
是SubClass1
型和每次使用時我都會使用x
。
前一陣子我問this question Swift。我希望在VB中有類似的答案。
但是,該組表示什麼?通常情況下,您在同構集上執行「For Each」。該數據將不得不被存儲'作爲對象' – Plutonix
@Putonix是的,這是一個對象數組。也許一個更好的例子是在我的代碼中,我有一個MustInherit類的集合,並且只想遍歷特定類的對象。 – Shuri2060
我不知道在VB中,但在C#中它是「是」。 https://msdn.microsoft.com/en-us/library/scekt9xw.aspx – Paparazzi