[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();
        }
    }
}
相关推荐
mg6689 分钟前
0基础开发学习python工具_____一键打包!用 PyInstaller 将 Python 烟花程序转为 .exe(无需 Python 环境)
开发语言·python
bugcome_com12 分钟前
简述 C# 成员修饰符(Modifier)——从整体到细节全面解析
c#
1024小神13 分钟前
cloudflare中wrangler支持的d1等命令有哪些
开发语言
ray96343 分钟前
Python——函数参数传递方式
开发语言·python
helloworddm43 分钟前
防止应用多开-WPF
服务器·架构·c#
BullSmall44 分钟前
Socket中断原因与处理全攻略
开发语言
十五年专注C++开发44 分钟前
浅谈Qt中的QSql模块整体设计
开发语言·数据库·c++·qt
梅羽落1 小时前
python武器化开发_01
开发语言·python·php
Joe_Blue_021 小时前
Matlab 入门案例介绍——如何创建脚本
开发语言·matlab·matlab 入门案例
我是唐青枫1 小时前
深入理解 Parallel.ForEachAsync:C#.NET 并行调度模型揭秘
c#·.net