[C#基础训练]FoodRobot食品管理部分代码-1

代码参考:

cs 复制代码
using System;

namespace FoodRobotDemo
{  
    public class FoodRobot
    {
        private int[] foodCountArr;
        private string[] foodNameArr;

        public FoodRobot()
        {
            foodCountArr = new int[3];
            foodNameArr = new string[3] {"航天","航空","宇航" };
        }
        public int this[string name]
        {
            get
            {
                int i = Array.IndexOf(foodNameArr, name);
                if (i != -1 && i >= 0 && i < 3)
                    return foodCountArr[i];
                else
                {
                    Console.WriteLine("读取操作有误,找不到{0}食品",name);
                    return -1;
                }
            }
            set
            {
                int i = Array.IndexOf(foodNameArr, name);
                if (i != -1)
                    foodCountArr[i] = value;
                else
                    Console.WriteLine("赋值操作有误,找不到{0}食品", name);
            }
        }      
       
    }


    class Program
    {
        static void Main(string[] args)
        {
            //多参数索引器和索引器重载          
            FoodRobot foodRobot = new FoodRobot();
            foodRobot["航天"] = 11;
            foodRobot["航空"] = 22;
            foodRobot["宇航"] = 33;
            foodRobot["行行"] = 44;
            Console.WriteLine(foodRobot["航天"]);
            Console.WriteLine(foodRobot["天天"]);
            Console.ReadKey();
        }
    }
}
相关推荐
一颗知足的心7 分钟前
Go语言之路————指针、结构体、方法
开发语言·后端·golang
观无14 分钟前
Redis远程链接应用案例
数据库·redis·缓存·c#
yuanpan18 分钟前
C#如何正确的停止一个多线程Task?CancellationTokenSource 的用法。
开发语言·c#
程高兴20 分钟前
单相交直交变频电路设计——matlab仿真+4500字word报告
开发语言·matlab
我真的不会C1 小时前
QT中的事件及其属性
开发语言·qt
2501_906314322 小时前
优化无头浏览器流量:使用Puppeteer进行高效数据抓取的成本降低策略
开发语言·数据结构·数据仓库
让我们一起加油好吗2 小时前
【C++】类和对象(上)
开发语言·c++·visualstudio·面向对象
magic 2453 小时前
深入解析Promise:从基础原理到async/await实战
开发语言·前端·javascript
只因从未离去3 小时前
黑马Java基础笔记-4
java·开发语言·笔记
言之。3 小时前
【Go语言】ORM(对象关系映射)库
开发语言·后端·golang