Почему это компилирует?

Используя nop для удаления блока через отладчик является полезным приемом. Конечно, откладывание кода намного более трудно!!!

5
задан Cleiton 23 October 2009 в 17:22
поделиться

8 ответов

Поскольку это допустимый синтаксис.

На самом деле, это так.

Когда вы создаете объект с использованием синтаксиса инициализатора объекта, вам разрешается оставлять запятую в конце последний элемент, даже если вы закроете блок инициализатора тут же.

Причина этого, вероятно, в том, что это облегчает возврат и редактирование его позже, поскольку вы забываете добавить запятую после предыдущего-последнего-элемента является проблемой времени компиляции №1 с инициализаторами объектов.

12
ответ дан 18 December 2019 в 06:51
поделиться

Это сделано намеренно. Также работает с членами перечисления. (чтобы было проще добавить что-нибудь)

2
ответ дан 18 December 2019 в 06:51
поделиться

Почему он не должен компилироваться?

Этот тип синтаксиса разрешен также и в Python.

2
ответ дан 18 December 2019 в 06:51
поделиться

Он компилируется, потому что это допустимый синтаксис C #. То же самое можно сделать с массивами

string [] meh = {"a", "b", "c",};

2
ответ дан 18 December 2019 в 06:51
поделиться

Потому что это разрешено. Как правило, разрешение запятой в таких формах (и фактически использование этой «привилегии») полезно, чтобы программисты могли добавлять дополнительные элементы в список, не рискуя забыть добавить запятую в конце предыдущего элемента.

1
ответ дан 18 December 2019 в 06:51
поделиться

Это часть спецификации языка C # : инициализаторы объектов.

2
ответ дан 18 December 2019 в 06:51
поделиться

Это допустимый синтаксис в C #

давайте посмотрим

var c = new List<int>() { 1, 2, 3 ,};
1
ответ дан 18 December 2019 в 06:51
поделиться

FWIW, он уже был действителен в C.

Моя любимая причина использовать такой синтаксис (особенно при определении перечислений) заключается в том, что когда вы добавляете элемент в список, исходный элемент управления видит изменения только в одной строке (новой). Он не помечает предыдущий как измененный (из-за добавления запятой). Гораздо более читаемая разница.

Мои 2 цента.

1
ответ дан 18 December 2019 в 06:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: