netrox
@netrox

Как работает данный код?

Не совсем понимаю , как работает оператор "=>" в данном примере:
public class Product 
{
 public string Name { get; set; }
 
 public decimal Price { get; set; }
}
 public class SimpleRepository 
{
  private static SimpleRepository sharedRepository = new SimpleRepository();
  private Dictionary<string, Product> products = new Dictionary<string, Product>();
  public static SimpleRepository SharedRepository => sharedRepository;
  public SimpleRepository() {
  var initialItems = new[] 
 {
   new Product { Name = "Kayak", Price = 275M },
   new Product { Name = "Lifejacket", Price = 48.95M },
   new Product { Name = "Soccer ball", Price = 19.50M },
   new Product { Name = "Corner flag", Price = 34.95M }
 };
 foreach (var p in initialItems) 
 {
   AddProduct(p);
 }
}

  public IEnumerable<Product> Products => products.Values;
  public void AddProduct(Product p) => products.Add(p.Name, p);
 }
}

Что означает "public static SimpleRepository SharedRepository => sharedRepository;" и "public IEnumerable Products => products.Values;"
  • Вопрос задан
  • 259 просмотров
Решения вопроса 1
@S0HardCore
public IEnumerable<Product> Products => products.Values;

===
public IEnumerable<Product> Products() { return products.Values; }
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
yarosroman
@yarosroman Куратор тега C#
C# the best
Это фишка C# 6.0, позволяет объявлять свойства для чтения и методы через лямбды.

Раньше:
public string[] GetCountryList()
{
   return new string[] { "Russia", "USA", "UK" };
}

Теперь:
public string[] GetCountryList() => new string[] { "Russia", "USA", "UK" };
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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