Новые возможности в C#

Programming
Предыдущий Следующий

Таких статей уже очень много, вот и я решил написать. Больше наверное пишу для себя,  что бы знать, где потом найти нужный пример.

Первый блог я посвящу уменьшению кода.

Во-первых, при описании свойств класса уже не нужно делать Copy/Past кода, если все свойства стандартные.  Пример:

 Такое писали когда-то:

Code

 public class Person {

        
private string _firstName;
        private string 
_lastName;
        private int 
_age;
        
        public string 
FirstName {

            
get {
                
return _firstName;
            
}
            
set {
                _firstName 
= value;
            
}
        }

        
public string LastName {

            
get {
                
return _lastName;
            
}
            
set {
                _lastName 
= value;
            
}
        }        
        
        
public int Age {

            
get {
                
return _age;
            
}
            
set {
                _age 
= value;
            
}
        }
    }

 Теперь можно писать так:

Code

public class Person {
        
public string FirstName { get; set; }
        
public string LastName  { get; set; }        
        
public int    Age       { get; set; }
    }

 Следующий прикол, это инициализация свойств объекта при создании.

Пример кода до:

Code

Person person = new Person();
   
person.FirstName "Leonid";
   
person.LastName "Shulga";
   
person.Age 32;

и код теперь:

 

Code

Person person = new Person { FirstName="Leonid", LastName="Shulga", Age=32 };

 

Более того, даже можно создавать такие мега схемы, как:

 

Code

Person person = new Person {
      FirstName 
"Leonid",
      LastName 
"Shulga"
      
Age 32,
      Address 
= new Address {
         Street 
"MyStreet",
         City 
"Kiev" }
   }
;

 

Либо можно все это проделать с массивом:

Code

List<Person> people = new List<Person> {
      
new Person { FirstName "Leonid", LastName "Shulga", Age 32 },
      
new Person { FirstName "Vova", LastName "Blinov", Age 50 },
      
new Person { FirstName "Sveta", LastName "Petrova", Age 32 }
   }
;

Самостоятельный отпуск Опыт заказа вывоза мусора в Киеве Магія зміни: Від ночі до дня
Магія Вечірнього Неба: Відлякуйте втомленість дня і зануртеся у світ загадок і краси