Я немного новичок в C # (из PHP), и я был немного шокирован тем, что, перебирая список, я не могу передать ссылку на эту переменную, то есть следующий код недопустим:
foreach (ref string var in arr) {
var = "new value";
}
Я немного исследовал и Я нашел предложение создать "обновляемый перечислитель" , но я не могу понять, как именно я должен это сделать. Я последовал примеру и попытался добавить установщик для Current как для метода IEnumerator.Current, так и для моего пользовательского перечислителя (PeopleEnum.Current), но, честно говоря, это было слепое предположение и не сработало. Я вставляю весь код в pastebin, так как здесь достаточно долго вставлять - попытка пользовательского перечислителя . В этом коде пытается получить доступ к текущему элементу с помощью
badClass baddie = new badClass(ref tmp.Current);
приводит к ожидаемой ошибке, что «Свойство или индексатор не могут быть переданы как параметр out или ref»
В конце концов я собираюсь сделать что-то вроде этого - перебрать список объектов, сгенерировать кнопку для каждого из них и добавить событие onclick для этой кнопки, которое откроет новую форму, передав ссылку для этого объекта, так что его содержимое можно редактировать в этой новой форме. Я сделал все это, но передача объекта в качестве ссылки, а не только для чтения данных, убивает меня. Буду признателен за любые ответы, ссылки, где я могу прочитать о обновляемых перечислителях или идеи.