五、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…...
Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
反向工程与模型迁移:打造未来商品详情API的可持续创新体系
在电商行业蓬勃发展的当下,商品详情API作为连接电商平台与开发者、商家及用户的关键纽带,其重要性日益凸显。传统商品详情API主要聚焦于商品基本信息(如名称、价格、库存等)的获取与展示,已难以满足市场对个性化、智能…...
聊聊 Pulsar:Producer 源码解析
一、前言 Apache Pulsar 是一个企业级的开源分布式消息传递平台,以其高性能、可扩展性和存储计算分离架构在消息队列和流处理领域独树一帜。在 Pulsar 的核心架构中,Producer(生产者) 是连接客户端应用与消息队列的第一步。生产者…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
如何理解 IP 数据报中的 TTL?
目录 前言理解 前言 面试灵魂一问:说说对 IP 数据报中 TTL 的理解?我们都知道,IP 数据报由首部和数据两部分组成,首部又分为两部分:固定部分和可变部分,共占 20 字节,而即将讨论的 TTL 就位于首…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
【C++进阶篇】智能指针
C内存管理终极指南:智能指针从入门到源码剖析 一. 智能指针1.1 auto_ptr1.2 unique_ptr1.3 shared_ptr1.4 make_shared 二. 原理三. shared_ptr循环引用问题三. 线程安全问题四. 内存泄漏4.1 什么是内存泄漏4.2 危害4.3 避免内存泄漏 五. 最后 一. 智能指针 智能指…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
水泥厂自动化升级利器:Devicenet转Modbus rtu协议转换网关
在水泥厂的生产流程中,工业自动化网关起着至关重要的作用,尤其是JH-DVN-RTU疆鸿智能Devicenet转Modbus rtu协议转换网关,为水泥厂实现高效生产与精准控制提供了有力支持。 水泥厂设备众多,其中不少设备采用Devicenet协议。Devicen…...
