Получение -1 в индексе? - PullRequest
0 голосов
/ 26 февраля 2020

Как эта строка может вернуть -1 в индексе? я понятия не имею, как. ни у одного из них не может быть -1 в индексе, все они являются списками? Списки имеют значения 148, 2999, 620

products.prestaShopCategoryId2.Add(categories2.CategoryPrestaId[categories2.NewCategoryId.FindIndex(a => a.Contains(products.productCategoryId2[j]))]);

Ответы [ 2 ]

3 голосов
/ 26 февраля 2020

Я бы посоветовал вам провести рефакторинг этого кода, так как его очень трудно читать, а проблемы, подобные той, которую вы стали, очень трудно решить. Пожалуйста, см. Ниже код:

var indexOfItem = categories2.NewCategoryId.FindIndex(a => a.Contains(products.productCategoryId2[j]));
// Here you can handle situation, when element is not found and
// returned index is -1
if(indexOfItem == -1)
  throw new Exception("Item not found!");

var itemToAdd = categories2.CategoryPrestaId[indexOfItem];

products.prestaShopCategoryId2.Add(itemToAdd);

Кроме того, вы добавляете некоторые журналы по пути или что-нибудь, что сделает вашу жизнь проще, и т. Д. c.

2 голосов
/ 26 февраля 2020

https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.findindex?view=netframework-4.8

Возвращает Int32 Начинающийся с нуля индекс первого вхождения элемента, который соответствует условиям, определенным для match, если он найден; в противном случае -1. ​​

Если не найдено, оно равно -1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...