【c#教程】C# 字符串(String)

C# 字符串(String)

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

创建 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: Rowan AtkinsonGreetings: HelloMessage: Hello From Tutorials PointMessage: Message sent at 5:58 PM on Wednesday, October 10, 2012

登录后复制

String 类的属性

String 类有以下两个属性:

序号

属性名称 & 描述

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

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

String 类的方法

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

序号

方法名称 & 描述

1    public static int Compare( string strA, string strB ) 
比较两个指定的 string 对象,并返回一个表示它们在排列顺序中相对位置的整数。该方法区分大小写。    

2    public static int Compare( string strA, string strB, bool ignoreCase ) 
比较两个指定的 string 对象,并返回一个表示它们在排列顺序中相对位置的整数。但是,如果布尔参数为真时,该方法不区分大小写。    

3    public static string Concat( string str0, string str1 ) 
连接两个 string 对象。    

4    public static string Concat( string str0, string str1, string str2 ) 
连接三个 string 对象。    

5    public static string Concat( string str0, string str1, string str2, string str3 ) 
连接四个 string 对象。    

6    public bool Contains( string value ) 
返回一个表示指定 string 对象是否出现在字符串中的值。    

7    public static string Copy( string str ) 
创建一个与指定字符串具有相同值的新的 String 对象。    

8    public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count ) 
从 string 对象的指定位置开始复制指定数量的字符到 Unicode 字符数组中的指定位置。    

9    public bool EndsWith( string value ) 
判断 string 对象的结尾是否匹配指定的字符串。    

10    public bool Equals( string value ) 
判断当前的 string 对象是否与指定的 string 对象具有相同的值。    

11    public static bool Equals( string a, string b ) 
判断两个指定的 string 对象是否具有相同的值。    

12    public static string Format( string format, Object arg0 ) 
把指定字符串中一个或多个格式项替换为指定对象的字符串表示形式。    

13    public int IndexOf( char value ) 
返回指定 Unicode 字符在当前字符串中第一次出现的索引,索引从 0 开始。    

14    public int IndexOf( string value ) 
返回指定字符串在该实例中第一次出现的索引,索引从 0 开始。    

15    public int IndexOf( char value, int startIndex ) 
返回指定 Unicode 字符从该字符串中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。    

16    public int IndexOf( string value, int startIndex ) 
返回指定字符串从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。    

17    public int IndexOfAny( char[] anyOf ) 
返回某一个指定的 Unicode 字符数组中任意字符在该实例中第一次出现的索引,索引从 0 开始。    

18    public int IndexOfAny( char[] anyOf, int startIndex ) 
返回某一个指定的 Unicode 字符数组中任意字符从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。    

19    public string Insert( int startIndex, string value ) 
返回一个新的字符串,其中,指定的字符串被插入在当前 string 对象的指定索引位置。    

20    public static bool IsNullOrEmpty( string value ) 
指示指定的字符串是否为 null 或者是否为一个空的字符串。    

21    public static string Join( string separator, params string[] value ) 
连接一个字符串数组中的所有元素,使用指定的分隔符分隔每个元素。    

22    public static string Join( string separator, string[] value, int startIndex, int count ) 
链接一个字符串数组中的指定元素,使用指定的分隔符分隔每个元素。    

23    public int LastIndexOf( char value ) 
返回指定 Unicode 字符在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。    

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

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

26    public string Remove( int startIndex, int count ) 
从当前字符串的指定位置开始移除指定数量的字符,并返回字符串。    

27    public string Replace( char oldChar, char newChar ) 
把当前 string 对象中,所有指定的 Unicode 字符替换为另一个指定的 Unicode 字符,并返回新的字符串。    

28    public string Replace( string oldValue, string newValue ) 
把当前 string 对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。    

29    public string[] Split( params char[] separator ) 
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。    

30    public string[] Split( char[] separator, int count ) 
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。int 参数指定要返回的子字符串的最大数目。    

31    public bool StartsWith( string value ) 
判断字符串实例的开头是否匹配指定的字符串。    

32    public char[] ToCharArray()
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组。    

33    public char[] ToCharArray( int startIndex, int length ) 
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组,从指定的索引开始,直到指定的长度为止。    

34    public string ToLower()
把字符串转换为小写并返回。    

