zoukankan
html css js c++ java
数组下标是字符串的实现
using System;
namespace Oceansoft.LOGERP.MessageClient.MessageHeadAffirm
{
///
<
summary
>
///
报文头的形成
///
作者:贾海天
///
</
summary
>
public
class MessageHead
{
//
相关数组中存储项目的数组
protected object
[]
_items;
//
数组中的项目数
protected
int
_
count
=
0
;
public
int
Length
{
get
{
return
_
count
;
}
}
public
object this
[
string key
]
{
get
{
return
KeyToObject(
key
);
}
set
{
AddToArray(
key
,value);
}
}
protected bool KeyExists(string
key
)
{
for
(
int
n
=
0
;n
<
_
count
;n
++
)
{
KeyItemPair pair
=
(KeyItemPair)_items
[
n
]
;
if
(pair.
key
==
key
)
{
return
true;
}
}
return
false;
}
protected void AddToArray(string
key
,object item)
{
if
(!KeyExists(
key
))
{
_items
[
_count
]
=
new KeyItemPair(
key
,item);
_
count
++
;
}
}
protected object KeyToObject(string
key
)
{
for
(
int
n
=
0
;n
<
_
count
;
++
n)
{
KeyItemPair pair
=
(KeyItemPair)_items
[
n
]
;
if
(pair.
key
==
key
)
{
return
pair.item;
}
}
return
null
;
}
public
MessageHead(
int
MessageHead_Length)
{
//
//
TODO: 在此处添加构造函数逻辑
//
_items
=
new object
[
MessageHead_Length
]
;
}
protected struct KeyItemPair
{
public
object item;
public
string
key
;
public
KeyItemPair(string k,object obj)
{
key
=
k;
item
=
obj;
}
}
}
}
使用方法(方法不是很完整,可以继续扩展):
MessageHead MH
=
new MessageHead(
3
);
MH
[
"Confirm_NO"
]
=
"aaa";
MH
[
"IO_Seq"
]
=
"bbb";
MH
[
"Gross_Pack_NO"
]
=
"ccc";
注意:
Struct 的实现是在栈里面实现的
Class 实现是在托管堆里面实现的
Class里面的方法是在托管堆里面的方法表里面保存的.
此方法也可以用 Hashtable 来实现,具体实现将在以后进行研究
查看全文
相关阅读:
promise 理解
强化学习的概念
Ubuntu安装机器学习环境步骤
jsp文件复制到web项目出错
jdbc导致的问题
C#窗体-猜数字
软件工程结对作业01
第二阶段冲刺10天 第3天进展报告
第二阶段冲刺10天 第2天进展报告
第二阶段冲刺10天 第1天进展报告
原文地址:https://www.cnblogs.com/jhtchina/p/261662.html
最新文章
bool 重载 【】模板函数 定义了+ 私有
Problem A: 数组类(II)
Problem B: 数量的类模板
模板初try
Problem F: 重载字符的加减法
ToDoList 增删改查
React 组件间传值
React中Class的概念
JavaScript实现时间上一天和下一天切换
ECMAScript 6学习总结
热门文章
学习计划
环境切换
vue中axios得封装及使用
vue3.0安装时遇见的bug
webpack搭建过程
token????是什么???
typscript
六种js继承的优缺点
科技时代
日常刷题
Copyright © 2011-2022 走看看