Формулировка вопроса возможно размытая, поэтому вот моя цель:
public static void Main(string[] args)
{
Func<int, int> func = new Func<int, int>(x => x++);
Func<int, int> func2 = new Func<int, int>(x => x * x);
int res = Method(func, func2, 5);
// по задумке Method просто должен применить делегат сначала func к числу 5, а потом func2 к результату
// но это просто не работает, так переменная number, по какой-то причине, остается равна 5
}
static int Method(Func<int, int> func, Func<int, int> func2, ref int number)
{
func(number);
func2(number);
return number;
}
Приведенный код вообще не будет компилироваться, вам в данном случае ref
не нужно, должно быть так:
static int Method(Func<int, int> func, Func<int, int> func2, int number)
{
return func2(func(number));
}
Тогда в переменной res
будет лежать нужный результат.
А ваш код не работает, т.к. после применения вычислений делегата вы их просто игнорируете и никуда не сохраняете и не передаете дальше. Т.е. Func<int, int> func
означает, что у нас есть делегат который принимает один аргумент типа int
и возвращает int
, но вы пишете просто func(number)
без никакого присваивания, поэтому и возвращается оригинальное значение.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Пытаюсь впервые развернуть приложение в докереПри создании приложения выбрал шаблон Angular application
Хэш не совпадаетОшибка скорее всего в основном цикле, потому что массив numarr определяется верно
помогите сделать плавное увеличение и уменьшение размеров кнопки программноЯ написал код, но он почему-то изменяется слишком быстро
Если в классе OrderTime создам конструктор c базой, то метод Execute перестает работатьКто знает как решить эту проблему? Может можно реализовать...