35    public string ToUpper()
把字符串转换为大写并返回。    

36    public string Trim()
移除当前 String 对象中的所有前导空白字符和后置空白字符。    

上面的方法列表并不详尽,请访问 MSDN 库,查看完整的方法列表和 String 类构造函数。

实例

下面的实例演示了上面提到的一些方法:

比较字符串

using System;namespace StringApplication{   class StringProg   {      static void Main(string[] args)      {         string str1 = "This is test";         string str2 = "This is text";         if (String.Compare(str1, str2) == 0)         {            Console.WriteLine(str1 + " and " + str2 +  " are equal.");         }         else         {            Console.WriteLine(str1 + " and " + str2 + " are not equal.");         }         Console.ReadKey() ;      }   }}

登录后复制

当上面的代码被编译和执行时,它会产生下列结果:

This is test and This is text are not equal.

登录后复制

字符串包含字符串:

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.

登录后复制

获取子字符串:

using System;namespace StringApplication{   class StringProg   {      static void Main(string[] args)      {         string str = "Last night I dreamt of San Pedro";         Console.WriteLine(str);         string substr = str.Substring(23);         Console.WriteLine(substr);      }      Console.ReadKey() ;   }}

登录后复制

当上面的代码被编译和执行时,它会产生下列结果:

San Pedro

登录后复制

连接字符串:

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("", starray);         Console.WriteLine(str);      }      Console.ReadKey() ;   }}

登录后复制

当上面的代码被编译和执行时,它会产生下列结果:

Down the way nights are darkAnd the sun shines daily on the mountain topI took a trip on a sailing shipAnd when I reached JamaicaI made a stop

登录后复制

 以上就是【c#教程】C# 字符串(String)的内容,更多相关内容请关注PHP中文网(www.php.cn)!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2553411.html

(0)
上一篇 2025年3月6日 06:44:05
下一篇 2025年3月6日 06:44:16

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 【c#教程】C# 可空类型(Nullable)

    C# 可空类型(Nullable) C# 可空类型(Nullable) c# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。 例如,Nullable,读作…

    编程技术 2025年3月6日
    000
  • 【c#教程】C# 枚举(Enum)

    C# 枚举(Enum) 枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值数据类型。换句话说,枚举包含自己的值,且不能继承或传递继承。 声明 enum 变量 声明枚举的一般语法: enum {     enum…

    编程技术 2025年3月6日
    200
  • 【c#教程】C# 类(Class)

    C# 类(Class) 当您定义一个类时,您定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量成为类的成员。 类…

    编程技术 2025年3月6日
    200
  • C# 返回图片的字节流byte[]

    #region 返回图片的字节流byte[]        ///         /// 返回图片的字节流byte[]        ///         ///        ///        ///         public…

    编程技术 2025年3月6日
    200
  • C# 判断远程文件是否存在

    #region 判断远程文件是否存在       ///        /// 判断远程文件是否存在       ///        ///       ///        public static bool RemoteFileEx…

    编程技术 2025年3月6日
    200
  • C# 移除字符串末尾指定字符

    #region 移除字符串末尾指定字符      ///        /// 移除字符串末尾指定字符       ///        ///需要移除的字符串       ///指定字符       /// 移除后的字符串       p…

    编程技术 2025年3月6日
    200
  • C# 字符串中多个连续空格转为一个空格

    #region 字符串中多个连续空格转为一个空格     ///      /// 字符串中多个连续空格转为一个空格     ///      ///待处理的字符串     /// 合并空格后的字符串     public static s…

    编程技术 2025年3月6日
    200
  • C# 杀掉后台进程

    var p = Process.GetProcessesByName(“WINWORD”);            if (p.Any())            {                for (int i = 0; i 刚开始…

    2025年3月6日
    200
  • C++ Assert()断言机制原理以及使用

    msdn原文如是说: Evaluates an expression and, when the result is false, prints a diagnostic++ message and aborts the program. …

    编程技术 2025年3月6日
    200
  • C++复习要点总结(一)

    c++++对c语言的加强——类型加强 1. register 关键字增强 register关键字 请求编译器让变量直接放在寄存器里面,速度快。 在c语言中 register修饰的变量 不能取地址;在c++中可以取地址。 2. 变量检测增强 …

    编程技术 2025年3月6日
    200

发表回复

登录后才能评论