Rodrigo Alex Rodriguez Ответов: 1

Как заменить значение в списке коллекций в том же месте?


List<Animals> alumnos = new List<Animals>();


 class Animals{ 
int Idanimals  { get; set; }
int Type { get; set; }
}


0 = кошка
1 = собака
2 = птица

animals[2] = "Dog";


Затем загрузите их в DVgrid
Помоги мне!!!!

Что я уже пробовал:

animals[2] = "Dog";


Но я получаю ошибку
CS0029 C # не может неявно преобразовать тип 'string' в ' Project.Животные'

BillWoodruff

Ваше определение "животные" содержит два целочисленных свойства: что заставляет вас думать, что вы можете использовать строку ?

1 Ответов

Рейтинг:
0

Richard MacCutchan

animals[2] = "Dog";

Но (согласно компилятору) вы определили animals в коллекции Animals, а не набор строк. Поэтому вам нужно создать новое животное и назначить его в свой список, например:
Animals newDog = new Animals(1, "Dog");
animals[2] = newDog;


BillWoodruff

Код операции не будет принимать строку в ctor для ' Animals; либо какая-то информация отсутствует ... или ?

Richard MacCutchan

Да, я знаю; я просто пытался показать разницу между string и object, так как класс Animals немного бессмыслен.

Richard MacCutchan

Да, я знаю об этом.

BillWoodruff

С таким запутанным вопросом я думаю, что лучше всего дождаться некоторых разъяснений от ОП.

Richard MacCutchan

Обычно я считаю, что лучше не задерживать дыхание в ожидании такого разъяснения. :)

Rodrigo Alex Rodriguez

Что такое сомнение
И попробовал это решение но оно не работает

https://stackoverflow.com/questions/5747401/how-to-replace-value-in-list-at-same-collection-location

Richard MacCutchan

если у вас есть проблема с кодом из StackOverflow, то вам нужно разместить свой вопрос там.

Но я показал вам выше, что не так с вашей ссылкой. Если вы не понимаете основ классов, объектов и ссылок, то я предлагаю вам вернуться к вашим заметкам/руководствам по C#.