写入哈希表后,数据的序列马上就变了,但好像还是固定的,请教如何使哈希表中的数据始终保持写入时的顺序呢???
解决方案 »
- 这种情况下是不是用委托呢?
- datagridview路径报错
- (高手请进)如何复制一个treeview结点,来生成新的树节点?
- MessageBox.Show()报错,容量超出了最大容量。参数名: capacity
- 在线等,对于高手是小问题
- c#中使用word组件生成的程序,是否必须在安装了office的主机上才能运行?
- 不能命中断点是什么原因
- 我怎样在wiform中双击某列时,怎样得到这个列的索引号?
- 如何将文件夹(含子文件夹)变为一个文件或一个流
- 最前显示和焦点问题
- 自定义控件和DLL之间怎么传数据?
- .net页面中有一个子frame,请问怎么用当子frame在运行过程中捕捉到异常后,怎么调用主窗体转到错误页面去,?我记得javascript能实现这个,那个说一下??
张三 100
李四 39
王五 200
……然后我把key一行一行存入一个txt文本,但是value不动它
以后我再根据value把那个文本文件中的key写进去的时候,因为value顺序乱了,就搞不成不知道有什么办法让哈希表按写入时的顺序保存呢
public class MyHashTable : Hashtable
{
public IList<object> m_Key = new List<object>();
public MyHashTable()
{
} public new void Add(object key, object value)
{
base.Add(key, value);
m_Key.Add(key);
} public new void Remove(object key)
{
base.Remove(key);
m_Key.Remove(key);
} public new void Clear()
{
base.Clear();
m_Key.Clear();
} public IList<object> KeyList { get { return m_Key; } }
}使用
MyHashTable _Table = new MyHashTable(); for (int i = 0; i != 100; i++)
{
_Table.Add(i, i.ToString());
} _Table.Remove(0);
for (int i = 0; i != _Table.KeyList.Count; i++)
{
MessageBox.Show(_Table[_Table.KeyList[i]].ToString());
}
class a
{
public string KEY { get; set; }
public string VALUE { get; set; } }
用这个类的数组:a[] aa=new a[20];
现在把行数对应数组下标就可以了