DateTime current = DateTime.Parse("1/1/2009");
DateTime nextYear = current.AddYears(1);
do
{
Console.WriteLine(current);
current = current.AddDays(1);
} while (current < nextYear) ;
Чрезмерное использование / злоупотребление инициализаторами объектов для всего, вероятно, из-за лени:
var person = new Person
{
FirstName = "joe",
(... lots of setters down here)
};
без понимания того, что это почти так же плохо, как сделать все поля общедоступными. Вы всегда должны позаботиться о создании допустимых конструкторов, которые инициализируют ваши объекты в допустимое состояние.
Незнание - это блаженство (знайте свои рамки):
TimeSpan keyDays = new TimeSpan(Licence.LicenceExpiryDate.Ticks);
TimeSpan nowDays = new TimeSpan(System.DateTime.Now.Ticks);
int daysLeft = keyDays.Days - nowDays.Days;
У меня уже был такой:
AnEnum e = AnEnum.Abc;
int i = (int)e;
// lots of code
AnEnum f = (AnEnum)Enum.Parse(i, typeof(AnEnum));
if (state == ((int) RowState.Active) .ToString ()) else if (state == ((int) RowState.NotActive) .ToString ())
state - это строковое значение сообщения, которое содержит значение из перечисления RowState.
В конечном счете, именно так мы проверяем значение.
Основная проблема с .NET, похоже, заключается в том, что есть много разработчиков, пришедших с VB 6.0 или (что еще хуже, на мой взгляд, потому что они ошибочно ВЕРЯТ, что знают, что делать, в то время как программисты VB 6.0, по крайней мере, достаточно скромны. желать узнать что-то новое) Java / C ++.
Люди, слишком невежественные по отношению к современным парадигмам, люди, облепляющие свой код уродливым P / Invoke в худшем из возможных стилей C ++. : - (