[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();
        }
    }
}
相关推荐
globaldomain1 天前
什么是用于长距离高速传输的TCP窗口扩展?
开发语言·网络·php
沈阳信息学奥赛培训1 天前
#undef 指令 (C/C++)
c语言·开发语言·c++
2401_873204651 天前
分布式系统安全通信
开发语言·c++·算法
Dxy12393102161 天前
JS发送请求的方法详解
开发语言·javascript·ecmascript
sw1213891 天前
C++中的代理模式实战
开发语言·c++·算法
難釋懷1 天前
Lua语法入门-条件控制、函数
开发语言·junit·lua
桌面运维家1 天前
Win10打印机共享故障排查:权限与网络配置详解
开发语言·网络·php
Sunshine for you1 天前
实时操作系统中的C++
开发语言·c++·算法
史蒂芬_丁1 天前
C++深度拷贝例子
java·开发语言·c++
Knight_AL1 天前
Nacos 启动问题 Failed to create database ’D:\nacos\nacos\data\derby-data’
开发语言·数据库·python