[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();
        }
    }
}
相关推荐
nlog3n15 分钟前
Java 代理模式 详解
java·开发语言·代理模式
lly20240625 分钟前
抽象工厂模式
开发语言
一只小松许️27 分钟前
Rust切片、结构体、枚举
开发语言·rust
陳長生.1 小时前
JAVA EE_多线程-初阶(二)
java·开发语言·jvm·java-ee
QTX187301 小时前
常见的 JavaScript 框架和库
开发语言·javascript·ecmascript
爽帅_1 小时前
【C++】STL库_stack_queue 的模拟实现
开发语言·c++
maizeman1262 小时前
R语言——获取数据1
开发语言·r语言·数据读取·内置数据集
PfCoder2 小时前
WinForm真入门(5)——控件的基类Control
c#·visual studio·winform
。。。9042 小时前
C++中,应尽可能将引用形参声明为const
开发语言·c++
云边有个稻草人2 小时前
【C++】第九节—string类(中)——详解+代码示例
开发语言·c++·迭代器·string类·string的常用接口·string的模拟实现·string的经典例题