2015-04-03 4 views
-1

Я создаю игровой сервер в C#, использую протокол UDP в качестве протокола, и мне нужно хранить информацию о пользователях в списке, поэтому я могу позже пропустить, чтобы получить, установить значение для выбранного игрока. Я попробовал список кортежей вроде этого, но я обнаружил, что кортежи доступны только для чтения, и мне нужно получить, установить позицию игрока несколько раз в секунду. Я пробовал:Какой список я должен использовать для хранения информации игроков?

List<tuple<int, IPENDPOINT, string, string,>> usersInfos = new List<tuple<int,IPENDPOINT, string, string>>(); 

, но так как они предназначены только для чтения я могу только добавить кортеж в список, что я должен использовать, чтобы быть в состоянии установить, получить игрок Infos как «ид & Конточки & имени пользователя & текущего положения '? Мне нужно получить, установить текущую позицию несколько раз в секунду. Любой способ добиться этого? даже без кортежей. Благодаря

+1

Как насчет класса – Shoe

+0

Кортежи хороши для очень временного хранения, но как только вы получаете несколько значений, как у вас есть, они могут стать трудными в использовании. Некоторые связанные чтения: [Когда использовать класс над KeyValuePair (или Tuple)] (http://programmers.stackexchange.com/questions/107889/when-should-i-use-a-2-property-class-over -a-pre-built-structure-like-a-keyvaluep) –

+0

Собираетесь ли вы получать эту информацию несколько раз в секунду на игрока, это будет проблемой? – Adam

ответ

1

Вы можете создать UserInfo класс со свойствами Id, EndPoint, UserName и CurrentPosition. Затем просто введите список UserInfos.

+0

Любой пример? и могу ли я расширить его, чтобы хранить больше, чем ID, EndPoint ..... без влияния на предыдущий список? – Adam

Смежные вопросы