Здравствуйте!
Такой вопрос: не могу понять почему в коде
Action<bool> some = p => p =true;
Boolean[] test = new Boolean[100];
Array.ForEach(test, some);
for(int i = 0; i< test.Length; i++)
if(test[i]) Console.WriteLine(i);
элементам массива test не присаивается true.
Заранее спасибо.
Здравствуйте, 18сс, Вы писали:
1>Здравствуйте!
1>Такой вопрос: не могу понять почему в коде
1>1>Action<bool> some = p => p =true;
1>Boolean[] test = new Boolean[100];
1>Array.ForEach(test, some);
1>for(int i = 0; i< test.Length; i++)
1>if(test[i]) Console.WriteLine(i);
1>
1>элементам массива test не присаивается true.
потому что в лямбду передается value-копия, а не по ссылке.
в вашем случае для изменения значений массива можно использовать Array.ConvertAll
test = Array.ConvertAll(test, p => true);