Возвращает ключ или индекс предмета коллекции в зависимости от переданного зачения параметра.
Collection.GetKey(eIndex) |
Параметры
- eIndex
-
Указывает требуемое выражение, которое представляет позицию предмета в коллекции. Это выражение может быть одним из двух типов:
-
Численное. Выражение eIndex должно иметь значение начиная с 1 и до значения свойства Count коллекции.
-
Строковое. Выражение eIndex должно соответствовать cKey, которое было указано при добавлении предмиета в коллекцию.
-
Возвращаемое значение
В приведенной ниже таблице перечислены значения, которые может принимать GetKey.
Возвращаемое значение | Условие |
---|---|
Строка (ключ) |
Когда в качестве параметра посылается индекс или челочисленное значение |
Челочисленное (инедкс) |
Когда в качестве параметра посылается ключ или строка |
Пустая строка("") |
Когда в качестве параметра посылается индекс, который не существует или в случае, когда предметы добавлялись в коллекцию без использования ключей |
0 |
Когда в качестве параметра посылается несуществующий ключ |
Примечания
-
Поскольку метод GetKey возвращает значение, вам необходимо добавить оператор RETURN в конец GetKey в коде исходника для любых модифицируемых вами субклассов. Например:
Скопировать код
RETURN DODEFAULT( eIndex )
Если вы не желаете возвращать значение, используйте команду RETURN без объединения с функцией DODEFAULT().
-
Для определения - использовались ли ключи при добавлении предметов в коллекцию, вы можете использовать предложение
GetKey(1)
и фукнцию EMPTY() для проверки возврата пустого значения, как это показано ниже:Скопировать код
? !EMPTY(Collection.GetKey(1))
-
Для извлечения индекса или ключа предмета коллекции внутри цикла FOR EACH, используйте обычный цикл FOR вместо цикла FOR EACH.
-
Visual FoxPro сгенерирует ошибку, если в качестве параметра был послан неверный тип или параметр вообще не был передан методу GetKey.
Пример
В приведенном ниже примере показываются задачи, выполняемые после создания коллекции и добавления в нее предметов:
-
Проверка наличия ключей у предметов.
-
Извлечение и отображение ключа для второго предмета коллекции.
![]() | |
---|---|
CLEAR LOCAL oItems AS Collection oItems = NEWOBJECT("Collection") oItems.Add("Daffodils", "flower2") oItems.Add("Roses", "flower1", "flower2") oItems.Add("Daisies", "flower3") ? !EMPTY(oItems.GetKey(1)) ? oItems.GetKey(2) |