C# 语言类型(二)—预定义类型之字符串及字符类型简述

总目录
C# 语法总目录
参考链接:
C#语法系列:C# 语言类型(一)---预定义类型值之数值类型
C#语法系列:C# 语言类型(二)---预定义类型之字符串及字符类型简述
C#语法系列:C# 语言类型(三)---数组/枚举类型/结构体
C#语法系列:C# 语言类型(四)---传递参数及其修饰符
C#语法系列:C# 语言类型(五)---其他

C# 语言类型 二---预定义类型:字符串及字符类型简述

字符串和字符类型简述

(1) 字符类型基本用法

  字符类型表示一个Unicode字符或者一个转义字符,占用两个字节,字符类型可以直接转换成short类型,转成其他类型需要显示转换。

csharp 复制代码
char a = 'A';
char a = '\n'; 
(2) 字符串类型基本用法

  字符串类型是引用类型,但是却遵循 == 运算时是进行值的比较,字符串类型无法使用 > < ,只能使用CompareTo方法

csharp 复制代码
string a = "hello";
string b = "nihao";
string c = "hello";
int v = a.CompareTo(b);
Console.WriteLine(a==c);
Console.WriteLine(v);
Console.ReadLine();
--输出
True
-1
@符号

  string类型中,可以使用@表示内部不支持转义字符,所有的字符就是字符,没有别的意思。

注意 @符号因为还需要左右"" 两个引号把字符串框起来,所以在它们内部如果想输出双引号,那么需要两个双引号来表示一个双引号

csharp 复制代码
string a = "\n\n";	//输出两个换行
string b = @"\n\n";	//输出字符 \n\n
//两个双引号
string c = @"{name=""xiaoli""}"	//输出 {name="xiaoli"}
$ 符号

  字符串插值,C#6.0版本以上才有,使用插值的使用,还可以使用冒号进行插值的格式化,略。

csharp 复制代码
int a = 10;
string b = $"num is {a}";
Console.WriteLine(b);

--输出
num is 10
$ 和 @ 结合使用

结合使用可以让插值字符串换行,但是必须 $ 在 @ 前面

csharp 复制代码
int a = 10;
string b = $@"num is {
a}, hhhhhh";
Console.WriteLine(b);
--输出
num is 10, hhhhhh
连接字符串

  直接使用 + 加号可以直接连接字符串,但是,更好的解决方案是StringBuilder类型,如果需要频繁大量的连接字符串,那么请使用StringBuilder

csharp 复制代码
string a = "abc"+"d";

StringBuilder sb = new StringBuilder();
sb.Append("aa");
Console.WriteLine(sb.ToString());	//输出  aa

总目录
C# 语法总目录
参考链接:
C#语法系列:C# 语言类型(一)---预定义类型值之数值类型
C#语法系列:C# 语言类型(二)---预定义类型之字符串及字符类型简述
C#语法系列:C# 语言类型(三)---数组/枚举类型/结构体
C#语法系列:C# 语言类型(四)---传递参数及其修饰符
C#语法系列:C# 语言类型(五)---其他

相关推荐
超级架构师8 小时前
让 COBOL 长出 AI 大脑:原生 Agent 核心框架 praxo-core 深度剖析
c语言·开发语言·c++·人工智能·python·架构·ai编程
Non-existent9878 小时前
在 WPS/Excel 里做地理数据处理:功能市场 + 奥维 / Google Earth / QGIS 三种跳转实战
开发语言·javascript·ecmascript
xiaolang_8616_wjl9 小时前
c++游戏_宝可梦大世界(源代码)
开发语言·c++·游戏
Leinwin9 小时前
Copilot Studio 实战:多模型选择、GitHub Copilot harness 计费与 Copilot Credits 额度管理
开发语言·c#
余额瞒着我当琳9 小时前
C++异常,异常的概念,异常抛出与捕获,RAII 和智能指针的设计思路,C++标准库一些指针的使用
java·开发语言·c++·算法
严谨的麻辣烫9 小时前
固定 IP 稳定性如何检测?使用 Python 实现网络连通性与耗时监控
开发语言·数据库·php
FuckPatience9 小时前
C# Winform 使用Label循环显示闪烁
开发语言·c#
念何架构之路9 小时前
OpenTelemetry核心概念
后端·目标跟踪·golang·c#·linq