In C#, you can use strings as array of characters, However, more common practice is to use the string keyword to declare a string variable. The string keyword is an alias for the System.String class.
You can create string object using one of the following methods −
By assigning a string literal to a String variable
By using a String class constructor
By using the string concatenation operator (+)
By retrieving a property or calling a method that returns a string
By calling a formatting method to convert a value or an object to its string representation
The following example demonstrates this −
using System; namespace StringApplication { class Program { static void Main(string[] args) { //from string literal and string concatenation string fname, lname; fname = "Rowan"; lname = "Atkinson"; char []letters= { 'H', 'e', 'l', 'l','o' }; string [] sarray={ "Hello", "From", "Tutorials", "Point" }; string fullname = fname + lname; Console.WriteLine("Full Name: {0}", fullname); //by using string constructor { 'H', 'e', 'l', 'l','o' }; string greetings = new string(letters); Console.WriteLine("Greetings: {0}", greetings); //methods returning string { "Hello", "From", "Tutorials", "Point" }; string message = String.Join(" ", sarray); Console.WriteLine("Message: {0}", message); //formatting method to convert a value 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); } } }
When the above code is compiled and executed, it produces the following result −
Full Name: RowanAtkinson Greetings: Hello Message: Hello From Howcodex Message: Message sent at 5:58 PM on Wednesday, October 10, 2012
The String class has the following two properties −
Sr.No. | Property & Description |
---|---|
1 | Chars Gets the Char object at a specified position in the current String object. |
2 | Length Gets the number of characters in the current String object. |
The String class has numerous methods that help you in working with the string objects. The following table provides some of the most commonly used methods −
Sr.No. | Methods & Description |
---|---|
1 | public static int Compare(string strA, string strB) Compares two specified string objects and returns an integer that indicates their relative position in the sort order. |
2 | public static int Compare(string strA, string strB, bool ignoreCase ) Compares two specified string objects and returns an integer that indicates their relative position in the sort order. However, it ignores case if the Boolean parameter is true. |
3 | public static string Concat(string str0, string str1) Concatenates two string objects. |
4 | public static string Concat(string str0, string str1, string str2) Concatenates three string objects. |
5 | public static string Concat(string str0, string str1, string str2, string str3) Concatenates four string objects. |
6 | public bool Contains(string value) Returns a value indicating whether the specified String object occurs within this string. |
7 | public static string Copy(string str) Creates a new String object with the same value as the specified string. |
8 | public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count) Copies a specified number of characters from a specified position of the String object to a specified position in an array of Unicode characters. |
9 | public bool EndsWith(string value) Determines whether the end of the string object matches the specified string. |
10 | public bool Equals(string value) Determines whether the current String object and the specified String object have the same value. |
11 | public static bool Equals(string a, string b) Determines whether two specified String objects have the same value. |
12 | public static string Format(string format, Object arg0) Replaces one or more format items in a specified string with the string representation of a specified object. |
13 | public int IndexOf(char value) Returns the zero-based index of the first occurrence of the specified Unicode character in the current string. |
14 | public int IndexOf(string value) Returns the zero-based index of the first occurrence of the specified string in this instance. |
15 | public int IndexOf(char value, int startIndex) Returns the zero-based index of the first occurrence of the specified Unicode character in this string, starting search at the specified character position. |
16 | public int IndexOf(string value, int startIndex) Returns the zero-based index of the first occurrence of the specified string in this instance, starting search at the specified character position. |
17 | public int IndexOfAny(char[] anyOf) Returns the zero-based index of the first occurrence in this instance of any character in a specified array of Unicode characters. |
18 | public int IndexOfAny(char[] anyOf, int startIndex) Returns the zero-based index of the first occurrence in this instance of any character in a specified array of Unicode characters, starting search at the specified character position. |
19 | public string Insert(int startIndex, string value) Returns a new string in which a specified string is inserted at a specified index position in the current string object. |
20 | public static bool IsNullOrEmpty(string value) Indicates whether the specified string is null or an Empty string. |
21 | public static string Join(string separator, params string[] value) Concatenates all the elements of a string array, using the specified separator between each element. |
22 | public static string Join(string separator, string[] value, int startIndex, int count) Concatenates the specified elements of a string array, using the specified separator between each element. |
23 | public int LastIndexOf(char value) Returns the zero-based index position of the last occurrence of the specified Unicode character within the current string object. |
24 | public int LastIndexOf(string value) Returns the zero-based index position of the last occurrence of a specified string within the current string object. |
25 | public string Remove(int startIndex) Removes all the characters in the current instance, beginning at a specified position and continuing through the last position, and returns the string. |
26 | public string Remove(int startIndex, int count) Removes the specified number of characters in the current string beginning at a specified position and returns the string. |
27 | public string Replace(char oldChar, char newChar) Replaces all occurrences of a specified Unicode character in the current string object with the specified Unicode character and returns the new string. |
28 | public string Replace(string oldValue, string newValue) Replaces all occurrences of a specified string in the current string object with the specified string and returns the new string. |
29 | public string[] Split(params char[] separator) Returns a string array that contains the substrings in the current string object, delimited by elements of a specified Unicode character array. |
30 | public string[] Split(char[] separator, int count) Returns a string array that contains the substrings in the current string object, delimited by elements of a specified Unicode character array. The int parameter specifies the maximum number of substrings to return. |
31 | public bool StartsWith(string value) Determines whether the beginning of this string instance matches the specified string. |
32 | public char[] ToCharArray() Returns a Unicode character array with all the characters in the current string object. |
33 | public char[] ToCharArray(int startIndex, int length) Returns a Unicode character array with all the characters in the current string object, starting from the specified index and up to the specified length. |
34 | public string ToLower() Returns a copy of this string converted to lowercase. |
35 | public string ToUpper() Returns a copy of this string converted to uppercase. |
36 | public string Trim() Removes all leading and trailing white-space characters from the current String object. |
You can visit MSDN library for the complete list of methods and String class constructors.
The following example demonstrates some of the methods mentioned above −
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 result −
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() ; } } }
When the above code is compiled and executed, it produces the following result −
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); } } }
When the above code is compiled and executed, it produces the following result −
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("\n", starray); Console.WriteLine(str); } } }
When the above code is compiled and executed, it produces the following result −
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