array bevat item

Status
Niet open voor verdere reacties.

famlam

Gebruiker
Lid geworden
15 okt 2008
Berichten
416
Hoe kun je kijken of een array (zoals IO.DriveInfo.GetDrives()) een bepaalde waarde bevat zonder "For each item in io.driveinfo.getdrives()" o.i.d.. (Dus zonder loop).
 
Je zal toch ergens een door de array heen moeten om te controleren of iets gelijk is ,maar je zou iets van LINQ kunnen gebruiken.

Code:
        Dim di As System.IO.DriveInfo() = System.IO.DriveInfo.GetDrives()

        Dim b As IEnumerable(Of System.IO.DriveInfo) = From myItem As System.IO.DriveInfo In di Where myItem.Name = "C:\"
 
Code:
        Dim di As System.IO.DriveInfo() = System.IO.DriveInfo.GetDrives()

        Dim b As IEnumerable(Of System.IO.DriveInfo) = From myItem As System.IO.DriveInfo In di Where myItem.Name = "C:\"

En hoe kan ik vervolgens controleren of hij ook echt bestaat?
if b = true then ... werkt niet echt...
 
schrijf een in_array functie? :)

zoiets /pseudo
Code:
function in_array(zarray,waarde)
dim i as integer
for i = 0 to zarray.length
   if zarray(i) = waarde then
      return true
   end if
loop
return false
en dan:
Code:
if in_array(mijnArray, 'een-waarde') = true then
   'ja
end if


:thumb:
 
En hoe kan ik vervolgens controleren of hij ook echt bestaat?
if b = true then ... werkt niet echt...

Je vroeg alleen eerst of hij een bepaalde waarde bevat.

zoals al aangegeven wordt alleen c:\ in de IEnumerable toegevoegd als ie al bestaat.
Dus als IEnumerable leeg is dan bestaat ie niet, dus met een count functie groter 0 heb je je vergelijking.

Code:
        If b.Count > 0 Then
            MsgBox("Schijf bestaat")
        Else
            MsgBox("Schijf bestaat niet")
        End If
 
Je vroeg alleen eerst of hij een bepaalde waarde bevat.

zoals al aangegeven wordt alleen c:\ in de IEnumerable toegevoegd als ie al bestaat.
Dus als IEnumerable leeg is dan bestaat ie niet, dus met een count functie groter 0 heb je je vergelijking.

Code:
        If b.Count > 0 Then
            MsgBox("Schijf bestaat")
        Else
            MsgBox("Schijf bestaat niet")
        End If

Ok. Dat zegt genoeg... Ik zat allemaal te zoeken naar if b = true etc...

BEDANKT!
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan