C#程序:检查哈希表集合是否为空


C# 中的 Hashtable 集合是键值对的集合,这些键值对根据键的哈希码进行组织。哈希码是使用哈希码函数计算的。

哈希表中的每个元素都是一个键值对,具有唯一的键。键也必须是非空的。值可以为空并重复。

在本文中,我们将讨论如何检查哈希表集合是否为空。

如何检查哈希表集合是否为空?

C# 中实现哈希表集合的类是 Hashtable 类。我们可以通过计算哈希表中存在的元素数量来检查哈希表集合是否为空。

为此,我们可以使用 Hashtable 类的“Count”属性,该属性返回哈希表中的元素数量。

因此,如果 Count 属性返回 0,则表示哈希表为空;如果它返回大于 0 的值,则表示哈希表包含元素。

让我们首先了解 Hashtable 类 Count 属性的原型。

语法

public virtual int Count { get; }

返回值 − Int32 类型的属性值

描述 − 获取 Hashtable 中包含的键值对的数量。

命名空间

System.Collections

从上面 Count 属性的描述可以看出,我们可以使用此属性获取哈希表集合中键值对的数量。

现在让我们看几个编程示例,这将帮助我们理解这个 Count 属性。

示例

让我们看看第一个关于如何检查哈希表是否为空的程序。程序如下所示。

using System;
using System.Collections;
class Program {
   public static void Main() {
      // Create a Hashtable
      Hashtable myTable = new Hashtable();
      //get the count of items in hashtable
      int mySize = myTable.Count;
      if(mySize == 0)
         Console.WriteLine("Hashtable is empty");
      else
         Console.WriteLine("The hashtable is not empty. It has {0} item(s)", mySize);
   }   
}

在这个程序中,我们创建了一个 Hashtable 对象,并且没有向其中添加任何元素。然后我们使用 Count 属性检索哈希表中存在的元素数量。最后,评估 Count 属性返回的值,并相应地显示消息,指示哈希表是否为空。

输出

程序生成以下输出。

Hashtable is empty

由于哈希表中没有元素,因此显示消息表明哈希表为空。

现在让我们向上面的程序中的哈希表添加一些元素。现在我们使用“Add()”方法向哈希表添加两个元素。

示例

程序如下所示。

using System;
using System.Collections;
class Program {
   public static void Main() {
      // Create a Hashtable
      Hashtable myTable = new Hashtable();
      myTable.Add("1", "One");
      myTable.Add("2", "Two");
      //get the count of items in hashtable
      int mySize = myTable.Count;
      if(mySize == 0)
         Console.WriteLine("Hashtable is empty");
      else
         Console.WriteLine("The hashtable is not empty. It has {0} item(s).", mySize);
   }
}

输出

在这里,我们向哈希表添加了两个元素。现在输出更改为如下所示。

The hashtable is not empty. It has 2 item(s)

正如我们所看到的,Count 属性返回了哈希表中元素的数量。

现在让我们看另一个例子以便更好地理解。

示例

程序如下所示。

using System;
using System.Collections;
class Program {
   public static void Main() {
      // Create a Hashtable
      Hashtable langCode = new Hashtable();
      langCode.Add("Perl", "");
      //get the count of items in hashtable
      int hashtabSize = langCode.Count;
      if(hashtabSize == 0)
         Console.WriteLine("Hashtable is empty");
      else
         Console.WriteLine("Hashtable is not empty. It has {0} item(s)", hashtabSize);
   }
}

输出

这里我们有一个包含一个元素的 langCode 哈希表。我们再次使用 Count 属性,它返回哈希表中元素的数量。程序的输出如下所示。

Hashtable is not empty. It has 1 item(s)

由于哈希表中包含一个元素,因此相应地给出了消息。现在让我们删除哈希表中存在的元素。为此,我们只需注释掉向哈希表添加元素的行。

示例

程序将如下所示。

using System;
using System.Collections;
class Program {
   public static void Main() {
      // Create a Hashtable
      Hashtable langCode = new Hashtable();
      //langCode.Add("Perl", "");
      //get the count of items in hashtable
      int hashtabSize = langCode.Count;
      if(hashtabSize == 0)
         Console.WriteLine("Hashtable is empty");
      else
         Console.WriteLine("Hashtable is not empty. It has {0} item(s)", hashtabSize);
   }
}

输出

现在哈希表中没有任何元素。因此,当我们在这个哈希表上使用 Count 属性时,它返回零。因此,输出显示哈希表为空。

Hashtable is empty

因此,由于 Hashtable 类中没有直接的方法来检查哈希表是否为空,我们使用 Hashtable 类的 Count 属性来获取哈希表中元素的数量。如果 Count 返回 0,则我们得出结论哈希表为空。如果它返回非零值,则表示哈希表中包含元素。

更新于:2022年12月21日

浏览量:1K+

开启您的职业生涯

完成课程获得认证

开始学习
广告