The string of C# (String).
You can use an array of characters to represent strings in C#, but it is more common to use the string keyword to declare a string variable. The string keyword is an alias for the System.String class.
Create a String object
You can use one of the following methods to create a string object:
- By specifying a string to the String variable
- By using the String class constructor
- By using string series operators ( . . .
- By retrieving a property or calling a method that returns a string
- A string representation of a value or object is converted by formatting the method
The following example demonstrates this:
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() ;
}
}
}
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
The property of the String class
The String class has two properties:
序号 | 属性名称 & 描述 |
---|---|
1 |
Chars
在当前 String 对象中获取 Char 对象的指定位置。 |
2 |
Length
在当前的 String 对象中获取字符数。 |
The method of the String class
The String class has many methods for the operation of the string object. The following table provides some of the most commonly used methods:
序号 | 方法名称 & 描述 |
---|---|
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 对象中的所有前导空白字符和后置空白字符。 |
The list of methods above is not exhaustive, please visit the MSDN library for a complete list of methods and String class constructors.
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.
A string contains a 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 substrings:
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() ;
}
}
}
When the above code is compiled and executed, it produces the following results:
Last night I dreamt of San Pedro
San Pedro
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