asp.Net実装カスタムHashtable(.net)

2603 ワード

2つのクラスが必要です
1.typeFiles.cs
 
  
using System;
namespace Model
{
///
/// typeFiles 。
///

public class typeFiles
{
private object _Fkey;
private object _Fvalue1;
private object _Fvalue2;
public object Fkey
{
get
{
return _Fkey;
}
set
{
_Fkey = value;
}
}
public object Fvalue1
{
get
{
return _Fvalue1;
}
set
{
_Fvalue1 = value;
}
}
public object Fvalue2
{
get
{
return _Fvalue2;
}
set
{
_Fvalue2 = value;
}
}
}
}

2.WEHash.cs(Hashtableクラス、Arraylistと結合)
 
  
using System;
using System.Collections;
namespace Command
{
///
/// WEHash 。
///

public class WEHash
{
private ArrayList alist = new ArrayList();
public WEHash()
{
//
// TODO:
//
}
public void Add(object key,object value,object valType)
{
Model.typeFiles cmt=new Model.typeFiles();
cmt.Fkey = key;
cmt.Fvalue1 = value;
cmt.Fvalue2 = valType;
alist.Add (cmt);
}
public ArrayList HashItems
{
get
{
return alist;
}
set
{
alist = value;
}
}
public bool hasContaint(object key)
{
foreach(object itm in alist)
{
Model.typeFiles cmt = (Model.typeFiles)itm;
if (cmt.Fkey.ToString() == key.ToString())
return true;
}
return false;
}
}
}

typeFiles.csではいくつかのコンストラクション関数を定義できます(これでHash.Add(項は多くなります))
使用方法:
Command.WEHash cw=new WEHash();
cw.Add("keyName1","value1","value2");
cw.Add("keyName2","value1","value2");
cw.Add("keyName3","value1","value2");
それからcw.HashItemsは操作する側に伝えればよい.
使おうAddがアイテムを追加するとtypeFilesになります.csはいくつか構築してから修正します
public void Add(object key,object value,object valType)
{
Model.typeFiles cmt=new Model.typeFiles();
cmt.Fkey = key;
cmt.Fvalue1 = value;
cmt.Fvalue2 = valType;
....残りのcmt項
alist.Add (cmt);
}