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# 语言类型(五)---其他

相关推荐
jyan_敬言1 小时前
【C++】string类(二)相关接口介绍及其使用
android·开发语言·c++·青少年编程·visual studio
慕y2741 小时前
Java学习第十六部分——JUnit框架
java·开发语言·学习
昏睡红猹1 小时前
C#脚本化(Roslyn):如何在运行时引入nuget包
c#
liulilittle1 小时前
SNIProxy 轻量级匿名CDN代理架构与实现
开发语言·网络·c++·网关·架构·cdn·通信
Shartin2 小时前
CPT208-Human-Centric Computing: Prototype Design Optimization原型设计优化
开发语言·javascript·原型模式
张人玉2 小时前
C# 常量与变量
java·算法·c#
dme.2 小时前
Javascript之DOM操作
开发语言·javascript·爬虫·python·ecmascript
teeeeeeemo2 小时前
回调函数 vs Promise vs async/await区别
开发语言·前端·javascript·笔记
加油吧zkf2 小时前
AI大模型如何重塑软件开发流程?——结合目标检测的深度实践与代码示例
开发语言·图像处理·人工智能·python·yolo
ejinxian2 小时前
PHP 超文本预处理器 发布 8.5 版本
开发语言·php