Latest web development tutorials

C # String (String)

In C #, you can use an array of characters to represent the strings, but the more common practice is to use thestring keyword to declare a string variable.string keyword is an alias forSystem.String class.

Creating String objects

You can use one of the following methods to create string objects:

  • By String variable to specify a string
  • By using the String class constructor
  • By using string concatenation operator (+)
  • By retrieving the property or call a method that returns a string
  • By formatting method to convert a value or object to its string representation

The following example illustrates this point:

using System;

namespace StringApplication
{
    class Program
    {
        static void Main (string [] args)
        {
           // String, string concatenation string fname, lname;
            fname = "Rowan";
            lname = "Atkinson";

            string fullname = fname + lname;
            Console.WriteLine ( "Full Name: {0}", fullname);

            // By using the string constructor char [] letters = { 'H', 'e', ​​'l', 'l', 'o'};
            string greetings = new string (letters);
            Console.WriteLine ( "Greetings: {0}", greetings);

            // Method returns a string string [] sarray = { "Hello", "From", "Tutorials", "Point"};
            string message = String.Join ( "", sarray);
            Console.WriteLine ( "Message: {0}", message);

            // Formatting method for transformation values ​​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 ();
        }
    }
}

When the above code is compiled and executed, it produces the following results:

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

Property String class

String class has the following two properties:

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

String class methods

String class has many methods for operating string object. The following table provides some of the most common methods:

序号方法名称 & 描述
1public static int Compare( string strA, string strB )
比较两个指定的 string 对象,并返回一个表示它们在排列顺序中相对位置的整数。该方法区分大小写。
2public static int Compare( string strA, string strB, bool ignoreCase )
比较两个指定的 string 对象,并返回一个表示它们在排列顺序中相对位置的整数。但是,如果布尔参数为真时,该方法不区分大小写。
3public static string Concat( string str0, string str1 )
连接两个 string 对象。
4public static string Concat( string str0, string str1, string str2 )
连接三个 string 对象。
5public static string Concat( string str0, string str1, string str2, string str3 )
连接四个 string 对象。
6public bool Contains( string value )
返回一个表示指定 string 对象是否出现在字符串中的值。
7public static string Copy( string str )
创建一个与指定字符串具有相同值的新的 String 对象。
8public void CopyTo( int sourceIndex, char[] destination, int destinationIndex, int count )
从 string 对象的指定位置开始复制指定数量的字符到 Unicode 字符数组中的指定位置。
9public bool EndsWith( string value )
判断 string 对象的结尾是否匹配指定的字符串。
10public bool Equals( string value )
判断当前的 string 对象是否与指定的 string 对象具有相同的值。
11public static bool Equals( string a, string b )
判断两个指定的 string 对象是否具有相同的值。
12public static string Format( string format, Object arg0 )
把指定字符串中一个或多个格式项替换为指定对象的字符串表示形式。
13public int IndexOf( char value )
返回指定 Unicode 字符在当前字符串中第一次出现的索引,索引从 0 开始。
14public int IndexOf( string value )
返回指定字符串在该实例中第一次出现的索引,索引从 0 开始。
15public int IndexOf( char value, int startIndex )
返回指定 Unicode 字符从该字符串中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。
16public int IndexOf( string value, int startIndex )
返回指定字符串从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。
17public int IndexOfAny( char[] anyOf )
返回某一个指定的 Unicode 字符数组中任意字符在该实例中第一次出现的索引,索引从 0 开始。
18public int IndexOfAny( char[] anyOf, int startIndex )
返回某一个指定的 Unicode 字符数组中任意字符从该实例中指定字符位置开始搜索第一次出现的索引,索引从 0 开始。
19public string Insert( int startIndex, string value )
返回一个新的字符串,其中,指定的字符串被插入在当前 string 对象的指定索引位置。
20public static bool IsNullOrEmpty( string value )
指示指定的字符串是否为 null 或者是否为一个空的字符串。
21public static string Join( string separator, params string[] value )
连接一个字符串数组中的所有元素,使用指定的分隔符分隔每个元素。
22public static string Join( string separator, string[] value, int startIndex, int count )
连接接一个字符串数组中的指定位置开始的指定元素,使用指定的分隔符分隔每个元素。
23public int LastIndexOf( char value )
返回指定 Unicode 字符在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。
24public int LastIndexOf( string value )
返回指定字符串在当前 string 对象中最后一次出现的索引位置,索引从 0 开始。
25public string Remove( int startIndex )
移除当前实例中的所有字符,从指定位置开始,一直到最后一个位置为止,并返回字符串。
26public string Remove( int startIndex, int count )
从当前字符串的指定位置开始移除指定数量的字符,并返回字符串。
27public string Replace( char oldChar, char newChar )
把当前 string 对象中,所有指定的 Unicode 字符替换为另一个指定的 Unicode 字符,并返回新的字符串。
28public string Replace( string oldValue, string newValue )
把当前 string 对象中,所有指定的字符串替换为另一个指定的字符串,并返回新的字符串。
29public string[] Split( params char[] separator )
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。
30public string[] Split( char[] separator, int count )
返回一个字符串数组,包含当前的 string 对象中的子字符串,子字符串是使用指定的 Unicode 字符数组中的元素进行分隔的。int 参数指定要返回的子字符串的最大数目。
31public bool StartsWith( string value )
判断字符串实例的开头是否匹配指定的字符串。
32public char[] ToCharArray()
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组。
33public char[] ToCharArray( int startIndex, int length )
返回一个带有当前 string 对象中所有字符的 Unicode 字符数组,从指定的索引开始,直到指定的长度为止。
34public string ToLower()
把字符串转换为小写并返回。
35public string ToUpper()
把字符串转换为大写并返回。
36public string Trim()
移除当前 String 对象中的所有前导空白字符和后置空白字符。

The method of the above list is not exhaustive, please visit the MSDN Library for a complete list of methods and the String class constructor.

Examples

The following example demonstrates some of the methods mentioned above:

Compare strings

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 ();
      }
   }
}

When the above code is compiled and executed, it produces the following results:

This is test and This is text are not equal.

String contains the 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 ();
      }
   }
}

When the above code is compiled and executed, it produces the following results:

The sequence 'test' was found.

Get substring:

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() ; 
		} 
	} 
}

Running instance »

When the above code is compiled and executed, it produces the following results:

Last night I dreamt of San Pedro
San Pedro

The connection string:

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 ();
      }
   }
}

When the above code is compiled and executed, it produces the following results:

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