Согласно документации MSDN,
Перечисление - это набор именованных констант, базовый тип которых является целым типом
Будучи константами, их имя не может бытьопределяется с использованием чисел в качестве первого символа, как и любая другая переменная.Кроме того, учитывая, что каждый учебный год будет всегда заканчиваться годом после его начала, указание конечного года в самом названии является излишним.Я предлагаю вам изменить имя и использовать декораторы атрибутов следующим образом:
using System.ComponentModel.DataAnnotations;
public enum TeachingYear
{
[Display(Name = "2016/2017")]
_2016,
[Display(Name = "2017/2018")]
_2017,
[Display(Name = "2018/2019")]
_2018,
[Display(Name = "2019/2020")]
_2019
}
, чтобы при использовании хелпера EnumDropDownListFor
html описания автоматически отображались в списке, а значения привязывались к объекту.,См. Также этот ответ здесь.
РЕДАКТИРОВАТЬ: Учитывая ваш последний комментарий о структуре, в представлении
@Html.GetEnumSelectList<TeachingYear>()
должен сделать это, но я никогда не использовал .NET Core, так что вам лучше проверить соответствующую документацию MSDN для правильного использования.