Saya ingin dapat melakukan:
For Each thing In things
End For
CLASSIC ASP - TIDAK .NET!
Sesuatu seperti ini?
dim cars(2),x
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"
For Each x in cars
response.write(x & "<br />")
Next
Lihat www.w3schools.com.
Jika anda ingin mengasosiasikan kunci dan nilai-nilai gunakan kamus objek sebagai gantinya:
Dim objDictionary
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.Add "Name", "Scott"
objDictionary.Add "Age", "20"
if objDictionary.Exists("Name") then
' Do something
else
' Do something else
end if
Apa pun yang anda [hal-hal] yang perlu ditulis di luar VBScript.
Di VB6, anda dapat menulis sebuah Koleksi Kustom kelas, kemudian anda'll perlu untuk mengkompilasi untuk ActiveX DLL dan mendaftar di webserver anda untuk mengaksesnya.
Yang paling dekat anda akan mendapatkan adalah dengan menggunakan Kamus (seperti yang disebutkan oleh Pacifika)
Dim objDictionary
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.CompareMode = vbTextCompare 'makes the keys case insensitive'
objDictionary.Add "Name", "Scott"
objDictionary.Add "Age", "20"
Tapi aku loop melalui saya seperti koleksi kamus
For Each Entry In objDictionary
Response.write objDictionary(Entry) & "<br />"
Next
Anda dapat loop melalui seluruh kamus ini cara menuliskan nilai-nilai yang akan terlihat seperti ini:
Scott
20
Anda juga dapat melakukan ini
For Each Entry In objDictionary
Response.write Entry & ": " & objDictionary(Entry) & "<br />"
Next
Yang akan menghasilkan
Name: Scott
Age: 20
Salah satu pendekatan I've digunakan sebelum menggunakan properti dari koleksi yang mengembalikan sebuah array, yang dapat melakukan iterasi atas.
Class MyCollection
Public Property Get Items
Items = ReturnItemsAsAnArray()
End Property
...
End Class
Iterate seperti:
Set things = New MyCollection
For Each thing in things.Items
...
Next
Akan SANGAT hati-hati menggunakan VB Script Kamus Objek! Hanya menemukan ini "autovivication" hal, asli pada objek ini: http://en.wikipedia.org/wiki/Autovivification
Jadi, ketika anda perlu untuk membandingkan nilai-nilai, tidak PERNAH menggunakan boolen perbandingan seperti:
Jika objDic.Item("varName") <> "" Lalu
...
Ini akan otomatis tambahkan tombol "namavar
" untuk kamus (jika itu doesn't ada, dengan nilai kosong) , dalam rangka untuk melaksanakan mengevaluasi ekspresi boolean.
Jika diperlukan, gunakan bukan Jika objDic.Ada("varName")
.
Hanya menghabiskan beberapa hari mengetuk dinding, dengan ini Mcrosoft " fitur*"... vbscript-kamus-objek-membuat-a-key-yang-pernah-ada-tapi-hadir-di-lain-objek