C# 程序检查 HashTable 集合是否为空

csharpserver side programmingprogramming

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() {
    // 创建一个哈希表
    Hashtable myTable = new Hashtable();
    //获取哈希表中项目的数量
    int mySize = myTable.Count;
    if(mySize == 0)
        Console.WriteLine("哈希表为空");
    else
        Console.WriteLine("哈希表不为空。它有 {0} 个项目", mySize);
   }   
}

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

输出

程序生成以下输出。

哈希表为空

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

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

示例

程序如下所示。

using System;
using System.Collections;
class Program {
   public static void Main() {
    // 创建哈希表
    Hashtable myTable = new Hashtable();
    myTable.Add("1", "One");
    myTable.Add("2", "Two");
    //获取哈希表中项目的数量
    int mySize = myTable.Count;
    if(mySize == 0)
        Console.WriteLine("哈希表为空");
    else
        Console.WriteLine("哈希表不为空。它有 {0} 个项目。", mySize);
   }
}

输出

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

哈希表不为空。它有 2 个项目

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

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

示例

程序如下所示。

using System;
using System.Collections;
class Program {
   public static void Main() {
    // 创建一个 Hashtable
    Hashtable langCode = new Hashtable();
    la​​ngCode.Add("Perl", "");
    //获取 hashtable 中的项目数
    int hashtabSize = langCode.Count;
    if(hashtabSize == 0)
        Console.WriteLine("Hashtable 为空");
    else
        Console.WriteLine("Hashtable 不为空。它有 {0} 个项目", hashtabSize);
   }
}

输出

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

哈希表不为空。它有 1 个项目

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

示例

程序如下所示。

using System;
using System.Collections;
class Program {
   public static void Main() {
    // 创建一个 Hashtable
    Hashtable langCode = new Hashtable();
    //langCode.Add("Perl", "");
    //获取 hashtable 中的项目数
    int hashtabSize = langCode.Count;
    if(hashtabSize == 0)
        Console.WriteLine("Hashtable 为空");
    else
        Console.WriteLine("Hashtable 不为空。它有 {0} 个项目", hashtabSize);
   }
}

输出

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

哈希表为空

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


相关文章