C# 字符串(String)

在 C# 中,您可以使用字符数组来表示字符串,但更常见的做法是使用 string 关键字来声明一个字符串变量。string 关键字是 System.String 类的别名。

1.String 类的属性

String 类有以下两个属性:

Chars
在当前 String 对象中获取 Char 对象的指定位置。

序号 属性
1 Chars
在当前 String 对象中获取 Char 对象的指定位置。
2 Length
在当前的 String 对象中获取字符数。

2.String 类的方法

String 类有许多方法用于 string 对象的操作。下面提供了一些最常用的方法:

一、字符串常用的静态方法:

  1、Compare 字符串的比较(按照字典顺序)

    int result= string.Compare(string str1,string str2);

    当str1 > str2时,返回1

    当str1 = str2时,返回0

    当str1 < str2时,返回-1

    string.Compare(string str1,string str2,bool ignoreCase)   //忽略大小写比较

  2、Concat连接方法参数很多,常用的Concat(string str1,string str2);

    string str=string.Concat("w","e"); //str="we";

  3、Format参数化处理,相当于Console.WriteLine();

    string str=String.Format("今天{0}很热","天气");//str="今天天气很热";

  4、IsNullOrEmpty判断字符是否为null或者为空,返回值为bool;

    string str1="hahha";    

    bool b1=string.IsNullOrEmpty(str);//b1=false;

    string str2="";

    bool b2=string.IsNullOrEmpty(str2);//b2=true;

    string str3=null;

    bool b3=string.IsNullOrEmpty(str3);//b3=true;

  5、Join字符串的合并

    string.Join(string str,string[] strArr);//将数组strArr中的内容拼接成一个新的字符串,并在对应数组的每两项间添加分隔符str

    string strs=string.Join(",",string[]{"w","e","r","t"});//strs="w,e,r,t";

二、字符串常用的实例方法:

  1、Contains 判断字符串中是否包含某个字符,返回bool值。

    string str="我爱编程";

    bool  b=str.Contains("程");//b=true;

  2、EndsWith和StartsWith  判断是否是已某种字符串开始或者结束

    string str="我好喜欢你";

    bool  b1=str.StartsWith("好");//b1=false;

    bool  b2-str.EndsWith("你");//b2=true;

  3、Equals 比较两个字符串是否相等

    string str1="asd";

    string str2="ert";

    bool  b = str1.Equals(str2);  //b=false;

    bool <strName>.Equals(string str, StringComparison.OrdinalIgnoreCase)   //表示不区分大小写

   4、IndexOf 和 LastIndexOf  判断字符串第一次出现(IndexOf)和最后一次出现(LastIndexOf  )的位置,如果没有出现过则返回值为-1

    string str ="今天的雨很大,天很冷";

    int i=str.IndexOf("很"); //i=4;

    int i=str.LastIndexOf("很");//j=8;

    int m=str.IndexOf("小");//m=-1;

   5、Replace 字符串(字符也是可以的)替换,返回新的字符串

    string str="好困呀";

    string s=str.Replace("困","精神");//s="好精神呀";

   6、Insert 插入

    在字符串的index位置上插入字符,原来的字符依次后移,变成一个新的字符串

    string str="夜深了";

    string s=str.Insert(1,"已经");//  s="夜已经深了"

   7、Remove删除字符串(字符)

    在字符串中移除从startIndex开始,长度为length的字符串,剩下的字符合为一个新的字符串(<strName> = <strName>.Remove(startIndex,length);)

    string str="夜已经深了";

    string s=str.Remove(1,2);//s="夜深了";

   8、Split 将字符串<strName>以sep数组中的字符分割,分割后得到的内容存到一个数组中(string[] <strName>.Split(params char[] sep);)

    string str="我,真的、好困;呀";

    string[] s=str.Split(new char(){',','、',';'});//s=string[]{"我","真的","好困","呀"};

   9、Substring 截取字符<str>以index开始截取,并截取lenth个字符(string <str>.Substring(index,lenth))

    string str="还在下雨";

    string s=str.Substring(2,2);//s="下雨";

   10、ToCharArray将字符串转化为字符数组(<string>.ToCharArray())

     string str="雨已经小了";

     char[] s=str.ToCharArray();//s=char[]{'雨',"已","经","小","了"};

   11、Trim() 出去两边的空格

      string str="  aa  ";

      string s=str.Trim();//s="aa";

   12、ToUpper(转换为大写)和ToLower(转换为小写)

     string s="RaSer";

     string s1=s.ToUpper();//s1="RASER";

     string s2=s.ToLower();//s2="raser";

