コード例 #1
0
ファイル: Menu.cs プロジェクト: victorko/csharp_for_t
        public Dish[] GetDishes(DishType dishType)
        {
            // подготавливаем массив и счетчик для найденных элементов
            var found = new Dish[this.dishes.Length];
            var foundCount = 0;

            // бежим по массиву блюд
            foreach (var dish in this.dishes)
            {
                // если блюдо имеет нудный тип, ...
                if (dish.Type == dishType)
                {
                    // ... то плмещаем его в массив найденных и увеличиваем счетчик на единицу
                    found[foundCount] = dish;
                    foundCount++;
                }
            }

            // создаем массив для результата нужной длинны
            var result = new Dish[foundCount];

            // копируем найденное в результирующий массив
            Array.Copy(found, result, foundCount);

            return result;
        }
コード例 #2
0
ファイル: Menu.cs プロジェクト: victorko/csharp_for_t
 public void AddDish(Dish dish)
 {
     var newLength = this.dishes.Length + 1;
     var newDishes = new Dish[newLength];
     this.dishes.CopyTo(newDishes, 0);
     newDishes[newLength - 1] = dish;
     this.dishes = newDishes;
 }