Невозможно оценить выражение, потому что код оптимизирован или собственный фрейм находится над стеком вызовов.

Предлагаемое решение LINQ с использованием Cast / 'Select' отлично, но поскольку вы знаете, что работаете с массивом здесь, использование ConvertAll скорее более эффективно, и так же просто.

var newArray = Array.ConvertAll(array, item => (NewType)item);

Использование ConvertAll означает: a) массив повторяется только один раз, b) операция более оптимизирована для массивов (не использует IEnumerator<T>).

Не позволяйте Converter<TInput, TOutput> путают вас - это просто простой делегат, и, таким образом, вы можете передать ему лямбда-выражение, как показано выше.

142
задан hims056 21 February 2013 в 07:19
поделиться

2 ответа

Вам нужно будет пройти параметры посредством ссылки, что это невозможно в Java. Также целые числа являются утюгами, поэтому вы не можете обменять значения, поскольку у вас нет метода SETVALUE.

-121--1378593-

Сделайте второй аргумент ответа false , как показано ниже.

Response.Redirect(url,false);
124
ответ дан 23 November 2019 в 23:02
поделиться

В ошибке, которую я исследовал, был Response.Redirect(), и он выполнялся в неожиданном месте (читай: в неподходящем месте - внутри метода getter свойства-члена).

Если вы отлаживаете проблему и столкнулись с исключением "Unable to evaluate expression... ":

  1. Выполните поиск Response.Redirect() и либо сделайте второй параметр endResponse = false, либо
  2. Временно отключите вызов redirect.

Это вызывало недовольство, так как казалось, что вызов Redirect call выполняется до того, как "шаг через" в отладчике достигнет этого места.

14
ответ дан 23 November 2019 в 23:02
поделиться
Другие вопросы по тегам:

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