IndexOf со строковым массивом в VB.NET - PullRequest
9 голосов
/ 08 сентября 2010

Как мне найти индекс элемента в массиве строк в следующем коде:

Dim arrayofitems() as String
Dim itemindex as UInteger
itemindex = arrayofitems.IndexOf("item test")
Dim itemname as String = arrayofitems(itemindex)

Я бы хотел знать, как найти индекс элемента в строковом массиве. (Все элементы строчные, поэтому регистр не должен иметь значения.)

Ответы [ 4 ]

16 голосов
/ 08 сентября 2010

Это статический (Shared) метод в классе Array, который принимает фактический массив в качестве первого параметра, как:

Dim arrayofitems() As String
Dim itemindex As Int32 = Array.IndexOf(arrayofitems, "item test")
Dim itemname As String = arrayofitems(itemindex)

Страница MSDN

2 голосов
/ 17 мая 2013
Array.FindIndex(arr, (Function(c As String) c=strTokenKey)

Array.FindIndex(arr, (Function(c As String) c.StartsWith(strTokenKey)))
1 голос
/ 08 сентября 2010

IndexOf вернет индекс в массиве переданного элемента, как показано в третьей строке вашего примера. Это статический (общий) метод в классе Array, с несколькими перегрузками - поэтому вам нужно выбрать правильный.

Если массив заполнен и в качестве одного из элементов используется строка «item test», то следующая строка возвращает индекс:

itemindex = Array.IndexOf(arrayofitems, "item test")
0 голосов
/ 08 сентября 2010

Для ударов вы можете использовать LINQ .

Dim items = From s In arrayofitems _
        Where s = "two" _
        Select s Take 1

После этого вы получите доступ к этому элементу:

items.First
...