2013-11-21 3 views
0

У меня есть некоторый код, который у меня возникли проблемы, которые и надеюсь, кто-то может помочь мне, в принципе у меня есть класс «Player», такие как:Получить всю информацию из классов

 Player JanMccoy = new Player { playerFirstname = "Jan", playerSurname = "Mccoy", playerAge = 23, 
     playerCode = "MCC0001"}; 

У меня есть около 10 игроков, все из которых имеют для них уникальный код, в основном этот код хранится в поле списка с именем и фамилией. Как данные получают их, это не важно, в основном, хотя в списке есть 10 значений, которые выглядят как «Jan Mccoy (MCC0001)»

В принципе, я хочу теперь иметь возможность получить возраст человека в классе , У меня есть событие для кнопки, которая, когда он получает выбранный элемент из окна списка, я храню в строке только код игрока, для которого этот код мне нужно, чтобы получить возраст игрока

Я знаю, что это SQL но мне нужно что-то в принципе нравится:

SELECT * FROM MyClass WHERE playerCode = strPlayerCode 

Я, однако я не использую SQL, мне нужно то, что может сделать это в C#

Если мне нужно добавить больше деталей, просто спросите, попытался объяснить как можно больше.

Если бы вы могли указать мне в правильном направлении, это также будет здорово!

ответ

1

В c# есть Linq, который работает аналогично SQL

Например:

SELECT * FROM MyClass WHERE playerCode = strPlayerCode 

будет

var players = myListOfPlayers.Where(p => p.playerCode == strPlayerCode); 

Это возвращает коллекцию всех игроков с этим playercode

Однако, так как вы сказали, что ключ является уникальным, и вы только возвращаете одну запись FirstOrDefault будет работать нормально без необходимости TOR оговорок where. как SELECT TOP 1 FROM ....

var player = myListOfPlayers.FirstOrDefault(p => p.playerCode == strPlayerCode); 
+0

Спасибо, НЕ получил его работу только пока, но это поставило меня в правильном направлении! Спасибо за помощь –

1

Тогда я хотел бы попробовать LINQ:

var player = players.Where(p => p.playerCode == "MCC001").FirstOrDefault(); 
Смежные вопросы