C# 字符串(String)

文章目录

  • 前言
  • 一、C#字符串(String)
  • 二、String 类的属性/方法
  • 总结


前言

C#基础学习入门系列- C# 字符串(String)


一、C#字符串(String)

C#字符串(String)是一种不可变的序列字符。任何对字符串的操作都会返回一个新的字符串。字符串在C#中是一个引用类型,使用System.String类表示。

字符串可以通过使用双引号或者@符号来创建。双引号用于创建普通字符串,例如:

string str1 = "Hello World";
string str2 = "C#";

@符号用于创建原始字符串,不会对转义字符进行处理,例如:

string str3 = @"C:\Windows\System32";

在C#中,字符串可以通过+运算符进行连接 例如:

string str4 = str1 + ", " + str2;

也可以使用插入占位符($)来进行字符串插值,例如:

string str5 = $"{str1}, {str2}";

**也可以使用new关键字创建字符串对象,**例如:

string str = new string('a', 5);  // 创建一个由5个'a'字符组成的字符串

访问字符串中的字符:可以使用索引运算符[]来访问字符串中的单个字符,索引从0开始计数,例如:

char firstChar = str[0];

格式化字符串:可以使用字符串插值(string interpolation)或者string.Format()方法来格式化字符串,例如:

int age = 20;
string name = "John";
string message = $"My name is {name} and I am {age} years old.";
string formattedMessage = string.Format("My name is {0} and I am {1} years old.", name, age);

字符串还有许多有用的方法,例如Substring()、Length、ToUpper()、ToLower()等,可以对字符串进行各种操作和处理。

需要注意的是,字符串是不可变的,也就是说,一旦被创建,就无法修改。每次进行字符串操作时,实际上是创建了一个新的字符串对象。这点需要注意,因为在处理大量字符串时,频繁的字符串操作可能会造成性能问题。如果需要频繁修改字符串,可以使用System.Text.StringBuilder类来代替字符串。

二、String 类的属性/方法

C#的String类有以下几个常用的属性:

  1. Length:获取字符串的长度,即字符的数量。例如:
string s = "Hello"; int len = s.Length; // len的值为5。
  1. IsNullOrEmpty:判断字符串是否为null或者空字符串。例如:
string s = ""; 
bool result = string.IsNullOrEmpty(s); // result的值为true。
  1. IsNullOrWhiteSpace:判断字符串是否为null、空字符串或者由空格组成的字符串。例如:
string s = "    "; 
bool result = string.IsNullOrWhiteSpace(s); // result的值为true。
  1. Chars:通过索引获取字符串中指定位置的字符。例如:
string s = "Hello"; char c = s[0]; // c的值为'H'。
  1. ToUpper:将字符串转换为大写字母。例如:
string s = "hello"; string upper = s.ToUpper(); // upper的值为"HELLO"。
  1. ToLower:将字符串转换为小写字母。例如:
string s = "HELLO"; 
string lower = s.ToLower(); // lower的值为"hello"。
  1. Trim:去除字符串两端的空格。例如:
string s = "  Hello  "; 
string trimmed = s.Trim(); // trimmed的值为"Hello"。
  1. StartsWith:判断字符串是否以指定的字符串开始。例如:
string s = "Hello, world"; 
bool result = s.StartsWith("Hello"); // result的值为true。
  1. EndsWith:判断字符串是否以指定的字符串结束。例如:
 string s = "Hello, world"; bool result = s.EndsWith("world"); // result的值为true。
  1. Contains:判断字符串是否包含指定的子字符串。例如:
string s = "Hello, world"; 
bool result = s.Contains("world"); // result的值为true。

这些属性可以帮助我们对字符串进行常见的操作和判断。


总结

以上就是今天的内容了,C#String的简单介绍,以及常用的属性/方法使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/637118.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

欧科云链与《警察技术》联合发布技术专题.pdf

欧科云链受《警察技术》邀请,于第201期期刊正式刊登“区块链生态安全与虚拟货币犯罪治理”技术专题。欧科云链作为该技术专题主要作者,直接参与本次期刊2篇文章撰写,同时为多篇文章提供欧科云链的最新数据和研究成果。 《警察技术》期刊创办于…

LeetCode——双指针

双指针 思想:双指针主要用于遍历数组,两个指针指向不同的元素,从而协同完成任务。 1. 两数之和Ⅱ-输入有序数组167中等 题意解读:从数组中找出满足相加之和等于目标数的两个数——本质是遍历数组。 存在前提假设: …

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)

Python seaborn库的安装与图像的背景风格(Seaborn篇-01)         🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…

RPC教程 2.支持并发与异步的客户端

