【终结版】C#常用函数和方法集汇总

C#里面的常用的函数和方法非常重要,然而做题的时候会经常忘记这些封装好的方法,所以我总结一下 C#常用函数和方法集。

【1】C#操作字符串的常用使用方法

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

一.创建 String 对象

  • 通过给 String 变量指定一个字符串
  • 通过使用 String 类构造函数
  • 通过使用字符串串联运算符( + )
  • 通过检索属性或调用一个返回字符串的方法
  • 通过格式化方法来转换一个值或对象为它的字符串表示形式
using System;namespace StringApplication
{class Program{static void Main(string[] args){//字符串,字符串连接string fname, lname;fname = "Rowan";lname = "Atkinson";string fullname = fname + lname;Console.WriteLine("Full Name: {0}", fullname);//通过使用 string 构造函数char[] letters = { 'H', 'e', 'l', 'l','o' };string greetings = new string(letters);Console.WriteLine("Greetings: {0}", greetings);//方法返回字符串string[] sarray = { "Hello", "From", "Tutorials", "Point" };string message = String.Join(" ", sarray);Console.WriteLine("Message: {0}", message);//用于转化值的格式化方法DateTime waiting = new DateTime(2012, 10, 10, 17, 58, 1);string chat = String.Format("Message sent at {0:t} on {0:D}", waiting);Console.WriteLine("Message: {0}", chat);Console.ReadKey() ;}}
}

 结果为:

Full Name: RowanAtkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 17:58 on Wednesday, 10 October 2012

二.String 类的属性

String 类有以下两个属性:

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

string s = "Test";
for (int i= 0; i <= s.Length - 1; i++ )
Console.Write("{0} ", s[i]);    
输出:  T e s t

 2.2  Length:在当前的 String 对象中获取字符数。

string characters = "abc\u0000def";
Console.WriteLine(characters.Length);    // Displays 7   

 三、String 类的方法

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

 3.1字符串常用的静态方法

 3.1.1  

方法 :Compare 字符串的比较(按照字典顺序)

方法名称:public static int Compare( string strA, string strB )

描述 :比较两个指定的 string 对象,并返回一个表示它们在排列顺序中相对位置的整数。该方法区分大小写。

示例 :

int result= string.Compare(string str1,string str2); 当str1 > str2时,返回1当str1 = str2时,返回0当str1 < str2时,返回-1string.Compare(string str1,string str2,bool ignoreCase)   //忽略大小写比较
string s1 = "ani\u00ADmal";
string s2 = "animal";
Console.WriteLine("Comparison of '{0}' and '{1}': {2}", s1, s2, String.Compare(s1, s2));
输出为0
原因:
字符集包括可忽略的字符。 Compare(String,String)方法在执行文化敏感比较时不考虑这些字符。 例如,如果以下代码在.NET Framework 4或更高版本上运行,则“动物”与“动画”(使用软连字符或U + 00AD)的文化敏感比较表明这两个字符串是相当量。

详见:ASCII码对照表

 3.1.2

方法:Concat连接方法参数很多,常用的Concat(string str1string str2);

方法名称:public static string Concat( string str0, string str1 ) 

描述:连接两个 string 对象。

示例:

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

3.1.3

方法:Format参数化处理,相当于Console.WriteLine();

方法名称:public static string Format( string format, Object arg0 ) 

描述:把指定字符串中一个或多个格式项替换为指定对象的字符串表示形式。

示例:

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

3.1.4

方法:IsNullOrEmpty判断字符是否为null或者为空,返回值为bool

方法名称:public static bool IsNullOrEmpty( string value ) 

描述:指示指定的字符串是否为 null 或者是否为一个空的字符串。

示例: 

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;

 3.1.5

方法:Join字符串的合并

方法名称:public static string Join( string separator, string[] value )

描述:连接一个字符串数组中的所有元素,使用指定的分隔符分隔每个元素。

示例: 

using System;namespace StringApplication
{class StringProg{static void Main(string[] args){string[] starray = new string[]{"Down the way nights are dark","And the sun shines daily on the mountain top","I took a trip on a sailing ship","And when I reached Jamaica","I made a stop"};string str = String.Join("\n", starray);Console.WriteLine(str);Console.ReadKey() ;}}
}当上面的代码被编译和执行时,它会产生下列结果:
Down the way nights are dark
And the sun shines daily on the mountain top
I took a trip on a sailing ship
And when I reached Jamaica
I made a stop

3.2 字符串常用的实例方法

3.2.1

方法:Contains 判断字符串中是否包含某个字符,返回bool值。

方法名称:public bool Contains( string value ) 

描述:返回一个表示指定 string 对象是否出现在字符串中的值。

示例:

using System;namespace StringApplication
{class StringProg{static void Main(string[] args){string str = "This is test";if (str.Contains("test")){Console.WriteLine("The sequence 'test' was found.");}Console.ReadKey() ;}}
}
当上面的代码被编译和执行时,它会产生下列结果:
The sequence 'test' was found.

3.2.2

方法:EndsWithStartsWith  判断是否是已某种字符串开始或者结束

方法名称:public bool EndsWith( string value )

描述:判断 string 对象的结尾是否匹配指定的字符串。

 方法名称:public bool StartsWith( string value )

 描述:判断字符串实例的开头是否匹配指定的字符串。

 示例: 

string str="好大的雨呀";bool  b1=str.StartsWith("");//b1=false;bool  b2-str.EndsWith("");//b2=true;

 3.2.3

方法:Equals 比较两个字符串是否相等

方法名称:public static bool Equals( string a, string b )

描述:判断两个指定的 string 对象是否具有相同的值。

示例:

string str1="asd";
string str2="ert";
bool  b = str1.Equals(str2);  //b=false;bool <strName>.Equals(string str, StringComparison.OrdinalIgnoreCase)   //表示不区分大小写

3.2.4

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

方法名称:

描述:

public int IndexOf( char value )

返回指定 Unicode 字符在当前字符串中第一次出现的索引,索引从 0 开始。 

 public int IndexOf( string value )

 返回指定字符串在该实例中第一次出现的索引,索引从 0 开始。

  public int IndexOf( char value, int startIndex )

 返回指定 Unicode 字符从该字符串中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。

 public int IndexOf( string value, int startIndex )

 返回指定字符串从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。

 public int LastIndexOf( char value )

返回指定 Unicode 字符在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。

 public int LastIndexOf( string value )

 返回指定字符串在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。

 示例:

string str ="今天的雨很大,天很冷";int i=str.IndexOf(""); //i=4;int i=str.LastIndexOf("");//j=8;
int m=str.IndexOf("");//m=-1;

3.2.5

方法:Replace 字符串(字符也是可以的)替换,返回新的字符串

方法名称:

描述:

public string Replace( char oldChar, char newChar ) 

把当前 string 对象中,所有指定的 Unicode 字符替换为另一个指定的 Unicode 字符,并返回新的字符串。

public string Replace( string oldValue, string newValue )

 把当前 string 对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。

 示例:

s ="A_B_C_D";
Console.WriteLine(s.Replace('_', '-')); // 把字符串中的'_'字符替换为'-',输出"A-B-C-D"
Console.WriteLine(s.Replace("_", "")); // 把字符串中的"_"替换为空字符串,输出"A B C D"
Console.WriteLine();

3.2.6

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

方法名称:public string Insert( int startIndex, string value )

描述:返回一个新的字符串,其中,指定的字符串被插入在当前 string 对象的指定索引位置。

示例:

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

3.2.7

方法:Remove删除字符串(字符)

方法名称:

描述:

public string Remove( int startIndex )

移除当前实例中的所有字符,从指定位置开始,一直到最后一个位置为止,并返回字符串。

 public string Remove( int startIndex, int count )

从当前字符串的指定位置开始移除指定数量的字符,并返回字符串。

示例:

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

3.2.8

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

方法名称:

描述:

public string[] Split( params char[] separator )

返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。

 public string[] Split( char[] separator, int count )

返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。int 参数指定要返回的子字符串的最大数目。

示例:

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

3.2.9

方法:Substring 截取字符<str>index开始截取,并截取lenth个字符(string <str>.Substring(index,lenth))

示例:

string str="还在下雨";
string s=str.Substring(2,2);//s="下雨";
 s ="ABCD";
Console.WriteLine(s.Substring(1)); // 从第2位开始(索引从0开始)截取一直到字符串结束,输出"BCD"
Console.WriteLine(s.Substring(1, 2)); // 从第2位开始截取2位,输出"BC"
Console.WriteLine();

 3.2.10

方法:ToCharArray将字符串转化为字符数组(<string>.ToCharArray()

方法名称:

描述:

public char[] ToCharArray()

返回一个带有当前 string 对象中所有字符的 Unicode 字符数组。

 public char[] ToCharArray( int startIndex, int length )

返回一个带有当前 string 对象中所有字符的 Unicode 字符数组,从指定的索引开始,直到指定的长度为止。

示例:

//打散为字符数组(ToCharArray)
s ="ABCD";
char[] arr = s.ToCharArray(); // 把字符串打散成字符数组{'A','B','C','D'}
Console.WriteLine(arr[0]); // 输出数组的第一个元素,输出"A"
Console.WriteLine();

3.2.11

方法:Trim() 出去两边的空格

方法名称:

public string Trim()

描述:移除当前 String 对象中的所有前导空白字符和后置空白字符。

示例(补充):

string str="  dd  ";
string s=str.Trim();//s="dd";
截头去尾(Trim)
s ="__AB__CD__";
Console.WriteLine(s.Trim('_')); // 移除字符串中头部和尾部的'_'字符,输出"AB__CD"
Console.WriteLine(s.TrimStart('_')); // 移除字符串中头部的'_'字符,输出"AB__CD__"
Console.WriteLine(s.TrimEnd('_')); // 移除字符串中尾部的'_'字符,输出"__AB__CD"
Console.WriteLine();

3.2.12

方法:ToUpper(转换为大写)和ToLower(转换为小写)

方法名称:

描述:

public string ToLower()

把字符串转换为小写并返回。

public string ToUpper()

把字符串转换为大写并返回。

示例:

string s="RaSer";string s1=s.ToUpper();//s1="RASER";string s2=s.ToLower();//s2="raser";

3.2.13

方法:填充对齐(PadLeftPadRight

示例:

s ="ABCD";
Console.WriteLine(s.PadLeft(6, '_')); // 使用'_'填充字符串左部,使它扩充到6位总长度,输出"__ABCD"
Console.WriteLine(s.PadRight(6, '_')); // 使用'_'填充字符串右部,使它扩充到6位总长度,输出"ABCD__"
Console.WriteLine();

【2】DateTime 数字型

方法:System.DateTime currentTime=new System.DateTime();

1.1 取当前年月日时分秒 

currentTime=System.DateTime.Now;

1.2 取当前年//////毫秒

int 年=currentTime.Year;//.Day//.Hour//.Minute//.Second//.Millisecond

 1.3 取中文日期显示——年月日时分 

string strY=currentTime.ToString("f"); //不显示秒

1.4 取中文日期显示_年月

string strYM=currentTime.ToString("y");

1.5 取中文日期显示_月日

string strMD=currentTime.ToString("m");

1.6 取当前年月日,格式为:2003-9-23

string strYMD=currentTime.ToString("d");

1.7 取当前时分,格式为:1424 

string strT=currentTime.ToString("t");

【3】字符型转换位数字型

Int32.Parse(变量) Int32.Parse("常量")

【4】变量.ToString()

字符型转换 转为字符串 
12345.ToString("n"); //生成 12,345.00 
12345.ToString("C"); //生成 ¥12,345.00 
12345.ToString("e"); //生成 1.234500e+004 
12345.ToString("f4"); //生成 12345.0000 
12345.ToString("x"); //生成 3039 (16进制) 
12345.ToString("p"); //生成 1,234,500.00% 

【5】字码转换转为比特码

System.Text.Encoding.Default.GetBytes(变量) 如:byte[] bytStr = System.Text.Encoding.Default.GetBytes(str); 然后可得到比特长度: len = bytStr.Length; 

【6】System.Text.StringBuilder("")

如:
System.Text.StringBuilder sb = new System.Text.StringBuilder(""); 
sb.Append("中华"); 
sb.Append("人民"); 
sb.Append("共和国");

【7】把字符转为数字,查代码点,注意是单引号。 

(int)'字符' 如: console.Write((int)''); //结果为中字的代码:20013

【8】把数字转为字符,查代码代表的字符:(char)代码

console.Write((char)22269); //返回“国”字。

【9】取i与j中的最大值:Math.Max(i,j) 

int x=Math.Max(5,10); // x将取值 10

【10】反转整个一维Array中元素的顺序

char[] charArray = "abcde".ToCharArray();
Array.Reverse(charArray);
Console.WriteLine(new string(charArray));

【11】判断一个字符串中的第n个字符是否是大写

string str="abcEEDddd";
Response.Write(Char.IsUpper(str,3));

 参考文章:

1.微软文档string

 2.菜鸟教程

3.http://dev.yesky.com/msdn/407/2261407.shtml

友情提示

作者: mhq_martin

博客园地址: http://www.cnblogs.com/mhq-martin/

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 

转载于:https://www.cnblogs.com/mhq-martin/p/8675310.html

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

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

相关文章

glassfish_重写到边缘–充分利用它! 在GlassFish上!

glassfish现代应用程序开发的一个重要主题是重写。 自从Java Server Faces引入和Java EE 6中新的轻量级编程模型以来&#xff0c;您一直在努力使用漂亮&#xff0c;简单&#xff0c;可添加书签的URL。 PrettyFaces已有一段时间了&#xff0c;即使我可以说服它在3.3.3版本中被称…

BZOJ 4557 JLOI2016 侦查守卫 树形dp

题目链接&#xff1a;https://www.lydsy.com/JudgeOnline/problem.php?id4557 题意概述&#xff1a; 给出一棵树&#xff0c;每个点付出代价w[i]可以控制距离和它不超过d的点&#xff0c;现在给出一些点&#xff0c;问控制这些点的最小代价是多少。 分析: 观察一下数据范围发现…

Java6上开发WebService

Java6上开发WebService 2010-01-23 16:19:00 标签&#xff1a;Java6 WebService 休闲 职场 版权声明&#xff1a;原创作品&#xff0c;如需转载&#xff0c;请与作者联系。否则将追究法律责任。 近日朋友问起Java开发WebService的问题&#xff0c;于是为其写了一份简单说明&…

bzoj 1124 [POI2008]枪战Maf 贪心

[POI2008]枪战Maf Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 741 Solved: 295[Submit][Status][Discuss]Description 有n个人&#xff0c;每个人手里有一把手枪。一开始所有人都选定一个人瞄准&#xff08;有可能瞄准自己&#xff09;。然后他们按某个顺序开枪&#x…

20165234 《Java程序设计》第五周学习总结

第五周学习总结 教材学习内容总结 第七章 内部类与异常类 内部类内部类&#xff1a;在一个类中定义另一个类。 外嵌类&#xff1a;包含内部类的类&#xff0c;称为内部类的外嵌类。 内部类的类体中不能声明类变量和类方法。外嵌类的类体中可以用内部类声明对象&#xff0c;作为…

美国华尔街拥抱区块链是最大的威胁

Overstock的首席执行官帕特里克伯恩宣布证券交易委员会已批准其计划在区块链上发行股票&#xff0c;该区块链是推动比特币数字货币的巨大在线分类账。 这是一个重要的时刻。至少在理论上&#xff0c;区块链可以更有效&#xff0c;准确和公开地跟踪股票&#xff0c;债券和其他金…

java枚举和枚举类_Java枚举:您拥有优雅,优雅和力量,这就是我所爱!

java枚举和枚举类当Java 8即将面世时&#xff0c;您确定您对Java 5中引入的枚举很熟悉吗&#xff1f; Java枚举仍然被低估了&#xff0c;很可惜&#xff0c;因为它们比您想象的要有用&#xff0c;它们不仅仅用于通常的枚举常量&#xff01; Java枚举是多态的 Java枚举是可以包…

【SpringCloud】第五篇: 路由网关(zuul)

前言: 必需学会SpringBoot基础知识 简介: spring cloud 为开发人员提供了快速构建分布式系统的一些工具&#xff0c;包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等。它运行环境简单&#xff0c;可以在开发人员的电脑上跑。 工具:…

如何更新Jenkins作业发布config.xml

最近&#xff0c;我想更新Cloudbees中的一些作业&#xff08;未使用DSL定义&#xff09;&#xff0c;为每个作业添加一些属性。 好吧&#xff0c;我在使其工作时遇到了一些麻烦&#xff0c;这是我的注意事项&#xff08;我使用的是Jenkins 1.651.2.1&#xff0c;但有可能它应与…

月下“毛景树”

Description 毛毛虫经过及时的变形&#xff0c;最终逃过的一劫&#xff0c;离开了菜妈的菜园。 毛毛虫经过千山万水&#xff0c;历尽千辛万苦&#xff0c;最后来到了小小的绍兴一中的校园里。爬啊爬~爬啊爬~~毛毛虫爬到了一颗小小的“毛景树”下面&#xff0c;发现树上长着他最…

自由口通信模式下计算机读写PLC存储区的程序

自由口通信模式下计算机读写PLC存储区的程序 2008-8-20 8:51:00 来源&#xff1a;摘 要&#xff1a;本文介绍了在自由口通信模式下&#xff0c;用计算机读写S7-200 PLC存储区内相邻的多个字节数据的通信程序设计方法&#xff0c;程序设计中采用了多种可靠性措施。 关键词&…

Zookeeper入门

ZooKeeper 是一个开源的分布式协调架&#xff0c;主要用来解决分布式集群中应用系统的一致性问题 本质 分布式的文件存储系统(Zookeeper文件系统监听机制)&#xff0c;是一个基于观察者模式设计的分布式服务管理框架 zookeeper的数据结构 Zookeeper的层次模型称作Data Tree,…

【laravel5.4】重定向带参数

1、 2、重定向回上一页面 3、返回上一页面带参数 转载于:https://www.cnblogs.com/xuzhengzong/p/8715463.html

Google Protocol Buffers 2.3.0 for java 快速开始

Google Protocol Buffers &#xff12;.3.0 for java 快速开始 博客分类&#xff1a; Java JavaGoogleUbuntuLinux数据结构Protocol Buffers是一个平台中立&#xff0c;编程语言无关的&#xff0c;可扩展的机制&#xff0c;是用于结构化数据串行化的灵活、高效、自动的方法&a…

[MEGA DEAL]终极Java捆绑包(95%折扣)

通过114个小时的培训来掌握这种流行的编码语言&#xff0c;从而开始您的编程奥德赛 嘿&#xff0c;怪胎&#xff0c; 本周&#xff0c;在我们的JCG Deals商店中 &#xff0c;我们提供了一个极端的报价 。 我们提供的Ultimate Java Bundle 仅售69美元&#xff0c;而不是原始价…

android与PC,C#与Java 利用protobuf 进行无障碍通讯【Socket】

android与PC&#xff0c;C#与Java 利用protobuf 进行无障碍通讯【Socket】 2011-04-27 17:00:11 标签&#xff1a;休闲 Java Socket 移动开发 android 原创作品&#xff0c;允许转载&#xff0c;转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律…

jenkins api_接触Jenkins(Hudson)API,第1部分

jenkins api哪一个-哈德森还是詹金斯&#xff1f; 都。 几个月前&#xff0c;我开始使用Hudson v1.395来从事这个小项目&#xff0c;在出现巨大分歧之后又回到了这个项目。 我以此为契机&#xff0c;看我将来选择永久搬到詹金斯时是否会遇到任何重大问题。 出现了一些麻烦-最值…

Swing应用程序中的JavaFX 8 DatePicker

1.概述 本文显示了一个使用JavaFX 8 DatePicker控件的Java SE 8 Swing应用程序的示例。 DatePicker控件允许用户以文本形式输入日期或从日历弹出窗口中选择日期。 本示例使用其中带有FX控件的Swing JFrame 。 为了将FX内容嵌入Swing应用程序中&#xff0c; javafx.embed.swing…

Apache Bench安装与使用

转载&#xff1a;ApacheBench&#xff08;ab&#xff09;使用详解 一、Apache Bench简介 ApacheBench 是 Apache 服务器自带的一个web压力测试工具&#xff0c;简称ab。ab又是一个命令行工具&#xff0c;对发起负载的本机要求很低&#xff0c;根据ab命令可以创建很多的并发访问…

轻松搭建一个Windows SVN服务器

轻松搭建一个Windows SVN服务器 前文所述SVN客户端使用的时候&#xff0c;用的SVN服务器通常为外部&#xff0c;例如Google Code的服务器&#xff0c;不过&#xff0c;做为一个程序开发人员&#xff0c;就算自己一个人写程序&#xff0c;也应该有一个SVN版本控制系统&#xff0…