C # String (String)
In C #, è possibile utilizzare una serie di caratteri per rappresentare le corde, ma la pratica più comune è quello di utilizzare la parola chiavestringa per dichiarare una variabile stringa.stringa di parola chiave è un alias per la classeSystem.String.
Creazione di oggetti String
È possibile utilizzare uno dei seguenti metodi per creare oggetti stringa:
- Con variabile String per specificare una stringa
- Utilizzando il costruttore della classe String
- Utilizzando operatore di concatenazione di stringhe (+)
- Con il recupero della proprietà o chiamare un metodo che restituisce una stringa
- Con la formattazione metodo per convertire un valore o un oggetto alla sua rappresentazione di stringa
L'esempio che segue illustra questo punto:
using System; namespace StringApplication { Programma di classe { static void Main (string [] args) { // String, stringa di concatenazione di stringhe fname, lname; fname = "Rowan"; lname = "Atkinson"; stringa fullname = fname lname +; Console.WriteLine ( "Nome completo: {0}", nome completo); // Usando il char costruttore string [] = {lettere 'H', 'e', 'L', 'L', 'o'}; saluti stringa = new String (lettere); Console.WriteLine ( "Saluti: {0}", saluti); // Metodo restituisce una stringa string [] Sarray = { "Ciao", "Da", "Tutorial", "Punto"}; messaggio stringa = String.Join ( "", Sarray); Console.WriteLine ( "Messaggio: {0}", il messaggio); // Metodo di formattazione per la trasformazione valori datetime di attesa = new DateTime (2012, 10, 10, 17, 58, 1); Chat stringa = String.Format ( "Messaggio inviato a {0: t} su {0: D}", in attesa); Console.WriteLine ( "Messaggio: {0}", chat); Console.ReadKey (); } } }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
Nome completo: Rowan Atkinson Saluti: Hello Messaggio: Ciao Da Tutorial Point Messaggio: Messaggio inviato al 17:58 il Mercoledì 10 ottobre 2012
classe String Proprietà
classe String ha le seguenti due proprietà:
序号 | 属性名称 & 描述 |
---|---|
1 | Chars 在当前String对象中获取Char对象的指定位置。 |
2 | Length 在当前的String对象中获取字符数。 |
metodi della classe String
classe String ha molti metodi per oggetto stringa operativo. La seguente tabella fornisce alcuni dei metodi più comuni:
序号 | 方法名称 & 描述 |
---|---|
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 对象中的所有前导空白字符和后置空白字符。 |
Il metodo della lista di cui sopra non è esaustivo, si prega di visitare il MSDN Library per un elenco completo dei metodi e costruttore della classe String.
Esempi
L'esempio seguente mostra alcuni dei metodi di cui sopra:
Confronta stringhe
using System; namespace StringApplication { classe StringProg { static void Main (string [] args) { stringa str1 = "Questo è il test"; stringa str2 = "Questo è un testo"; if (String.Compare (str1, str2) == 0) { Console.WriteLine (str1 + "e" + str2 + "sono uguali."); } altro { Console.WriteLine (str1 + "e" + str2 + "non sono uguali."); } Console.ReadKey (); } } }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
Questo è di prova e questo è un testo non sono uguali.
Stringa contiene la stringa:
using System; namespace StringApplication { classe StringProg { static void Main (string [] args) { string str = "Questo è di prova"; if (str.Contains ( "test")) { Console.WriteLine ( "è stata trovata La sequenza di 'test'."); } Console.ReadKey (); } } }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
è stato trovato il 'test' sequenza.
Get stringa:
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() ; } } }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
La notte scorsa ho sognato di San Pedro San Pedro
La stringa di connessione:
using System; namespace StringApplication { classe StringProg { static void Main (string [] args) { string [] starray = new string [] { "Giù il modo in cui le notti sono scure", "E il sole splende ogni giorno sulla cima della montagna", "Ho preso un viaggio su una nave a vela", "E quando ho raggiunto la Giamaica", "Ho fatto una sosta"}; string str = String.Join ( "\ n", starray); Console.WriteLine (str); Console.ReadKey (); } } }
Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:
Giù il modo in cui le notti sono scure E il sole splende ogni giorno sulla cima della montagna Ho preso un viaggio su una nave a vela E quando ho raggiunto la Giamaica Ho fatto una sosta