五、C#—字符串
🌻🌻 目录
- 一、字符串
- 1.1 字符类型
- 1.2 转义字符
- 1.3 字符串的声明及赋值
- 1.3.1 c# 中的字符串
- 1.3.2 声明字符串
- 1.3.3 使用字符串
- 1.3.4 字符串的初始化
- 1.3.4.1 引用字符串常量之初始化
- 1.3.4.2 利用字符数组初始化
- 1.3.4.3 提取数组中的一部分进行初始化
- 1.3.5 空字符串与空引用的区别
- 1.3.6 字符串的拼接
- 1.3.7 比较字符串的其它方法
- 1.4 格式化字符串
- 1.4.1 标准数值格式规范
- 1.4.1 标准日期时间格式规范
- 1.4.2 格式化的另外一种方法
- 1.5 截取字符串
- 1.6 分割字符串
- 1.7 插入字符串
- 1.8 删除字符串
- 1.9 复制字符串
- 1.10 替换字符串
- 1.11 可变字符串类
- 1.11.1 string创建的字符串是不可变的
- 1.11.2 可变字符串类 StringBuilder
- 1.11.3 StringBuilder 类常用的方法
- 1.11.4 StringBuilder 类的使用
- 1.11.5 字符串与可变字符串的区别
一、字符串
1.1 字符类型
何时使用字符


遇到字符
'\'时出现的错误

1.2 转义字符

转义字符使用技巧

1.3 字符串的声明及赋值
1.3.1 c# 中的字符串

1.3.2 声明字符串

1.3.3 使用字符串

1.3.4 字符串的初始化


1.3.4.1 引用字符串常量之初始化


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp6
{class Program{static void Main(string[] args){String str = "时间就是金钱";Console.WriteLine(str);Console.ReadLine();}}
}
1.3.4.2 利用字符数组初始化

1.3.4.3 提取数组中的一部分进行初始化


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp6
{class Program{static void Main(string[] args){char[] array = { '时','间','就','是','金','钱'};string str = new string(array);string str2 = new string(array,4,2);Console.WriteLine(str);Console.WriteLine(str2);Console.ReadLine();}}
}
1.3.5 空字符串与空引用的区别

1.3.6 字符串的拼接



判断用户名是否存在

1.3.7 比较字符串的其它方法





