加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

C# 中的 bool、char 和 string 类型

发布时间:2020-12-16 01:11:35 所属栏目:百科 来源:网络整理
导读:目录 布尔类型(bool) 字符类型(char) 字符串 字面量 字符串插值 字符串插值内部工作原理 字符串格式化 换行符 字符串不可变 System.Text.StringBuilder 总结 上一篇(地址:https://www.vinanysoft.com/c-sharp-basics/data-types/fundamental-numeric-t

目录
  • 布尔类型(bool)
  • 字符类型(char)
  • 字符串
    • 字面量
    • 字符串插值
      • 字符串插值内部工作原理
    • 字符串格式化
    • 换行符
    • 字符串不可变
    • System.Text.StringBuilder
  • 总结

上一篇(地址:https://www.vinanysoft.com/c-sharp-basics/data-types/fundamental-numeric-types/)只介绍了基本数值类型,本篇将介绍其他的一些类型: boolcharstring

布尔类型(bool

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

可将布尔值赋给 bool 变量。 也可以将计算结果为 bool 类型的表达式赋给 bool 变量。

public class BoolTest
{
    static void Main()
    {
        bool b = true;

        // WriteLine automatically converts the value of b to text.
        Console.WriteLine(b);

        int days = DateTime.Now.DayOfYear;


        // Assign the result of a boolean expression to b.
        b = (days % 2 == 0);

        // Branch depending on whether b is true or false.
        if (b)
        {
            Console.WriteLine("days is an even number");
        }
        else
        {
            Console.WriteLine("days is an odd number");
        }   
    }
}
/* Output:
  True
  days is an <even/odd> number
*/

虽然理论上一个二进制位足以容纳一个布尔类型的值,但 bool 实际大小是一个字节。

字符类型(char

char 类型关键字是 System.Char 结构类型的别名,它表示 Unicode UTF-16 字符:

类型 范围 大小 .NET 类型
char U+0000 到 U+FFFF 16 位 System.Char

输入 char 字面量需要将字符放到一对单引号中,比如 'A'。所有键盘字符都可这样输入,包括字母、数字以及特殊符号。

有的字符不能直接插入源代码,需进行特殊处理。首先输入反斜杠()前缀,再跟随一个特殊字符代码。反斜杠和特殊字符代码统称为转义序列(escape sequence)。

例如,n 代表换行符,而 t 代表制表符。由于反斜杠标志转义序列开始,所以要用 表示反斜杠字符。

Console.Write("'");    //输出单引号(')
Console.Write("");    //输出反斜杠()

char 类型字面量可以输入字符、十六进制转义序列或 Unicode 表示形式。 也可以将整型字面量强制转换为相应的 char 值。 在下面的示例中,使用相同的字符 Xchar 数组的四个元素进行初始化:

var chars = new char[4];

chars[0] = 'X';        // Character literal
chars[1] = 'x0058';   // Hexadecimal
chars[2] = (char)88;   // Cast from integral type
chars[3] = 'u0058';   // Unicode

Console.Write(string.Join(" ",chars));
// Output: X X X X

下表列出了字符串转义序列:

转义序列 字符名称 Unicode 编码
' 单引号 0x0027
" 双引号 0x0022
反斜杠 0x005C
null 0x0000
a 警报 0x0007
b 退格 0x0008
f 换页 0x000C
n 换行 0x000A
r 回车 0x000D
t 水平制表符 0x0009
v 垂直制表符 0x000B
u Unicode 转义序列 (UTF-16) uHHHH(范围:0000 - FFFF;示例:u00E7 =“?”)
U Unicode 转义序列 (UTF-32) U00HHHHHH(范围:000000 - 10FFFF;示例:U0001F47D =“

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!