Я занят очень маленьким консольным приложением для C#. Я просто новичок в C#, и я знаком с Java. Моя школа дала задание создать консольное приложение, которое имитирует автодилера. Я уже написал кучу кода для добавления автомобилей с помощью консоли. Такие вещи, как бренд, тип и максимальная скорость, уже реализованы. Единственное, что мне еще нужно понять, это создание и инкрементное создание идентификатора для автомобиля. Разумеется, он будет уникальным.Auto increment ID C#
Мой первый подход делал поле id статическим и увеличивал его в конструкторе, так что каждый раз, когда объект создается, id получает ++;
Я видел выделение людей на stackoverflow, которые делали все, но решения не работали или где большие.
Это мой код;
class Car : Vehicle
{
public string brand { get; set; }
public string type { get; set; }
public int maxSpeed { get; set; }
public double price { get; set; }
public static int carID { get; set; }
public Car(string _brand, string _type, int _maxspeed, double _price)
{
this.brand = _brand;
this.type = _type;
this.maxSpeed = _maxspeed;
this.price = _price;
this.carID++;
}
}
Я добавил 3 авто в мой список, но в результате все автомобили имеют ID 3;
Возможно, кто-то может мне помочь, спасибо заранее.
Статическая переменная разделяется между всеми экземплярами класса. Увеличение его в конструкторе делает все экземпляры, уже созданные для этого класса, использует одинаковое добавочное значение. – Steve
Спасибо за быстрый и полезный ответ, но моя программа не нужна concurrenc –