C# 中 String 类型的详细讲解的更多相关文章

  1. Java中String类型细节

    Java中String类型细节 一 . String两种初始化方式 1 . String str1= “abc”;//String类特有的创建字符对象的方式,更高效 在字符串缓冲区中检测”abc”是否 ...

  2. Java中String类型详解

    这篇博客是我一直想总结的,这两天一直比较忙,先上传下照片吧,过后有时间再弄成正常的. 本文主要是对Java中String类型的总结,包括其在JVM中是怎么存储的...

  3. UWP中String类型如何转换为Windows.UI.Color

    原文:UWP中String类型如何转换为Windows.UI.Color 我在学习过程中遇到的,我保存主题色为string,但在我想让StatusBar随着主题色变化时发现没法使用. ThemeCol ...

  4. Redis 中 String 类型的内存开销比较大

    使用 String 类型内存开销大 1.简单动态字符串 2.RedisObject 3.全局哈希表 使用 Hash 来存储 总结 参考 使用 String 类型内存开销大 如果我们有大量的数据需要来保 ...

  5. C#中string类型是值类型还是引用类型?

    .Net框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一个引用类型,也就是说线程上的堆栈上不会驻留有任何字符串. string类型(引用类型) 名称 CT ...

  6. 【转载】 Java中String类型的两种创建方式

    本文转载自 https://www.cnblogs.com/fguozhu/articles/2661055.html Java中String是一个特殊的包装类数据有两种创建形式: String s ...

  7. C#中string类型是值类型还是引用类型?(转)

    出处:https://www.cnblogs.com/dxxzst/p/8488567.html .Net框架程序设计(修订版)中有这样一段描述:String类型直接继承自Object,这使得它成为一 ...

  8. Hibernate中所有包作用详细讲解

    http://liyanblog.cn/articles/2012/09/17/1347848802900.html Hibernate一共包括了23个jar包,令人眼花缭乱.本文将详细讲解Hiber ...

  9. 关于JAVA中String类型的最大长度

    前些天看到一道面试题,题目很容易理解:String的长度限制是多少? 针对这个题目,浏览了网友的回答,大概得到了3个层次的答案. 最浅的层次: 近似计算机内存大小的长度.这是作为一个程序员最浅显的回答 ...

随机推荐

  1. Python的设计哲学

    Beautiful is better than ugly. 优美胜于丑陋 Explicit is better than implicit. 明了胜于晦涩 Simple is better than ...

  2. ModelAttribute注解使用与spring重定向传参

    @ModelAttribute可以用于修饰controller里的方法和参数,将被修饰的对象的值绑定到指定名称的属性里.当修饰方法时,方法返回的值会在该controller里每个访问处理前绑定一次.修 ...

  3. Spring Cloud Eureka的基础架构

    基础架构 服务注册中心:Eureka提供的服务端,提供服务注册于发现的功能,也就是在上一节中我们实现的eureka-server 服务提供者:提供服务的应用,可以是springBoot应用,也可以是其 ...

  4. delphi 组件容器TObjectList代替List

    delphi 组件容器TObjectList代替List TObjectList objList->delete(0); 这个会释放第0行元素的对象 class TTabFormInfo { p ...

  5. 【转】volatile关键字。编译器不优化,多线程会改。防止随时变动的

    来自:http://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777432.html 1. 为什么用volatile? C/C++ 中的 vol ...

  6. 迷你MVVM框架 avalonjs 0.83发布

    本版本做了如下改进: 重构计算属性, 这是@soom提出的BUG,发现计算属性被某个监控属性向上驱动更新自己时,不会解发$watch回调.详见这里. 强化ms-bind绑定,当第一次扫描时也会执行它的 ...

  7. Python基础语法习题二

    习题: 1.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex', 'eric', 'rain'] 2.查找列表中元素,移除每个元素的空格,并查找以a或A开头并且以c结尾的所有 ...

  8. ShaderForge打造自定义光照模型

    [ShaderForge打造自定义光照模型] 1.Lambert逻辑图. 2.Blinn-Phong逻辑图. 参考:https://www.youtube.com/watch?v=EjCXwV0YYd ...

  9. 64 位 win7 使用PLSQL Developer(转)

    由于 PLSQL Developer 没有64位版本,所以在64位系统上运行该程链接64位Oracle时就会报错,笔者为这个问题纠结了好几天,后来通过请教Google + 动手实践,终于搞定了这个问题 ...

  10. 利用 Chrome 原生工具进行网页长截图

    转自https://sspai.com/post/42193 要想使用截图功能,你需要首先确保 Chrome 已升级至 59 或更高版本.在想要截图的网页中,首先按下 ⌘Command + ⌥Opti ...