Как использовать условие после UNWIND в запросе шифра

Я не знаю, какое решение лучше, но я использую это:

String[] ext = "*.ext1|*.ext2".Split('|');

            List<String> files = new List<String>();
            foreach (String tmp in ext)
            {
                files.AddRange(Directory.GetFiles(dir, tmp, SearchOption.AllDirectories));
            }
0
задан Basma Ashour 25 February 2019 в 16:09
поделиться

1 ответ

В этом списке есть только один «первый» , но может быть более одного «первого» в списке.

Я делюсь здесь Сайфером, чтобы получить первый индекс любой строки в списке (здесь «первый») .

WITH ["first", "second"] AS things, -1 AS index
RETURN [x IN range(0,size(things)-1) WHERE things[x] = "second"][0] AS index

.

РЕДАКТИРОВАТЬ : выше Cypher возвращает ноль , если строка не найдена в списке. Если вы хотите -1 или любое другое значение в случае, если строка не найдена, используйте следующий запрос:

WITH ["first", "second"] AS things, -1 AS index
WITH [x IN range(0,size(things)-1) WHERE things[x] = "first"][0] AS index
RETURN  CASE WHEN index IS NOT NULL THEN index ELSE -1 END AS index
0
ответ дан Raj 25 February 2019 в 16:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: