C# [] 运算符
来源:互联网 发布:北京优化公司 编辑:程序博客网 时间:2024/04/30 05:40
using UnityEngine;using System.Collections;using System.Collections.Generic;namespace UGUI { [System.Serializable] public class InventoryItemData { public int slot_position; public int item_id; public int count; } [System.Serializable] public class Inventory { Dictionary<int, InventoryItemData> slot_index = new Dictionary<int, InventoryItemData>(); /// <summary> /// 通过 inventory[slot_id]的方式,去访问slot成员 /// </summary> /// <param name="id">想要访问的格子id</param> /// <returns>InventoryItemData,如果id不存在,则会返回空</returns> public InventoryItemData this[int id] { get { InventoryItemData result = null; slot_index.TryGetValue( id, out result); return result; } } }}
前几天自己写了一个UGUI的背包,突然忘记了如何重载[]运算符。
于是查了查,记录一下。
public ValueType this[ KeyType key ]
{
get
{
return ...
}
}
另外,只要this的KeyType的类型不同,是可以重载的,比如inventory[int_id] 或 inventory[String_ID]就可以用于在两种不同的内部的容器中进行检索,并返回不同类型的值。和函数重载规则一致。
阅读全文
0 0
- C#编程--C#运算符
- C# 运算符
- C#运算符
- C# 运算符
- C#运算符资料
- C#运算符重载
- c#运算符详解
- c#中的??运算符。
- c#运算符
- c#运算符
- C#中的??运算符
- c# 运算操作符
- C# 运算符
- C# 运算符
- C#运算符
- C#运算符
- C#运算符
- C# - 运算符重载
- Ubuntu桥接方式访问外网
- 存储过程详解
- maven入门指南—01 maven下载与配置
- d3线段生成器
- mybatis 一级缓存和二级缓存
- C# [] 运算符
- JAVA23种设计模式
- 解决MyEclipse修改文件后Building workspace时间过长
- 拿什么拯救:Android Studio 时代 继续使用Eclipse开发Android app时遇到的几个问题以及解决办法
- 删除二叉树中度为0的结点(即叶子结点)
- js获取每月的天数
- java 集合详解及如何应用
- Android 虚线
- 使用 jsoup 对 HTML 文档进行解析和操作