首页 > 编程语言 >C# 从死磕到精通系列 string 类型

C# 从死磕到精通系列 string 类型

时间:2022-10-28 17:04:46浏览次数:52  
标签:字符 精通 string C# 指定 System 实例 字符串 String


首先看下string 类型支持的常见方法:

像:1.ToString 将其他类型转换为string类型。null 不可转。(据说现在最新版可以支持了)

        2.Split    根据指定字符切换字符串返回 string [] 数组类型

        3.Compare 比较两个字符 这个看下他的源码:

  

//
// 摘要:
// 比较两个指定的 System.String 对象,并返回一个指示二者在排序顺序中的相对位置的整数。
//
// 参数:
// strA:
// 要比较的第一个字符串。
//
// strB:
// 要比较的第二个字符串。
//
// 返回结果:
// 一个 32 位带符号整数,指示两个比较数之间的词法关系。值Condition小于零strA 小于 strB。零strA 等于 strB。大于零strA 大于
// strB。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static int Compare(String strA, String strB);

4.Concat 链接多个字符  返回string 类型字符串 。

5.Copy  创建一个与指定的 System.String 具有相同值的 System.String 的新实例。

6.Equals   确定两个指定的 System.String 对象是否具有相同的值。参数指定区域性、大小写以及比较所用的排序规则。

7.Format 将指定字符串中的格式项替换为指定数组中相应对象的字符串表示形式。参数提供区域性特定的格式设置信息。

8.IsNullOrEmpty   指示指定的字符串是 null 还是 System.String.Empty 字符串。

9.IsNullOrWhiteSpace  指示指定的字符串是 null、空还是仅由空白字符组成。

10.Join 串联集合的成员,其中在每个成员之间使用指定的分隔符。

11.CompareTo  将此实例与指定的 System.Object 进行比较,并指示此实例在排序顺序中是位于指定的 System.Object 之前、之后还是与其出现在同一位置。

12.Contains  返回一个值,该值指示指定的子串是否出现在此字符串中。

13.EndsWith  确定此字符串实例的结尾是否与指定的字符串匹配。

14.Equals  确定此实例是否与另一个指定的 System.String 对象具有相同的值。

15.IndexOf  报告指定的字符串在当前 System.String 对象中的第一个匹配项的从零开始的索引。参数指定当前字符串中的起始搜索位置、要搜索的当前字符串中的字符数量,以及要用于指定字符串的搜索类型。

16.LastIndexOf         如果找到该字符串,则为 value 的从零开始的索引位置;如果未找到该字符串,则为 -1。如果 value 为 System.String.Empty,则返回值为此实例中的最后一个索引位置。

17. PadLeft 返回一个新字符串,该字符串通过在此实例中的字符左侧填充指定的 Unicode 字符来达到指定的总长度,从而使这些字符右对齐。 这个很有意思

18. PadRight 返回一个新字符串,该字符串通过在此字符串中的字符右侧填充指定的 Unicode 字符来达到指定的总长度,从而使这些字符左对齐。

19. Remove  返回指定数量字符在当前这个实例起始点在已删除的指定的位置的新字符串

20. Replace  返回一个新字符串,其中此实例中出现的所有指定 Unicode 字符都替换为另一个指定的 Unicode 字符。

21.StartsWith 确定在使用指定的比较选项进行比较时此字符串实例的开头是否与指定的字符串匹配。

22. Substring  从此实例检索子字符串。子字符串从指定的字符位置开始且具有指定的长度。

23.ToCharArray  将此实例中的字符复制到 Unicode 字符数组。

24.ToLower 返回此字符串转换为小写形式的副本。 

25.ToUpper 根据指定区域性的大小写规则返回此字符串转换为大写形式的副本。

26.Trim  从当前 System.String 对象移除所有前导空白字符和尾部空白字符。

27.TrimEnd 从当前 System.String 对象移除数组中指定的一组字符的所有尾部匹配项。

28.TrimStart   从当前 System.String 对象移除数组中指定的一组字符的所有前导匹配项。

比如:

string str = "$abc123*";
Console.WriteLine(str.TrimEnd('*'));
Console.WriteLine(str.TrimStart('$'));
Console.WriteLine(str.PadLeft(10,'0'));
Console.WriteLine(str.PadRight(10, '0'));

输出:

$abc123
abc123*
00$abc123*
$abc123*00

标签:字符,精通,string,C#,指定,System,实例,字符串,String
From: https://blog.51cto.com/51souta/5805154

相关文章

  • C# webAPI +access+xadmin+layui 前端
    1.首先创建webAPI项目: 2.创建DAL类库,用户访问数据库。添加AccessHelper封装一个数据库访问类:usingSystem;usingSystem.Collections.Generic;usingSystem.Data;using......
  • 通过抹黑java等其他语言提升C# 存在感?NO NO
    今天在写业务的时候突然看到了以前封装的java库里关于java时间格式化的代码。感觉到了深深的恶意感。来一起看下java的: 还有一个合并后后的再来看一个golang的 Golang格......
  • C# UpdClient 发送16进制
    C#如何发送已知"77852563821574"这样的16进制?publicstaticbyte[]HexStringToBytes(stringhs){string[]strArr=hs.Trim(......
  • MHATC系统笔记2
    Tip:1、修改FDO.jar解决导入长期计划时,如果航路为空导入不成功问题;原来的代码是有条件删除长期计划历史库中的数据,导致从长期计划向长期计划历史库中转存数据时两个表中存在......
  • 问题定位记录1:Djano-redis库报错No connection available
    一、问题现象MANO(网络管理与编排软件)原子层创建资源后写redis缓存时报错Noconnectionavaiable堆栈打印:Traceback(mostrecentcalllast): File"/home/oes/.loca......
  • Flutter开发之Scaffold组件快速开发APP
    Scaffold包括的属性constScaffold({Key?key,PreferredSizeWidget?appBar,Widget?body,Widget?floatingActionButton,FloatingActionButtonLocation?floatingAct......
  • 智能分析网关使用教程:如何在EasyCVR视频融合平台配置告警与抓拍?
    AI智能分析网关设备内置多种深度学习算法,可支持对接入的多路视频流进行智能检测、智能识别等,包括人脸检测与识别、车辆检测与识别、车牌识别、烟火识别、安全帽识别、区域入......
  • AI车辆识别视频融合平台EasyCVR告警预案如何关联国标通道?
    在前期的文章中我们介绍了关于EasyCVR平台新增的告警预案功能及开发流程,今天我们来分享一下如何将告警预案关联国标通道。告警预案可以根据告警类型、告警级别、告警方式、......
  • centos7安装gitlab
    centos7安装gitlabgitlab下载地址 https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-12.7.8-ce.0.el7.x86_64.rpm 1、安装相关依赖yum-yinstal......
  • app.config ConfigurationHelper
    usingSystem;usingSystem.Configuration;namespaceEncryptTool{///<summary>///用于XML操作///</summary>publicclassConfigurationHelp......