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

检查 hashtable 集合是否为空的 c# 程序

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

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

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

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

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

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

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

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

语法

public virtual int Count { get; }

返回值 – Int32 类型的属性值

描述 – 获取哈希表中包含的键值对的数量。

命名空间

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,则我们得出哈希表为空的结论。如果它返回一个非零值,则意味着哈希表中有元素。

以上就是检查 HashTable 集合是否为空的 C# 程序的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1435176.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月17日 10:49:14
下一篇 2025年12月8日 14:18:26

相关推荐

  • 将一个哈希表中的项目替换为另一个哈希表中的 C# 程序

    C# 中的哈希表集合是基于键的哈希码组织的键值对的非泛型集合。键用于访问哈希表集合中的元素。散列可以帮助我们有效地检索数据并消除对昂贵的数据搜索技术的需要。散列技术使用密钥本身来定位数据。该哈希表键是不可变的,并且哈希表中不允许出现重复的条目。 Hashtable类定义在System.Collect…

    2025年12月17日
    000
  • 如何使用 C# 获取人类可读的文件大小(以字节缩写为单位)?

    要获取目录,C# 提供了 Directory.GetDirectories 方法 Directory.GetDirectories 返回指定目录中与指定搜索模式匹配的子目录的名称(包括其路径),并可选择搜索子目录 为了获取文件,C# 提供了 Directory.GetFiles 方法 Directo…

    2025年12月17日
    000
  • C# 中的后台工作者类

    顾名思义,Background Worker 类允许您设置一个在后台持续运行的线程,并在需要时与主线程进行通信。 BackgroundWorker在 Windows 窗体中实现线程。密集型任务需要在另一个线程上完成,这样 UI 才不会冻结。任务完成后有必要发布消息并更新用户界面。 Backgroun…

    2025年12月17日
    000
  • 在 C# 中声明 const 数组

    在C#中,使用readonly来声明一个const数组。 public static readonly string[] a = { “Car”, “Motorbike”, “Cab” }; 在readonly中,与const不同的是,您也可以在运行时设置值。 实现上述内容的另一种替代方法是 − p…

    2025年12月17日
    000
  • 如何重载 C# 中的运算符?

    [] 运算符被称为索引器。 索引器允许对对象进行索引,例如数组。当您为一个类定义一个索引器时,该类的行为类似于一个虚拟数组。然后,您可以使用数组访问运算符([ ])访问该类的实例。 索引器可以被重载。索引器也可以声明多个参数,并且每个参数可以是不同的类型。索引不一定必须是整数。 示例1 static…

    2025年12月17日
    000
  • C# 中的静态构造函数是什么?

    静态构造函数是使用 static 修饰符声明的构造函数。它是类中执行的第一个代码块。这样,静态构造函数在类的生命周期中只执行一次。 以下是 C# 中静态构造函数的示例 – 示例 using System;using System.Collections.Generic;using Sys…

    2025年12月17日
    000
  • C# 中的 Console.TreatControlCAsInput 属性及示例

    在C#中,Console.TreatControlCAsInput属性是Console类的一个关键组成部分,它允许开发人员以更灵活的方式处理输入。本文将深入探讨Console.TreatControlCAsInput属性,帮助您了解其目的、用法,并提供实际示例。 了解 Console.TreatCo…

    2025年12月17日
    000
  • C# 中给定字符串中的单词反转

    假设以下是字符串 – Welcome 翻转字符串后,单词应该像 − 这样可见。 emocleW 使用reverse()方法并尝试以下代码来反转字符串中的单词 – 示例 using System;using System.Linq;class Demo { static voi…

    2025年12月17日
    000
  • C# 中的日志函数

    使用C#,您可以轻松地使用对数。它具有以下用于对数和以10为底的对数的方法。 序号 方法和描述 1Log(Double) 返回指定数字的自然(以e为底)对数。 2Log(Double, Double) 返回指定数字在指定底数下的对数。 3Log10(Double) 返回指定数字的以10为底的对数。 …

    2025年12月17日
    000
  • C# 中的对象池是什么?

    对象池是一种软件构造,旨在优化有限资源的使用。它有可供使用的对象。 池中的对象可以重复使用。对象池有两种形式: 激活对象时,将其从池中拉出。停用时,将对象添加到对象池中。 通过应用 ObjectPoolingAttribute 属性来配置对象池。 这适用于从 System.EnterpriseSer…

    2025年12月17日
    000
  • C# 中的静态类是什么?

    C# 静态类无法实例化,只能有静态成员。 C# 中的静态类是密封的,不能包含实例构造函数。 以下是包含静态类和静态成员的示例 – 示例 using System;public static class Demo { public static float PI = 3.14f; publ…

    2025年12月17日
    000
  • 如何在 C# 中创建 5 元组或五元组?

    Tuple 类表示一个 5 元组,称为五元组。元组是一种具有元素序列的数据结构。 它有五个属性 – Item1 − 获取当前 Tuple 对象的第一个组件的值。 Item2 − 获取值当前 Tuple 对象的第二个组件。 Item3 − 获取当前 Tuple 对象的第三个组件。 Item…

    2025年12月17日
    000
  • SQL Server 数据类型的 C# 等效项是什么?

    下表显示了 SQL Server 数据类型的 C# 等效项 – SQL Server 数据类型 等效的 C# 数据类型 varbinaryByte[]二进制字节[]图像无varchar无char无nvarchar字符串,Char[]nchar字符串,Char[]文本无ntext无行版本字…

    2025年12月17日
    000
  • 如何在 C# 中将元组初始化为空元组?

    将元组初始化为空元组 – Tuple myTuple; 如果您想检查元组中的值,即它是否为 null – 示例 using System;namespace Demo { class Program { static void Main(string[] args) { Tu…

    2025年12月17日
    000
  • C# 中 IEnumerable 和 IQueryable 有什么区别?

    IEnumerable 存在于 System.Collections 命名空间中。IQueryable 存在于 System 中。 Linq 命名空间。IEnumerable 和 IQueryable 都是正向集合。IEnumerable 不支持延迟加载IQueryable 支持延迟加载从数据库查询…

    2025年12月17日
    000
  • 如何处理中间件 C# Asp.net Core 中的错误?

    创建一个名为 CustomExceptionMiddleware 的新文件夹和一个类ExceptionMiddleware.cs 位于其中。 我们需要做的第一件事是注册 IloggerManager 服务并通过依赖注入实现RequestDelegate。 RequestDeleagate类型的_ne…

    2025年12月17日
    000
  • C#中如何将字符串转换为int?

    假设我们的字符串是 – string str =”9999″; 现在,使用 Int32.Parse() 将字符串转换为整数 – int n = Int32.Parse(str); 现在显示整数值,如以下代码所示 – 示例 using System;class De…

    2025年12月17日
    000
  • C# 程序的结构和成员

    结构是一种值类型数据类型。它可以帮助您使单个变量保存各种数据类型的相关数据。 struct 关键字用于创建结构体。 要定义结构体,必须使用 struct 语句。 struct 语句定义了一种新的数据类型,为您的程序提供了多个成员。 例如,您可以通过以下方式声明 Book 结构。以下是成员 &#821…

    2025年12月17日
    000
  • C# 中的异步和等待关键字

    The async and await keyword is used in C# for asynchronous programming. An application with a GUI, check the content of the queue and if an unprocesse…

    2025年12月17日
    000
  • 如何在 C# 中使用 linq 扩展方法执行左外连接?

    使用INNER JOIN时,结果集中仅包含匹配的元素。不匹配的元素将从结果集中排除。 使用LEFT OUTER JOIN时,所有匹配元素 + 左侧集合中的所有不匹配元素都将包含在结果集中. 让我们通过一个示例来了解左外连接的实现。考虑以下 Department 和 Employee 类。请注意,员工…

    2025年12月17日
    000

发表回复

登录后才能评论
关注微信