美文网首页
真会 C# 吗 04

真会 C# 吗 04

作者: JeetChan | 来源:发表于2019-05-19 00:06 被阅读0次

声明

本文内容来自微软 MVP solenovex 的视频教程——真会C#吗?-- C#全面教程,大致和第 7 课—— 基础 - bool(入门) 对应。

本文主要包括以下内容:

  1. bool 和操作符

bool 和操作符

bool 关键字是 System.Boolean 的别名。 它用于声明变量来存储布尔值:true 和 false。

bool 特点

  • System.Boolean 的别名。

  • Literal:true,false。

  • 只需要 1byte 内存(运行时和处理器可以高效操作的最小的块)。

  • 针对数组,Framework 提供了 BitArray 类(System.Collections),在这里每个 bool 值只占用 1bit 内存。

转换

bool 类型无法和数值类型进行相互转换。

相等和比较操作符

  • == 和 != 操作符在用来比较相等性的时候,通常都会返回 bool 类型。

  • 对于值类型(原始类型)来说,== 和 != 就是比较它们的值。

  • 对于引用类型,默认情况下,是比较它们的引用。

  • 数值类型都可以使用这些操作符:==,!=,<,>,<=,>=。实数比较需要注意精确度问题。

  • 枚举类型(enum)也可以使用这些操作符,就是比较它们底层对应的整型数值。

// Value types

int x = 1;
int y = 2;
int z = 1;
Console.WriteLine (x == y); // False
Console.WriteLine (x == z); // True

// reference types

public class Dude
{
    public string Name;
    public Dude (string n) { Name = n; }
}

Dude d1 = new Dude ("John");
Dude d2 = new Dude ("John");
Console.WriteLine (d1 == d2); // False
Dude d3 = d1;
Console.WriteLine (d1 == d3); // True

&& 和 || 条件操作符

  • && 和 || 可以用来判断“与”和“或”的条件。

  • && 和 || 有短路机制。

  • && 和 || 可避免 NullReferenceException。

static bool UseUmbrella (bool rainy, bool sunny, bool windy)
{
    return !windy && (rainy || sunny);
}

// without throwing a NullReferenceException
if (sb != null && sb.Length > 0)
    DoSomething();

& 和 | 条件操作符

  • & 和 | 也可以用来判断“与”和“或”的条件。

  • & 和 | 没有短路机制。

  • & 和 | 很少用来条件判断上。

  • 当使用于数值的时候,& 和 | 执行的是按位操作。

return !windy & (rainy | sunny);

条件操作符(三元操作符)

  • q ? a : b。
  • 有三个操作数。
  • 如果 q 为 true,那么就计算 a,否则计算 b。
static int Max (int a, int b)
{
    return (a > b) ? a : b;
}
The truth tables.jpg

参考

bool (C# Reference)

Boolean logical operators (C# Reference)

相关文章

  • 真会 C# 吗 04

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#吗?-- C#全面教程,大致和第 7 课...

  • 真会 C# 吗 03

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#吗?-- C#全面教程,大致和第 6 课...

  • 真会 C# 吗 02

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#吗?-- C#全面教程,大致和第 5 课...

  • 真会 C# 吗 05

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#吗?-- C#全面教程,大致和第 8 课...

  • 真会 C# 吗 01

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#吗?-- C#全面教程,大致和第 4 课...

  • 真会 C# 吗

    声明 计划写一个 C# 系列教程学习笔记。内容来自微软 MVP solenovex(https://www.cnb...

  • 真会 C# 吗 10

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第1-2章 简介和基础(完结),大...

  • 真会 C# 吗 08

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第1-2章 简介和基础(完结),大...

  • 真会 C# 吗 09

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第1-2章 简介和基础(完结),大...

  • 真会 C# 吗 06

    声明 本文内容来自微软 MVP solenovex 的视频教程——真会C#?- 第1-2章 简介和基础(完结),大...

网友评论

      本文标题:真会 C# 吗 04

      本文链接:https://www.haomeiwen.com/subject/uxatzqtx.html