当前位置: 首页 > news >正文

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

总目录
C# 语法总目录

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

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

      • 字符串和字符类型简述
        • (1) 字符类型基本用法
        • (2) 字符串类型基本用法
          • @符号
          • $ 符号
          • $ 和 @ 结合使用
          • 连接字符串

字符串和字符类型简述

(1) 字符类型基本用法

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

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

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

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类型中,可以使用@表示内部不支持转义字符,所有的字符就是字符,没有别的意思。

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

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

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

int a = 10;
string b = $"num is {a}";
Console.WriteLine(b);--输出
num is 10
$ 和 @ 结合使用

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

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

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

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

相关文章:

  • 深入理解Java中的List集合:解析实例、优化技巧与最佳实践
  • HackTheBox-Machines--Lazy
  • 数据结构——图
  • Lua的几个特殊用法
  • PHP面向对象编程总结
  • Flutter 中的 SliverCrossAxisGroup 小部件:全面指南
  • C++ 变量的声明和初始化方式
  • <Rust><iced>基于rust使用iced库构建GUI实例:动态改变主题色
  • 使用Spring的@Scheduled注解实现定时任务
  • 关于高版本 Plant Simulation 每次保存是 提示提交comm对话框的处理方法
  • 使用axios+vue在离开页面时中断网络请求
  • MATLAB算法实战应用案例精讲-【数模应用】Turf组合模型(附MATLAB、python和R语言代码实现)
  • Outpainting Inpainting
  • RTA GMH系列 SERIE MOTION电机驱动板手侧 英文版
  • 【Web API DOM03】事件监听
  • crontab执行失败的多种原因
  • Golang-长连接-状态推送
  • JavaScript的使用你知道几种?(上)
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • Node + FFmpeg 实现Canvas动画导出视频
  • Python学习之路16-使用API
  • Shadow DOM 内部构造及如何构建独立组件
  • Vue2.0 实现互斥
  • 程序员该如何有效的找工作?
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 构建工具 - 收藏集 - 掘金
  • 简单实现一个textarea自适应高度
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 试着探索高并发下的系统架构面貌
  • 我这样减少了26.5M Java内存!
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #define与typedef区别
  • #if #elif #endif
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (C)一些题4
  • (紀錄)[ASP.NET MVC][jQuery]-2 純手工打造屬於自己的 jQuery GridView (含完整程式碼下載)...
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • ./configure,make,make install的作用
  • .form文件_SSM框架文件上传篇
  • .Net多线程总结
  • .net之微信企业号开发(一) 所使用的环境与工具以及准备工作
  • @RequestBody的使用
  • @test注解_Spring 自定义注解你了解过吗?
  • [ CTF ] WriteUp-2022年春秋杯网络安全联赛-冬季赛
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • []Telit UC864E 拨号上网
  • [12] 使用 CUDA 进行图像处理
  • [20181219]script使用小技巧.txt
  • [8] CUDA之向量点乘和矩阵乘法
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [CVPR2021]Birds of a Feather: Capturing Avian Shape Models from Images