C # - Stringhe
In C # è possibile utilizzare stringhe come array di caratteri, tuttavia, la pratica più comune consiste nell'usare l'estensione stringparola chiave per dichiarare una variabile stringa. La parola chiave string è un alias perSystem.String classe.
Creazione di un oggetto stringa
È possibile creare un oggetto stringa utilizzando uno dei seguenti metodi:
Assegnando una stringa letterale a una variabile String
Utilizzando un costruttore di classi String
Utilizzando l'operatore di concatenazione di stringhe (+)
Recuperando una proprietà o chiamando un metodo che restituisce una stringa
Chiamando un metodo di formattazione per convertire un valore o un oggetto nella relativa rappresentazione di stringa
Il seguente esempio lo dimostra:
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);
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
Full Name: RowanAtkinson
Greetings: Hello
Message: Hello From Tutorials Point
Message: Message sent at 5:58 PM on Wednesday, October 10, 2012
Proprietà della classe String
La classe String ha le seguenti due proprietà:
Sr.No. | Proprietà e descrizione |
---|---|
1 | Chars Ottiene l' oggetto Char in una posizione specificata nell'oggetto String corrente . |
2 | Length Ottiene il numero di caratteri nell'oggetto String corrente. |
Metodi della classe String
La classe String ha numerosi metodi che ti aiutano a lavorare con gli oggetti stringa. La tabella seguente fornisce alcuni dei metodi più comunemente utilizzati:
Sr.No. | Metodi e descrizione |
---|---|
1 | public static int Compare(string strA, string strB) Confronta due oggetti stringa specificati e restituisce un numero intero che indica la loro posizione relativa nell'ordinamento. |
2 | public static int Compare(string strA, string strB, bool ignoreCase ) Confronta due oggetti stringa specificati e restituisce un numero intero che indica la loro posizione relativa nell'ordinamento. Tuttavia, ignora le maiuscole e le minuscole se il parametro booleano è vero. |
3 | public static string Concat(string str0, string str1) Concatena due oggetti stringa. |
4 | public static string Concat(string str0, string str1, string str2) Concatena tre oggetti stringa. |
5 | public static string Concat(string str0, string str1, string str2, string str3) Concatena quattro oggetti stringa. |
6 | public bool Contains(string value) Restituisce un valore che indica se l'oggetto String specificato si trova all'interno di questa stringa. |
7 | public static string Copy(string str) Crea un nuovo oggetto String con lo stesso valore della stringa specificata. |
8 | public void CopyTo(int sourceIndex, char[] destination, int destinationIndex, int count) Copia un numero specificato di caratteri da una posizione specificata dell'oggetto String a una posizione specificata in una matrice di caratteri Unicode. |
9 | public bool EndsWith(string value) Determina se la fine dell'oggetto stringa corrisponde alla stringa specificata. |
10 | public bool Equals(string value) Determina se l'oggetto String corrente e l'oggetto String specificato hanno lo stesso valore. |
11 | public static bool Equals(string a, string b) Determina se due oggetti String specificati hanno lo stesso valore. |
12 | public static string Format(string format, Object arg0) Sostituisce uno o più elementi di formato in una stringa specificata con la rappresentazione di stringa di un oggetto specificato. |
13 | public int IndexOf(char value) Restituisce l'indice in base zero della prima occorrenza del carattere Unicode specificato nella stringa corrente. |
14 | public int IndexOf(string value) Restituisce l'indice in base zero della prima occorrenza della stringa specificata in questa istanza. |
15 | public int IndexOf(char value, int startIndex) Restituisce l'indice in base zero della prima occorrenza del carattere Unicode specificato in questa stringa, iniziando la ricerca nella posizione del carattere specificata. |
16 | public int IndexOf(string value, int startIndex) Restituisce l'indice in base zero della prima occorrenza della stringa specificata in questa istanza, iniziando la ricerca dalla posizione del carattere specificata. |
17 | public int IndexOfAny(char[] anyOf) Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice specificata di caratteri Unicode. |
18 | public int IndexOfAny(char[] anyOf, int startIndex) Restituisce l'indice in base zero della prima occorrenza in questa istanza di qualsiasi carattere in una matrice specificata di caratteri Unicode, iniziando la ricerca dalla posizione del carattere specificata. |
19 | public string Insert(int startIndex, string value) Restituisce una nuova stringa in cui una stringa specificata viene inserita in una posizione di indice specificata nell'oggetto stringa corrente. |
20 | public static bool IsNullOrEmpty(string value) Indica se la stringa specificata è null o una stringa vuota. |
21 | public static string Join(string separator, params string[] value) Concatena tutti gli elementi di una matrice di stringhe, utilizzando il separatore specificato tra ogni elemento. |
22 | public static string Join(string separator, string[] value, int startIndex, int count) Concatena gli elementi specificati di una matrice di stringhe, utilizzando il separatore specificato tra ogni elemento. |
23 | public int LastIndexOf(char value) Restituisce la posizione dell'indice in base zero dell'ultima occorrenza del carattere Unicode specificato all'interno dell'oggetto stringa corrente. |
24 | public int LastIndexOf(string value) Restituisce la posizione dell'indice in base zero dell'ultima occorrenza di una stringa specificata all'interno dell'oggetto stringa corrente. |
25 | public string Remove(int startIndex) Rimuove tutti i caratteri nell'istanza corrente, iniziando da una posizione specificata e proseguendo fino all'ultima posizione, e restituisce la stringa. |
26 | public string Remove(int startIndex, int count) Rimuove il numero di caratteri specificato nella stringa corrente a partire da una posizione specificata e restituisce la stringa. |
27 | public string Replace(char oldChar, char newChar) Sostituisce tutte le occorrenze di un carattere Unicode specificato nell'oggetto stringa corrente con il carattere Unicode specificato e restituisce la nuova stringa. |
28 | public string Replace(string oldValue, string newValue) Sostituisce tutte le occorrenze di una stringa specificata nell'oggetto stringa corrente con la stringa specificata e restituisce la nuova stringa. |
29 | public string[] Split(params char[] separator) Restituisce una matrice di stringhe che contiene le sottostringhe nell'oggetto stringa corrente, delimitata da elementi di una matrice di caratteri Unicode specificata. |
30 | public string[] Split(char[] separator, int count) Restituisce una matrice di stringhe che contiene le sottostringhe nell'oggetto stringa corrente, delimitata da elementi di una matrice di caratteri Unicode specificata. Il parametro int specifica il numero massimo di sottostringhe da restituire. |
31 | public bool StartsWith(string value) Determina se l'inizio di questa istanza di stringa corrisponde alla stringa specificata. |
32 | public char[] ToCharArray() Restituisce una matrice di caratteri Unicode con tutti i caratteri nell'oggetto stringa corrente. |
33 | public char[] ToCharArray(int startIndex, int length) Restituisce una matrice di caratteri Unicode con tutti i caratteri nell'oggetto stringa corrente, a partire dall'indice specificato e fino alla lunghezza specificata. |
34 | public string ToLower() Restituisce una copia di questa stringa convertita in minuscolo. |
35 | public string ToUpper() Restituisce una copia di questa stringa convertita in maiuscolo. |
36 | public string Trim() Rimuove tutti i caratteri di spazio vuoto iniziali e finali dall'oggetto String corrente. |
È possibile visitare la libreria MSDN per l'elenco completo dei metodi e dei costruttori di classi String.
Esempi
L'esempio seguente mostra alcuni dei metodi sopra menzionati:
Confronto di stringhe
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() ;
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
This is test and This is text are not equal.
String Contiene 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() ;
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
The sequence 'test' was found.
Ottenere una sottostringa
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);
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
San Pedro
Unire le stringhe
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);
}
}
}
Quando il codice precedente viene compilato ed eseguito, produce il seguente risultato:
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