OnlineSupermarket.cs

(开头部分) 1KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections;
using System.Collections.Generic;
using static OnlineSupermarket.OnlineSupermarket;

namespace OnlineSupermarket
{
    /// <summary>
    /// 表示一家线上超市。
    /// </summary>
    public sealed partial class OnlineSupermarket : ICollection<GoodsInfo>
    {
        private readonly List<GoodsInfo> goods;

        public OnlineSupermarket(params GoodsInfo[]? goods)
        {
            this.goods = goods == null ?
                new List<GoodsInfo>() :
                new List<GoodsInfo>(goods);
        }

        public int Count => this.goods.Count;
        bool ICollection<GoodsInfo>.IsReadOnly => false;

        public void Add(GoodsInfo goods)
        {
            if (goods == null)
                throw new ArgumentNullException(nameof(goods));
            this.goods.Add(goods);
        }

        public bool Remove(GoodsInfo goods)
        {
            if (goods == null)
                throw new ArgumentNullException(nameof(goods));
            return this.goods.Remove(goods);
        }

        public void Clear()
        {
            this.goods.Clear();
        }

        public bool Contains(GoodsInfo? goods)
        {
            if (goods == null)
                return false;
            return this.goods.Contains(goods);
        }

        void ICollection<GoodsInfo>.CopyTo(GoodsInfo[] array, int arrayIndex)
        {
            this.goods.CopyTo(array, arrayIndex);
        }

        IEnumerator IEnumerable.GetEnumerator()
        {
            return this.goods.GetEnumerator();
        }

后面还有 6 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。