powerpoint - Need to add and find element index value in arraylist in powershell? -


add string element in arraylist , find it's index value?

[code...] $eventlist = new-object system.collections.arraylist $eventlist.add("hello") $eventlist.add("test") $eventlist.add("hi") 

not working throwing error:-

method invocation failed because [system.string[]] doesn't contain method named 'add'. @ c:\users\administrator\desktop\qwedqwe.ps1:9 char:15 + $eventlist.add <<<< ("hello")     + categoryinfo          : invalidoperation: (add:string) [], runtimeexception     + fullyqualifiederrorid : methodnotfound 

as mentioned in comments, if you've developing in ise (or ide) , assigned $eventlist type cast, so:

[string[]]$eventlist = @() 

or similar, commenting out previous lines won't - variable exists , have type bound remainder of lifetime.

you can remove previous assignments remove-variable eventlist


once you've got sorted, can move on locating index. if you're interested in index of exact match, use indexof():

ps> $eventlist.indexof('hi') 2 

if isn't flexible enough, use a generic list<t>, implements findindex().

findindex() takes predicate - function returns $true or $false based on input (the items in list):

$eventlist = new-object system.collections.generic.list[string] $eventlist.add("hello") $eventlist.add("test") $eventlist.add("hi") $predicate = {   param([string]$s)     return $s -like 'h*' } 

and call findindex() $predicate function argument:

ps> $eventlist.findindex($predicate) 0 

(it matches hello @ index 0 because starts h)


Comments