C#中感叹号(!) 的作用总结

当在C#中提及感叹号(!)时,通常指的是逻辑非运算符。这个运算符常用于实现反转布尔值。

逻辑非运算符返回一个布尔值(true或false)。如果操作数为true,则该运算符返回false;如果操作数为false,则该运算符返回true。

在C#中,逻辑非运算符主要有以下两种应用:

  1. 运用于空引用类型,表示判定该对象是否为空

在C#中,操作符!被用来判断对象是否为“null”或者“空引用类型”。当操作符!用于空对象时,它会返回一个真值(true),因此,这里使用操作符!可以让我们判断一个对象是否为“null”。

示例:

string str = "";
if (!string.IsNullOrEmpty(str))
{
    // 进行处理的代码
}

可以看到,这里把操作符!用于string对象.IsNullOrEmpty方法的返回值。如果这个方法返回false,那么!操作符把它变成true。因此,如果字符串str不为空,则执行if块中的代码。

  1. 运用于类型布尔变量、普通布尔变量和表达式,表示取反操作

另外一个常见的用法是在布尔值上面运用!操作符,将true变成false,false变成true。

示例:

bool a = true;
bool b = !a;
Console.WriteLine(b); // 输出为false

在上面的示例中,首先声明一个布尔变量a,并把它赋值为true。然后使用!操作符,对a进行逻辑非运算。由于a为true,所以!操作符会把它反转(即变成false),并将结果赋值给布尔变量b。最后,用Console.WriteLine输出b的值,即false。

总之,感叹号(!)在C#语言中主要用来表示逻辑非运算符,其作用是对布尔值进行取反操作,或者在判定空引用类型时判断对象是否为“null”。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中感叹号(!) 的作用总结 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • C# Linq的GroupJoin()方法 – 将两个序列中的元素联接在一起,并根据指定的键对结果进行分组

    接下来我将详细讲解C# Linq的GroupJoin()方法的使用。 GroupJoin()方法概述 GroupJoin()是Linq方法之一,其作用是将两个序列进行分组,并同时返回每个组中匹配项的列表。通俗来说,GroupJoin()方法将两个序列进行左连接,将左边序列的每一项和右边序列的匹配项分组生成新的序列,并返回这个新序列。 GroupJoin()方…

    C# 2023年4月19日
    00
  • NET页面导出Excel实例代码

    首先,要实现.NET页面导出Excel功能,需要用到以下两个类库: NPOI:用于操作Excel文档的类库。 Microsoft.AspNet.WebApi.Core:用于处理Web API相关请求与响应的类库。 下面是一个.NET页面导出Excel的典型实现步骤: 步骤一:创建Web API控制器 在.NET项目中创建一个Web API控制器,用于处理导出…

    C# 2023年5月31日
    00
  • C++结构体数组详细解析

    C++结构体数组详细解析 什么是结构体数组? 结构体数组相当于在一个数组中存储多个结构体对象。在C++中,结构体允许定义多个属性,并可以在一个结构体中同时定义多个属性。而结构体数组则是将多个结构体对象存储在一个数组当中,每个结构体对象都含有相同的属性。 如何定义结构体数组? 定义结构体数组需要以下步骤: 定义结构体。可以参照以下示例: struct Stud…

    C# 2023年6月7日
    00
  • Visual C#中如何使用IComparable和IComparer接口

    Visual C# 中使用 IComparable 和 IComparer 接口的主要作用是用于比较数据类型之间的差异,比如对象是否相等等。这两个接口都是用于排序数据类型的,IComparable 是接口用于实现单个数据类型的排序,IComparer 适用于实现对多个数据类型的排序。以下是在 Visual C# 中使用这两个接口的方法: 使用 ICompar…

    C# 2023年6月6日
    00
  • 互斥量mutex的简单使用(实例讲解)

    互斥量mutex的简单使用(实例讲解) 什么是互斥量mutex 互斥量是一种用于保护共享资源的锁,它可以防止多个线程同时访问共享资源,从而保证线程安全。 如何使用互斥量 在使用互斥量之前,我们需要了解一些基本操作。 初始化互斥量 初始化互斥量可以使用pthread_mutex_init函数,该函数有两个参数,第一个参数是互斥量的指针,第二个参数是一个指向pt…

    C# 2023年6月7日
    00
  • asp.net Split分割字符串的方法

    当使用ASP.NET进行开发时,分割字符串是一项非常常见的任务。ASP.NET中的Split()方法是一种简单有效的将字符串分成单独纯文本段的方法。 Split()方法的基本用法 Split()方法可以用于按照指定的分隔符将一个字符串分割成多个子串。其基本用法如下所示: string str = "apple, banana, cherry, da…

    C# 2023年6月3日
    00
  • 在.NET Core使用 HttpClient 的正确方式

    前言 HttpClient 是 .NET Framework、.NET Core 或 .NET 5以上版本中的一个类,用于向 Web API 发送 HTTP 请求并接收响应。它提供了一些简单易用的方法,如 GET、POST、PUT 和 DELETE,可以很容易地构造和发送 HTTP 请求,并处理响应数据。它是我们比较常用的官方HTTP请求组件,那么你们都正确…

    C# 2023年4月18日
    00
  • C#解决SQlite并发异常问题的方法(使用读写锁)

    让我来详细讲解“C#解决SQlite并发异常问题的方法(使用读写锁)”的完整攻略。 什么是SQlite并发异常问题 SQlite是一个非常流行的轻量级数据库,但由于其特殊的设计,使得它在并发访问时容易引发异常问题。例如,如果多个线程同时进行写操作,很容易引发数据被覆盖的情况,从而导致数据的不一致。 解决SQlite并发异常问题的方法 为了解决这个问题,我们可…

    C# 2023年5月31日
    00
合作推广
合作推广
分享本页
返回顶部