подскажите кто разбирается в чем проблема, присваиваю ID пользователю в классе User, программно ID присваивается нормально, но как создаю нового происходит что-то неясное, у User ID через 1, у Awards следующее значение после 5 вообще 15, помогите пожалуйста, все перепробовал, очень буду благодарен.
ID в классе User:
private static int _uniqueId = 0;
public User()
{
ID = _uniqueId;
_uniqueId++;
}
ID в классе Awards
private static int _uniqueId = 0;
public Awards()
{
ID = _uniqueId;
_uniqueId++;
}
Создание объектов классов:
private void MainForm_Load(object sender, EventArgs e)
{
_awards.Add(new Awards() { Title = "Emmy", Description = "Американская телевизионная премия" });
_awards.Add(new Awards() { Title = "Grammy", Description = "Музыкальная премия Американской академии звукозаписи" });
_awards.Add(new Awards() { Title = "Oskar", Description = "Премия Американской академии кинематографических искусств и наук" });
_awards.Add(new Awards() { Title = "Tony", Description = "Театральная премия" });
_awards.Add(new Awards() { Title = "Премия Дарвина", Description = "Неофициальная премия, присуждаемая комиссией людям лишившим себя наследства по своей глупости и неосторожности" });
dgvAwards.DataSource = _awards;
_users.Add(new User()
{
Name = "Денис",
LastName = "Евдокименко",
BirthDate = new DateTime(1996, 11, 07),
Listawards = new List<Awards> { _awards[0], _awards[1], _awards[2], _awards[3], _awards[4] }
});
_users.Add(new User()
{
Name = "Виталий",
LastName = "Астахов",
BirthDate = new DateTime(1993, 05, 01),
Listawards = new List<Awards> { }
});
_users.Add(new User()
{
Name = "Петр",
LastName = "Василенко",
BirthDate = new DateTime(1995, 12, 12),
Listawards = new List<Awards> { }
});
_users.Add(new User()
{
Name = "Влад",
LastName = "Акумов",
BirthDate = new DateTime(1990, 04, 22),
Listawards = new List<Awards> { }
});
_users.Add(new User()
{
Name = "Семен",
LastName = "Амелькин",
BirthDate = new DateTime(1998, 02, 19),
Listawards = new List<Awards> { }
});
_users.Add(new User()
{
Name = "Герман",
LastName = "Алтуфьев",
BirthDate = new DateTime(2004, 03, 18),
Listawards = new List<Awards> { }
});
_users.Add(new User()
{
Name = "Евгений",
LastName = "Парфенов",
BirthDate = new DateTime(1994, 01, 01),
Listawards = new List<Awards> { }
});
dgvUsers.DataSource = _users;
dgvUsers.AllowUserToAddRows = false;
dgvAwards.AllowUserToAddRows = false;
}
У Вас поле _uniqueId статическое, в конструкторе оно увеличивается на 1.
Код
_awards.Add(new Awards() { Title = "Emmy", Description = "Американская телевизионная премия" });
автоматически добавляет объект класса в коллекцию, здесь все нормально.
Предполагаю, что где-то в коде Вы просто создаете объекты этих классов без добавления в коллекцию, то ID все-равно увеличивается.
Что-то типа:
Awards award = new Awards() { Title = "New", Description = "NewDescription" };
Думаю проблема заключается именно в этом.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
В Unity есть много способов перемещать объектВ чем различие между этими подходами?
Не добавляется foreing keyПроверил столбцы на null,таблицы пустые,типы подходят,длина тоже Уже не знаю что делать,завтра курсовая