代码片段:Hashtable hs = new Hashtable();
int[] a = {ID1, ID2};
double b = 0;
...
hs.add(a,b); //这样多次向hs里面添加数据(一个数组, 一个浮点小数),都不为零;int[] b = {doc1, doc2}; // 定义一个数组, 其中doc1, doc2是已知的值。
if(hs.Contains(b))
{
Console.WriteLine("have the value b!");
}
....请问大家最后那个if语句可以实现么? 还是说需要有什么改正的
我这样编过,但是每次都跳过,不管包含不包含b,都输出那句话,就好像if语句没有存在一样。
希望高手帮个忙~~~
int[] a = {ID1, ID2};
double b = 0;
...
hs.add(a,b); //这样多次向hs里面添加数据(一个数组, 一个浮点小数),都不为零;int[] b = {doc1, doc2}; // 定义一个数组, 其中doc1, doc2是已知的值。
if(hs.Contains(b))
{
Console.WriteLine("have the value b!");
}
....请问大家最后那个if语句可以实现么? 还是说需要有什么改正的
我这样编过,但是每次都跳过,不管包含不包含b,都输出那句话,就好像if语句没有存在一样。
希望高手帮个忙~~~
{
Hashtable hs = new Hashtable();
string a = "2";
int[] b = { 1, 2 };
hs.Add(a, b); if (hs.Contains("2"))
{
MessageBox.Show("have the value b!");
}
}
MSDN中的说明:
键不能为 空引用(在 Visual Basic 中为 Nothing),但值可以。其状态和哈希代码值之间不相关的对象通常不应用作键。例如,String 对象比 StringBuilder 对象更适于用作键。
这步!
类型的相等是通过类型的 Equals 或 == 操作符 决定的。