Re: Ref Enumerable
От: hi_octane Беларусь  
Дата: 29.04.21 10:09
Оценка: 238 (7) +1 :)
S>по-прежнему выдаёт CS1656? И можно ли это доработать, незначительно поправив Roslyn?
Сначала написал абзац почему слишком сложно ради одного лишь массива и узкого сценария (никаких замыканий и прочие ограничения для ref return/ref local) реализовывать то что ты хочешь. Особенно когда даже List<T> не поправили чтобы возвращал ref. А потом осенило, и пришлось абзац удалить

Править не надо, просто ref не выводится для var, допиши ref и всё будет.
    int[] a = {1, 2, 3, 4, 5};
        foreach(ref var x in a.AsRefEnumerable())
        {
            x = 10;
        }

        if(a.All(x => x == 10))
            Console.WriteLine("Works");
        else
            Console.WriteLine("Aaaaaaa");


P.S. Там в коде енумератора глюк, надо "MoveNext() => ++_pos < _data.Length;"
Отредактировано 29.04.2021 10:13 hi_octane . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.