c#中string的操作
4.字符串(引用类型)
1)字符串的不变性
当你给一个字符串重新赋值之后,老值并没有被销毁,而是重新开辟一块内存空间存储新值。比如:string person = “张三”;
person = “王五”;给张三在堆上分配的内存空间没有被销毁,重新在堆上给王五分配了一块内存空间,并把地址赋给person。
2)当程序结束后,GC(垃圾回收器)扫面整个内存,如果发现有空间没有被指向,则立即被销毁。
3)可以将string类型看做是char类型的只读数组。
string s = "abcdefg";
s[0] = b;//错误,因为s是只读的。
char []chs = s.ToCharArray();
chs [0] = b;
//将字符数组转换成字符串
s = new string(chs);
//创建一个计时器,记录程序运行的时间
Stopwatch sw = new Stopwatch();
sw.start();//计时开始
sw.Stop();//计时结束
5.字符串的各种方法
1)Length :获得当前字符串中字符的个数或数组中元素的个数。
2)ToUpper():将字符串中的字符转换成大写
3)ToLower():将字符串中的字符转换成小写。
3)Equals(A ,B):可以忽略字符串的大小写,进行比较。
corse1.Equals(corse2); //通过调用这个成员函数实现字符串比较
//忽略大小写实现字符串的比较
corse2.Equals(corse1,StringComparison.OrdinalIgnoreCase);
4).Split(new char [] , StringSplitOptions.RemoveEmptyEnter);将不想要的字符放到new char[]中,实现分割字符,并把空字符移除掉。
5)contain()用于判断是否包含某些字符串
6)replace()将指定字符串替换掉
7)substring(1,2)从第1位开始截取想要的2个字符。
8).indexof()找字符串中字符第一次出现的位置。
9).Lastindexof()找字符中最后一次出现的位置。
10).Trim()同时去掉字符串前面和后面的空格
11).TrimStart()去掉字符串中前面的空格
12).TrimEnd()去掉字符串中后面的空格。
13).IsNullOrEmpty()判断是Null 还是为Empty.
14).Join()将给定的字符添加到数组元素的后面,最后一个不加。
15).StartWith()判断是否以给定的字符串或字符开始。
16).EndWith()判断是否以给定的字符串或字符结束。
6.stringbuilder()用与字符串中大量的赋值或拼接。
注意:详情见代码。
7.//split实现将字符串转换成字符串数组,join实现将字符数组转换成字符串。
//将 sharp c hello 转换成hello c sharp
string strSharp = "sharp c hello";
string [] cShSplit = strSharp.Split(new char []{},StringSplitOptions.RemoveEmptyEntries);
for (int i = 0; i < cShSplit.Length/2; i++)
{
string temp = cShSplit[i];
cShSplit[i] = cShSplit[cShSplit.Length -1-i];
cShSplit[cShSplit.Length - 1 - i] = temp;
}
Console.WriteLine();
//for (int i = 0; i < cShSplit.Length; i++)
//{
// Console.Write(cShSplit[i]);
//}
//strSharp = cShSplit.Join('|' , );
//在数组元素间键入空格,并转换成字符串。
strSharp = string.Join(" " , cShSplit);
Console.WriteLine(strSharp);
转载于:https://www.cnblogs.com/jefy/p/9187789.html
c#中string的操作相关推荐
- python中string的操作函数
在python有各种各样的string操作函数.在历史上string类在python中经历了一段轮回的历史.在最开始的时候,python有一个专门的string的module,要使用string的方法 ...
- python字符串赋值与java区别_java和python细节总结和java中string 的+操作
//JAVA中对arrayList的初始化,能够分配空间,不能之间让一个ArrayList赋值给另外一个ArrayList,这样是引用赋值,当一个改变时候,另外一个也改变 List tmp = new ...
- JVM学习笔记之-StringTable String的基本特性,内存分配,基本操作,拼接操作,intern()的使用,垃圾回收 ,G1中的String去重操作
String的基本特性 string:字符串,使用一对""引起来表示. String s1 = ""; //字面量的定义方式 String s2 = new S ...
- Go 学习笔记(60)— Go 第三方库之 go-redis(初始化 redis、操作 string、操作 list、操作 set、操作 hset)
1. 第三方库 go-redis 因为 Go 标准库中是没提供 redis 的库,所以我们选择用 go-redis 这个第三方库.源码地址为 https://github.com/go-redis/r ...
- string 相等 java_java中String相等问题
1.首先介绍三个String对象比较的方法: (1)equals:比较两个String对象的值是否相等.例如: String str1 = "hello quanjizhu"; S ...
- java8 流操作_java8中的流操作
Stream 流是 Java 8 新提供给开发者的一组操作集合的 API,将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选.排序.聚合等.元素流在管道中经过 ...
- 2.Java中String,StringBuilder以及StringBuffer的关系与区别
String StringBuffer StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...
- 标准C++中string类用法总结
2019独角兽企业重金招聘Python工程师标准>>> 相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好 ...
- android中的数据库操作(SQLite)
android中的数据库操作 android中的应用开发很难避免不去使用数据库,这次就和大家聊聊android中的数据库操作. 一.android内的数据库的基础知识介绍 1.用了什么数据库 an ...
最新文章
- Android日志打印类LogUtils,能够定位到类名,方法名以及出现错误的行数并保存日志文件...
- 网站开启https后很慢_网站优化中哪些设置会影响蜘蛛的抓取?对网站SEO产生什么影响...
- P2089 烤鸡(python3实现)
- ActiveMQ-为什么需要消息中间件及优缺点
- “您都对”、“客户都对”也能申请为商标?
- 符号级别(一)--基础概念
- python epoll多路复用技术_python网络编程——IO多路复用之epoll
- Linux 查找进程与结束进程
- WIN7无法调试安卓手机,ADB Interface显示黄色叹号
- webpack之初体验
- 乐高mindstormsev3_乐高MINDSTORMSEV3软件程序模块开发
- 企业信息科技安全的三道防线及解决方案
- Mystery——团队作业——系统设计
- 隐枚举法求解0-1整数规划
- 如何才能达到阿里 P7 水平 ?
- Lecture 005-Duality theory
- HTML5: select标签
- 做自适应网站专业乐云seo_广州网站设计【乐云seo】
- 公共信息模型(CIM)
- NLP大杀器BERT模型解读
热门文章
- 使用异步Servlet改进应用性能
- JPA时间注解(转)
- 计算机界名人榜-----约翰·冯·诺依曼
- Jquery 【select 通过value来寻找对应的项name】
- 手写简版spring --5--资源加载器解析文件注册对象
- 大数运算(7)——大数阶乘(求阶乘)
- 计算机应用主要学PS,全国计算机一级Photoshop应用试题及答案
- android客户端证书到期了,在Android设备上生成客户端证书
- 【译】Thoughts and Goals on Qtum's x86 VM
- 【译】Diving Into The Ethereum VM Part 2 — How I Learned To Start Worrying And Count The Storage Cost