Nasıl klasik ASP bir koleksiyon çapraz mı?

oy
13

Ben yapabilmek istiyorum:

For Each thing In things
End For

KLASİK ASP - NET DEĞİL!

Oluştur 05/08/2008 saat 14:30
kaynak kullanıcı
Diğer dillerde...                            


6 cevaplar

oy
12

Böyle bir şey?

dim cars(2),x
cars(0)="Volvo"
cars(1)="Saab"
cars(2)="BMW"

For Each x in cars
  response.write(x & "<br />")
Next

Bkz www.w3schools.com .

Anahtarları ilişkilendirmek istediğiniz ve değerler Eğer bir sözlük nesnesi kullanabilirsiniz yerine:

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
Cevap 11/08/2008 saat 13:39
kaynak kullanıcı

oy
3

Ne olursa olsun ihtiyaç vardır [şeyler] VBScript dışında yazılacak.

VB6 olarak, bunu Özel Koleksiyon sınıfını yazabilir , o zaman bir ActiveX DLL için derlemek ve erişmek için web sunucunuza kaydetmeniz gerekir.

Cevap 05/08/2008 saat 14:42
kaynak kullanıcı

oy
2

En yakın bir Sözlük kullanıyor almak için gidiyoruz (Pacifika tarafından belirtildiği gibi)

Dim objDictionary
Set objDictionary = CreateObject("Scripting.Dictionary")
objDictionary.CompareMode = vbTextCompare 'makes the keys case insensitive'
objDictionary.Add "Name", "Scott"
objDictionary.Add "Age", "20"

Bir koleksiyonu gibi benim sözlükleri aracılığıyla Ama döngü

For Each Entry In objDictionary
  Response.write objDictionary(Entry) & "<br />"
Next

Bu yolu şu şekilde görünecektir değerleri tüm sözlükten döngü dışarı yazma yapabilirsiniz:

Scott
20

Ayrıca bunu yapabilirsiniz

For Each Entry In objDictionary
  Response.write Entry & ": " & objDictionary(Entry) & "<br />"
Next

Hangi üretecektir

 Name: Scott
 Age: 20
Cevap 16/09/2008 saat 20:09
kaynak kullanıcı

oy
1

Daha önce kullanmış olduğunuz bir yaklaşım üzerinde iterated bir dizisi döndürür koleksiyon bir özelliğini kullanmaktır.

Class MyCollection
    Public Property Get Items
        Items = ReturnItemsAsAnArray()
    End Property
    ...
End Class

gibi Iterate:

Set things = New MyCollection
For Each thing in things.Items
    ...
Next
Cevap 23/11/2008 saat 05:40
kaynak kullanıcı

oy
0

VB Script Sözlük Nesnesi kullanımıyla ilgili ÇOK dikkatli ol!
Sadece bu "keşfetmek autovivication bu nesne üzerinde, yerli" şey: http://en.wikipedia.org/wiki/Autovivification

: Eğer değerleri karşılaştırmak gerekir, yani, ASLA bir Boolen karşılaştırma gibi kullanmak
If objDic.Item("varName") <> "" Then...
Bu olacak otomatik anahtar "add varNamedeğerlendirilmesi üzerinde sürdürebilmek için, (o yoksa boş bir değerle,) sözlüğüne" mantıksal ifade.

Gerekirse, bunun yerine kullanmak If objDic.Exists("varName").

Sadece bu Mcrosoft "ile, duvarlar vurma birkaç gün geçirmek özelliği " ...
vbscript-Sözlük-nesne oluşturarak-a-var olmamış olan-tuşlu-ama-şimdi-in-başka-nesne

Cevap 21/05/2014 saat 09:43
kaynak kullanıcı

oy
0

Brett dediği gibi, onun daha iyi koleksiyonlar oluşturmak için bir vb bileşeni kullanımı. Sözlük nesneler çok yaygın sürece belirli bir ihtiyaç temelli uygulamalar için ASP kullanılmaz.

Cevap 23/09/2008 saat 07:15
kaynak kullanıcı

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more