IEnumerable.First () возвращает «нет соответствующего элемента», несмотря на то, что должен быть идентичным элементом в списке - PullRequest
0 голосов
/ 06 февраля 2020

Я играю в крестики-нолики в C# (WPF). Этот раздел кода является частью того, что происходит после того, как игрок выбирает квадрат, чтобы поместить в него следующий кусок - он использует метод для преобразования координат квадрата в одно целое число, которое он может сравнить с тегом каждого изображения (1-9), чтобы найти правильное изображение, которое затем изменяет источник. Изображения, источники и теги определяются WPF c, но все, что важно для этой проблемы, это то, что у меня есть список изображений, каждое из которых имеет тег, который является объектом.

int coordNumber = ReturnNumber(coordinates); //get integer version of coordinates, equivalent to clickedSquare
string coordString = coordNumber.ToString();
object coordObject = coordString;

SquareImages.First(image => image.Tag == coordObject).Source = new ImageSourceConverter().ConvertFromString("Data/Images/Cross.png") as ImageSource;

Часть .Source последней строки не имеет значения, так как это происходит после ошибки. Вторая и третья строки - это попытка увидеть, изменится ли приведение разными способами, сможет ли он найти изображение с правильным тегом, но до сих пор не привело к каким-либо изменениям. Две строки были удалены, но никак не повлияли на Список или отображаемые переменные.

1 Ответ

0 голосов
/ 06 февраля 2020

Фиксированный сегмент кода:

int coordNumber = ReturnNumber(coordinates); //get integer version of coordinates, equivalent to clickedSquare
string coordString = coordNumber.ToString();

SquareImages.First(image => (string) image.Tag == coordString).Source = new ImageSourceConverter().ConvertFromString("Data/Images/Cross.png") as ImageSource;

По сути, ответ был dumetrulo , за исключением того, что оказалось, что тег можно преобразовать в строку, а не в int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...