Вероятно, сработает, если вместо этого вы попробуете value.ToString()
, если вы ищете что-то, что может выглядеть как int и может быть преобразовано в int. Если вам нужны только вещи, которые на самом деле являются целочисленными, что-то вроде if(value is int number)
должно работать, если ваша версия c# является последней. Если он старше, вам может потребоваться if(value is int)
, а затем привести значение внутри if
. Ваш код может быть упрощен до:
foreach(...){
int.TryParse(value.ToString(), out var n);
integers.Add(n);
}
или
foreach (. ..) {
if(value is int)
integers.Add((int)value);
else
integers.Add(0);
}