Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Правильное размещение List<> 
:(
    Опции темы
EEE64
Дата 29.8.2010, 11:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.8.2010

Репутация: нет
Всего: нет



Добрый день!
При создании приложения Windows Forms создается два файла *.cs (Program.cs, Form1.cs). Я создаю класс People размещенный в People.cs. После этого я хочу, чтобы из формы я мог добавлять людей в список List<People> AllPeople; где (в каком файле и в каком классе?) мне следует разместить List <People> AllPeople = new List <People> () ?
PM MAIL   Вверх
wester
Дата 29.8.2010, 11:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 675
Регистрация: 27.2.2009

Репутация: 3
Всего: 13



лучше Form1.cs
PM MAIL   Вверх
EEE64
Дата 29.8.2010, 12:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.8.2010

Репутация: нет
Всего: нет



спасибо!
Появился еще один вопрос:
Имеется два класса People и Team, определенные следующим образом:
1. Team - описывает команды и содержит в себе следующую информацию:
а) Название команды. Обязательное поле
б) Ссылка на информацию о капитане

2. People - описывает каждого человека, включая и капитана:
а) Имя человека. Обязательное поле
... и тд
б) ссылка на команду, в которой играет человек. Обязательное поле.

Каким образом реализовать эти ссылки? делегирование?
PM MAIL   Вверх
Экскалупатор
Дата 29.8.2010, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



Цитата(EEE64 @  29.8.2010,  11:41 Найти цитируемый пост)
Каким образом реализовать эти ссылки? делегирование? 


что подразумеваешь под "ссылками"? чем капитан отличается от всех остальных описываемых людей? на мой взгляд все довольно тривиально, в команде есть список с людьми, один из которых капитан.
PM MAIL ICQ   Вверх
EEE64
Дата 29.8.2010, 13:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.8.2010

Репутация: нет
Всего: нет



в том-то и дело, что не понятно, что подразумевается под ссылками... 
PM MAIL   Вверх
Экскалупатор
Дата 29.8.2010, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1746
Регистрация: 1.4.2009
Где: г. Минск

Репутация: 5
Всего: 24



))) скорее всего подразумевается что это ссылки на экземпляры класса. тут если не знаком с программированием то сразу и не вкуришь. если по простому то создавая экземпляр класса ты получаешь ссылку на этот объект.
PM MAIL ICQ   Вверх
EEE64
Дата 29.8.2010, 18:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.8.2010

Репутация: нет
Всего: нет



Код

class Team
{
  public string TeamName;
  public Team (string str)
   {
      TeamName = str;
   }
  People onePeople;
  // тут как?
}


class People 
{
   public string PeopleName;
   public Team myTeam;
   
   public People (string PName, string TName)
  {
     PeopleName = PName;
     myTeam = new Team(TName);   // вызываем конструктор для класса Team
  }
}


что-то вроде этого?

Это сообщение отредактировал(а) EEE64 - 29.8.2010, 18:50
PM MAIL   Вверх
Exai1e
Дата 29.8.2010, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 908
Регистрация: 3.12.2006
Где: Moscow

Репутация: 4
Всего: 30



Первое что посоветую в данном случае - откинуть код на задний план, взять бумажку и листок или просто в голове все "спроектировать", и мыслить "объектами", так сказать абстрагироваться
Код

class Team
{
  public string TeamName;
  public Team (string str)
   {
      TeamName = str;
   }
  People onePeople; <--- тут должен быть List<People> peopleList = ...
  // тут как?

и в классе должны быть реализованны методы добавляющие People в команду и т.д.
}


Цитата

class People 
{
   public string PeopleName;
   public Team myTeam; <- команда должна иметь игрока (игрок не может иметь команду, он может находится в ней)

для начала наверно надо определить для себя что хотите получить. 
аля:
Есть команда с некими параметрами, есть игрок с некими параметрами, => команда должна содержать в себе игроков => надо иметь возможность добавлять в команду игроков, удалять и т.д.
p.s. почему то вспомнилось "Написать можно все, главное четко представлять что Вы хотите получить в конце" © кто то 

в наброске как то так, если я правильно понял задачу
Код

namespace ZB
{
    class Player
    {
        public string Name { set; get; }
        public string Surname { set; get; }
        public string Position { set; get; } //может быть Emun
        public int Number { set; get; }

        public Player(string pName, string pSurname, string pPosition, int pNumber)
        {
            this.Name = pName;
            this.Surname = pSurname;
            this.Position = pPosition;
            this.Number = pNumber;
        }
    }
}


Код

namespace ZB
{
    class Team
    {
        public string Country { set; get; }
        public string Name { set; get; }
        private List<Player> playerList = new List<Player>();

        public Team(string pCountry, string pName)
        {
            //init
        }

        public void AddPlayer(string pName, string pSurname, string pPosition, int pNumber)
        {
            //проверка номера (например что бы не был занят и прочее... по вкусу :)
            playerList.Add(new Player(pName, pSurname, pPosition, pNumber));
        }

        public List<Player> GetAllPlayers()
        {
            return playerList;
        }

        //получение игрока по имени, номеру и т.д.
    }
}


Это сообщение отредактировал(а) Exai1e - 29.8.2010, 21:37


--------------------
"Решение зависит от выбранного геморроя" © Snowy
"у нас как в армии - либо работает, либо так и задумано"
PM MAIL ICQ   Вверх
EEE64
Дата 30.8.2010, 20:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 29.8.2010

Репутация: нет
Всего: нет



спасибо!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1085 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.