1.客户端的使用例子 func main(){//1. 建立连接client, err : rpc.Dial("tcp", "localhost:1234")//2.调用调用指定的RPC方法var reply string //string有默认值err client.Call("HelloService.Hello", "hi", &reply) //即是…

使用docker配置semantic slam

一.Docker环境配置 1.拉取Docker镜像 sudo docker pull ubuntu:16.04拉取的为ununtu16版本镜像&#xff0c;环境十分干净&#xff0c;可以通过以下命令查看容器列表 sudo docker images 如果想删除多余的docker image&#xff0c;可以使用指令 sudo docker rmi -f <id&g…

linux 使用笔记

1.查看运行内存 a.Free 快速查看内存的方法&#xff0c;也是经常使用的命令&#xff0c; -h 更人性化的显示内存的单元 -m 以M的形式显示 b.Top Top命令提供了实时性的运行中的程序的资源使用统计。可以根据内存的使用和大小来进行排序。 如上所示&#xff0c;top命令可以看…

伊恩·斯图尔特《改变世界的17个方程》波动方程笔记

主要是课堂的补充&#xff08;yysy&#xff0c;我觉得课堂的教育模式真有够无聊的&#xff0c;PPT、写作业、考试&#xff0c;感受不到知识的魅力。 它告诉我们什么&#xff1f; 小提琴琴弦上某个小段的加速度&#xff0c;与相邻段相对于该段的平均位移成正比。 为什么重要&…

算子开发参考

神经网络框架自定义算子 https://www.tensorflow.org/lite/guide/ops_custom?hlzh-cn https://www.megengine.org.cn/doc/stable/zh/user-guide/tools/customop.html https://www.paddlepaddle.org.cn/documentation/docs/zh/guides/custom_op/index_cn.html https://whu.obs.…

“GPC爬虫池有用吗?

作为光算科技的独有技术&#xff0c;在深入研究谷歌爬虫推出的一种吸引谷歌爬虫的手段 要知道GPC爬虫池是否有用&#xff0c;就要知道谷歌爬虫这一概念&#xff0c;谷歌作为一个搜索引擎&#xff0c;里面有成百上千亿个网站&#xff0c;对于里面的网站内容&#xff0c;自然不可…

TCP发送优化(ZeroWindow分析)

通信模型一&#xff1a; Client 创建一个 TCP 的 socket&#xff0c;并通过 SO_SNDBUF 选项设置它的发送缓冲区大小为 2048Byte&#xff0c;连接到 Server 后&#xff0c;每 1 秒发送一个 TCP报文(1024Byte)。Server 端不调用 recv()。预期的结果则分为以下几个阶段&#xff1…

Hive数学函数讲解

Hive 是一个基于 Hadoop 的数据仓库工具&#xff0c;它支持类似于 SQL 的查询语言 HiveQL&#xff0c;并且提供了许多内建的数学函数来处理数值数据。下面我将逐一讲解您提到的这些数学函数&#xff0c;并提供一些使用案例和注意事项。 ROUND() 功能&#xff1a;四舍五入到指定…

【小白向】MMDeploy安装部署|暗坑标注版

文章目录 序言正文1 安装PPLCV2 TensorRT环境相关3 编译MMDeploy4 编译SDK结束 序言 本文主要针对在编译安装OpenMMLab团队的MMDeploy模型部署工具时遇到的“难以下手”的问题。 由于OpenMMLab的用户中很大一部分都是具有快速开发需求的人&#xff0c;或者说其实相当部分OpenM…

c语言算法——大数相加

C数据类型 类型与描述1基本数据类型 它们是算术类型&#xff0c;包括整型&#xff08;int&#xff09;、字符型&#xff08;char&#xff09;、浮点型&#xff08;float&#xff09;和双精度浮点型&#xff08;double&#xff09;。2枚举类型&#xff1a; 它们也是算术类型&am…

【docker】之基础篇二

目录 一、docker的数据管理1、数据卷2、数据卷容器&#xff1a; 二、端口映射与容器互联容器之间的通信 三、Docker查看日志四、Dockerfile定制镜像1、DockerFile常用的命令2、DockerFile实操 一、docker的数据管理 在生产环境中使用docker&#xff0c;需要对数据进行持久化&a…

R语言的ggplot2绘制分组折线图?

R绘制分组折线图.R 首先看数据情况&#xff1a;group有3组。Time有3组&#xff0c;数据意思是在3组3个时间点测量了某指标&#xff0c;现在要绘制组1、组2、组3某指标y按时间的变化趋势 数据情况&#xff1a; 看看最终的效果图如下&#xff1a; 下面是本次使用的代码 .libPat…

OpenHarmony 应用开发入门 (二、应用程序包结构理解及Ability的跳转,与Android的对比)

在进行应用开发前&#xff0c;对程序的目录及包结构的理解是有必要的。如果之前有过android开发经验的&#xff0c;会发现OpenHarmony的应用开发也很简单&#xff0c;有很多概念是相似的。下面对比android分析总结下鸿蒙的应用程序包结构&#xff0c;以及鸿蒙对比android的诸多…

Spring第七天(AOP)

简介 AOP(Aspect Oriented Programing)面向切面编程&#xff0c;一种编程范式&#xff0c;指导开发者如何组织程序结构 作用 在不惊动原始设计的基础上为其进行功能增强 Spring理念&#xff1a;无入侵式/无侵入式 基本概念 连接点(JoinPoint) : 程序执行过程中的任意位置&a…

ros2学习笔记-CLI工具,记录命令对应操作。

目录 环境变量turtlesim和rqt以初始状态打开rqt node启动节点查看节点列表查看节点更多信息命令行参数 --ros-args topic话题列表话题类型话题列表&#xff0c;附加话题类型根据类型查找话题名查看话题发布的数据查看话题的详细信息查看类型的详细信息给话题发布消息&#xff0…

html Canvas粒子文字特效

代码有点长&#xff0c;下面是代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>HTML5 Canvas粒子效果文字动画特效DEMO演示</title><link rel"stylesheet" href"css/normalize.c…

Bit.Store 加密卡集成主流 BRC20通证,助力 BTC 生态流动性

“Bit.Store 首创性的将包括 ORDI、SATS、以及 RATS 在内的主流 BRC20 资产集成到其加密卡支付中&#xff0c;通过以其推出的加密银行卡为媒介&#xff0c;助力 BTC 生态 Token 的流动性与消费。” 比特币网络在被设计之初&#xff0c;就是以一种去中心化、点对点的现金系统为定…