using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp6
{class Program{static void Main(string[] args){string str ="mr1";string str2 = "mr12";Console.WriteLine(string.Compare(str,str2));Console.ReadLine();}}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp6
{class Program{static void Main(string[] args){string str ="mr1";string str2 = "mr12";Console.WriteLine(str.CompareTo(str2));Console.ReadLine();}}
}

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp6
{class Program{static void Main(string[] args){string str ="mr1";string str2 = "mr12";Console.WriteLine(str.Equals(str2));Console.ReadLine();}}
}
1.4 格式化字符串

1.4.1 标准数值格式规范


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp6
{class Program{static void Main(string[] args){Console.WriteLine("货币形式:{0:C}",365);Console.WriteLine("科学计数法:{0:E}",12);Console.WriteLine("货币形式:{0:N}",36534);Console.WriteLine("Π取两位小数:{0:F2}",Math.PI);Console.WriteLine("16进制显示:{0:X4}",36);Console.WriteLine("百分比显示:{0:P}",0.99);Console.ReadLine();}}
}
1.4.1 标准日期时间格式规范

1.4.2 格式化的另外一种方法

1.5 截取字符串
从身份证中获取出生日期



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp7
{class Program{static void Main(string[] args){string fileName = "glorysoft.com";string file = fileName.Substring(0, fileName.IndexOf('.'));string fileT = fileName.Substring(fileName.IndexOf('.'));Console.WriteLine(file);Console.WriteLine(fileT);Console.ReadLine();}}
}
索引或者长度超出字符串范围得错误

1.6 分割字符串


限定分割次数

限定分割次数得执行效果



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp7
{class Program{static void Main(string[] args){string fileName = "glorysoft.com.com.com";string[] array = fileName.Split(new char[] { '.' },2);for (int i = 0; i < array.Length; i++) {Console.WriteLine(array[i]);}Console.ReadLine();}}
}
1.7 插入字符串


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp8
{class Program{static void Main(string[] args){string old = "you are a pig";Console.WriteLine(old);string newOld = old.Insert(8, "to");Console.WriteLine(newOld);Console.ReadLine();}}
}
1.8 删除字符串


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp8
{class Program{static void Main(string[] args){string old = "you are a pig";Console.WriteLine(old);string newOld = old.Remove(4);string newOld2 = old.Remove(4,7);Console.WriteLine(newOld);Console.WriteLine(newOld2);Console.ReadLine();}}
}
1.9 复制字符串

复制字符串的一部分

1.10 替换字符串

替换字符串中的字符

替换字符串中的子字符串



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp8
{class Program{static void Main(string[] args){string str = "馒头一文一个";Console.WriteLine(str);string str2 = str.Replace("一", "壹");string str3 = str.Replace("馒头","馍馍");Console.WriteLine(str2);Console.WriteLine(str3);Console.ReadLine();}}
}
替换字符串需要注意的事项

1.11 可变字符串类
1.11.1 string创建的字符串是不可变的

1.11.2 可变字符串类 StringBuilder

定义:

1.11.3 StringBuilder 类常用的方法

1.11.4 StringBuilder 类的使用


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp8
{class Program{static void Main(string[] args){StringBuilder sb = new StringBuilder("(),(),(),4, 6, 7、8)");Console.WriteLine(sb);sb.Remove(0, 9);sb.Insert(0,"(门前大桥下),(游过一群鸭),(快来快来数一数),");Console.WriteLine(sb);Console.ReadLine();}}
}
1.11.5 字符串与可变字符串的区别



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace ConsoleApp8
{class Program{static void Main(string[] args){long start = DateTime.Now.Millisecond;string a = "";for (int i = 0; i <= 10000; i++) {a += i;}long end = DateTime.Now.Millisecond;Console.WriteLine(end - start);StringBuilder sb = new StringBuilder();long start1 = DateTime.Now.Millisecond;for (int j=0; j < 10000;j++) {sb.Append(j);}long end2 = DateTime.Now.Millisecond;Console.WriteLine(end2-start1);Console.ReadLine();}}
}
相关文章:
五、C#—字符串
🌻🌻 目录 一、字符串1.1 字符类型1.2 转义字符1.3 字符串的声明及赋值1.3.1 c# 中的字符串1.3.2 声明字符串1.3.3 使用字符串1.3.4 字符串的初始化1.3.4.1 引用字符串常量之初始化1.3.4.2 利用字符数组初始化1.3.4.3 提取数组中的一部分进行初始化 1.3.…...
【Vue3 源码解析】nextTick
nextTick 是 Vue 3 中用于异步执行回调函数的函数,它会将回调函数延迟到下一个微任务队列中执行。其中,Vue 更新 DOM 是异步的。下面是对 nextTick 函数的详细解释: export function nextTick<T void, R void>(this: T,fn?: (this:…...
基于ModebusRTU通信采集温度湿度项目案例
目录 一、模拟温湿度模拟 【1.1】温湿度仪表参数 【1.1】使用电脑模拟传感器 【1.2】使用Codesys软件模拟传感器 二、自定义控件UI设计 【2.1】自定义控件温度湿度柱状设计 编辑 【2.1.1】设置温度湿度柱状实际显示【属性】 【2.1.2】设置温度湿度柱状的背景颜色【属…...
【已解决】关于如何将Doccano标注的文本转换成NER模型可以直接处理的CoNLL 2003格式
笔者要做命名实体识别(NER)的工作,选择了Doccano平台来进行文本标注。 Doccano平台对标注结果的导出格式是JSONL格式,我们导出了NER.jsonl文件。 但是用python语言搭建深度学习模型来实现NER时,一般接收的输入数据格式…...
网络编程day03(UDP中的connect函数、tftp)
今日任务:tftp的文件上传下载(服务端已经准备好) 服务端(已上传) 客户端: 代码: #include <stdio.h> #include <string.h> #include <stdlib.h> #include <sys/types.h…...
flarum 论坛 User Statistics插件修改
此插件在中国使用日期不是很理想,于是决定修改代码 下面是插件信息: User Statistics A Flarum extension. Add some user statistics in flarum posts, this extension require clarkwinkelmann/flarum-ext-likes-received and will be installed au…...
阿里云产品试用系列-容器镜像服务 ACR
阿里云容器镜像服务(简称 ACR)是面向容器镜像、Helm Chart 等符合 OCI 标准的云原生制品安全托管及高效分发平台。 ACR 支持全球同步加速、大规模/大镜像分发加速、多代码源构建加速等全链路提效,与容器服务 ACK 无缝集成,帮助企业…...
Langchain里的“记忆力”,让AI只记住有用的事
今天要讲以下内容: 1.ConversationBufferWindowMemory:基于一个固定长度的滑动窗口的“记忆”功能 2.ConversationSummaryMemory:总结对话“记忆”功能 3.ConversationSummaryBufferMemory:上面两个的结合,超过一定…...
从零开始的LINUX(一)
LINUX本质是一种操作系统,用于对软硬件资源进行管理,其管理的方式是指令。指令是先于图形化界面产生的,相比起图形化界面,指令显然更加难以理解,但两者只是形式上的不同,本质并没有区别。 简单的指令&…...
CH34X-MPHSI高速Master扩展应用—I2C设备调试
一、前言 本文介绍,基于USB2.0高速USB转接芯片CH347,配合厂商提供的USB转MPHSI(Multi Protocol High-Speed Serial Interface)Master总线驱动(CH34X-MPHSI-Master)为系统扩展I2C总线的用法,除…...
记一次正式环境升级docker服务基础进行版本异常
因为服务的httpd和tomcat基础镜像版本比较旧,漏洞多,需要升级至最新版本。在本地环境和测试环境都是直接将dockerfile中的FROM基础镜像升级至最新: httpd:由httpd:2.4.52-alpine升级至httpd:2.4.57 tomcat:由4年前的…...
leetcode面试经典150题第一弹(一)
leetcode面试经典150题第一弹 一、合并俩个有序数组(难度:简单) 题目 给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。 请你 合并 nums2 到 nums1 中,使合并…...
VME-7807RC-414001 350-93007807-414001 VMIVME-017807-411001 VMIVME-017807-414001
VME-7807RC-414001 350-93007807-414001 VMIVME-017807-411001 VMIVME-017807-414001 由于第12代英特尔酷睿处理器的16核/24线程配置,Nuvo-9000型号与之前的平台相比,性能大幅提升。它们还支持新的DDR5内存标准,以获得更多内存带宽…...
01-Zookeeper特性与节点数据类型详解
上一篇: 在了解Zookeeper之前,需要对分布式相关知识有一定了解,什么是分布式系统呢?通常情况下,单个物理节点很容易达到性能,计算或者容量的瓶颈,所以这个时候就需要多个物理节点来共同完成某项…...
TP6 TP8 使用阿里官方OSS SDK方法
安装 composer require aliyuncs/oss-sdk-php 官网:GitHub - aliyun/aliyun-oss-php-sdk: Aliyun OSS SDK for PHP 二、PHP简单上传 官网教程:如何进行字符串上传和文件上传_对象存储 OSS-阿里云帮助中心 引入 use OSS\OssClient; use OSS\Core\OssE…...
SkyWalking分布式链路追踪学习
为什么要用分布式链路追踪 实际生产中,面对几十个、甚至成百上千个的微服务实例,如果一旦某个实例发生宕机,如果不能快速定位、提交预警,对实际生产造成的损失无疑是巨大的。所以,要对微服务进行监控、预警࿰…...
git revert 撤销之前的提交
git revert 用来撤销之前的提交,它会生成一个新的 commit id 。 输入 git revert --help 可以看到帮忙信息。 git revert commitID 不编辑新的 commit 说明 git log 找到需要撤销的 commitID , 然后执行 git revert commitID ,会提示如下…...
rk3568环境配置和推理报错: RKNN_ERR_MALLOC_FAIL
前言 最近在部署算法在板子侧遇到的一些问题汇总一下: 一、版本问题 经过测试现在将自己环境配置如下: 本地linux安装rknn-toolkit2-1.5.0 本地Linux使用的miniconda新建的一个python虚拟环境(自行网上查找相关方法) 安装好自…...
网络工程师基础笔记(一)
一、接入网 接入网,是指将端系统物理连接到边缘路由器的网络。 (1)家庭接入:数字用户线(DSL)、电缆、光纤到户(FTTH)卫星和拨号接入。 (2)企业(家庭)接入&…...
Postman应用——Headers请求头设置
文章目录 Header设置Header删除或禁用Header批量编辑Header预设添加 一般在接口需要校验签名时,Headers请求头用来携带签名和生成签名需要的参数,在Postman也可以设置请求头在接口请求时携带参数。 Header设置 说明: Key:Header…...
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明
LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
CTF show Web 红包题第六弹
提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框,很难让人不联想到SQL注入,但提示都说了不是SQL注入,所以就不往这方面想了 先查看一下网页源码,发现一段JavaScript代码,有一个关键类ctfs…...
CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...
【AI学习】三、AI算法中的向量
在人工智能(AI)算法中,向量(Vector)是一种将现实世界中的数据(如图像、文本、音频等)转化为计算机可处理的数值型特征表示的工具。它是连接人类认知(如语义、视觉特征)与…...
鱼香ros docker配置镜像报错:https://registry-1.docker.io/v2/
使用鱼香ros一件安装docker时的https://registry-1.docker.io/v2/问题 一键安装指令 wget http://fishros.com/install -O fishros && . fishros出现问题:docker pull 失败 网络不同,需要使用镜像源 按照如下步骤操作 sudo vi /etc/docker/dae…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的“no matching...“系列算法协商失败问题
【SSH疑难排查】轻松解决新版OpenSSH连接旧服务器的"no matching..."系列算法协商失败问题 摘要: 近期,在使用较新版本的OpenSSH客户端连接老旧SSH服务器时,会遇到 "no matching key exchange method found", "n…...
Golang——6、指针和结构体
指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...
