SPRZEDAŻ: 1-800-867-1389
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Klasa String

.NET Framework 4.5

Reprezentuje tekst jako ciąg znaków Unicode.

Przestrzeń nazw:  System
Zestaw:  mscorlib (w mscorlib.dll)

[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class String : IComparable, 
	ICloneable, IConvertible, IComparable<string>, IEnumerable<char>, 
	IEnumerable, IEquatable<string>

Typ String uwidacznia następujące elementy członkowskie.

  NazwaOpis
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreString(Char*)Inicjuje nowe wystąpienie String klasy do wartości wskazanych przez określony wskaźnik do tablicy znaków Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreString(Char[])Inicjuje nowe wystąpienie String klasy do wartości wskazanych przez tablicę znaków Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkString(SByte*)Inicjuje nowe wystąpienie String klasy do wartości wskazanych przez wskaźnik do tablicy 8-bitowe liczby całkowite podpisane.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreString(Char, Int32)Inicjuje nowe wystąpienie String klasy, aby wartość wskazywana przez określony znak Unicode jest powtarzany określoną liczbę razy.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreString(Char*, Int32, Int32)Inicjuje nowe wystąpienie String klasy, aby wartość wskazywana przez określony wskaźnik do tablicy Unicode znaki początkowej pozycji znaku w ramach tej tablicy i długości.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreString(Char[], Int32, Int32)Inicjuje nowe wystąpienie String klasy, aby wartość wskazywana przez tablicę Unicode znaki początkowej pozycji znaku w ramach tej tablicy i długości.
Metoda publicznaString(SByte*, Int32, Int32)Inicjuje nowe wystąpienie String klasy do wartości wskazanych przez określony wskaźnik do tablicy 8-bitowe liczby całkowite podpisane, pozycji początkowej w ramach tej tablicy i długości.
Metoda publicznaString(SByte*, Int32, Int32, Encoding)Inicjuje nowe wystąpienie String klasy, aby wartość wskazywana przez określony wskaźnik do podpisanych liczb całkowitych 8-bitowych, pozycji początkowej w ramach tej tablicy o długości i Encoding obiektu.
Początek

  NazwaOpis
Właściwość publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCharsPobiera Char obiektu w określonym położeniu w bieżącym String obiektu.
Właściwość publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLength Pobiera liczbę znaków w bieżącym obiekcie String.
Początek

  NazwaOpis
Metoda publicznaObsługiwane przez program XNA FrameworkCloneZwraca odwołanie do tego wystąpienia programu String.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCompare(String, String)Porównuje dwa określone String obiektów i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkCompare(String, String, Boolean)Porównuje dwa określone String obiektów, ignorując lub cześć ich przypadku i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCompare(String, String, StringComparison)Porównuje dwa określone String obiektów przy użyciu określonych reguł i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkCompare(String, String, Boolean, CultureInfo)Porównuje dwa określone String obiektów, ignorując lub cześć ich przypadku i używać informacji specyficznych dla kultury wpływ porównania i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program Portable Class LibraryCompare(String, String, CultureInfo, CompareOptions)Porównuje dwa określone String obiektów przy użyciu opcji porównania określonego i informacje specyficzne dla kultury wpływać na porównanie i zwraca liczbę całkowitą, która wskazuje relację z dwóch ciągów do siebie w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCompare(String, Int32, String, Int32, Int32)Porównuje podciągów dwóch określonych String obiektów i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkCompare(String, Int32, String, Int32, Int32, Boolean)Porównuje podciągów dwóch określonych String obiektów, ignorując lub cześć ich przypadku i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCompare(String, Int32, String, Int32, Int32, StringComparison)Porównuje podciągów dwóch określonych String obiektów przy użyciu określonych reguł i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkCompare(String, Int32, String, Int32, Int32, Boolean, CultureInfo)Porównuje podciągów dwóch określonych String obiektów, ignorując lub cześć ich przypadku i używać informacji specyficznych dla kultury wpływ porównania i zwraca liczbę całkowitą, która wskazuje ich położenia w porządku sortowania.
Metoda publicznaStatyczny element członkowskiCompare(String, Int32, String, Int32, Int32, CultureInfo, CompareOptions)Porównuje podciągów dwóch określonych String obiektów przy użyciu opcji porównania określonego i informacje specyficzne dla kultury wpływać na porównanie i zwraca liczbę całkowitą, która wskazuje relację dwóch ciągów do siebie w porządku sortowania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCompareOrdinal(String, String)Porównuje dwa określone String obiektów poprzez ocenę wartości liczbowych odpowiadających im Char obiektów w każdy ciąg.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCompareOrdinal(String, Int32, String, Int32, Int32)Porównuje podciągów dwóch określonych String obiektów poprzez ocenę wartości liczbowych odpowiadających im Char obiektów w każdy podciąg.
Metoda publicznaObsługiwane przez program XNA FrameworkCompareTo(Object)Porównuje to wystąpienie z określonym Object i wskazuje, czy to wystąpienie poprzedza, następuje czy pojawia się w tej samej pozycji w kolejności sortowania, jak określona Object.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCompareTo(String)Porównuje to wystąpienie z określonym String object i wskazuje, czy to wystąpienie poprzedza, następuje czy pojawia się w tej samej pozycji w kolejności sortowania, jak określona String.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(Object)Tworzy reprezentację ciąg określonego obiektu.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(Object[])Łączy ciągi znaków reprezentujące elementy w określonym Object tablicy.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(IEnumerable<String>)Łączy członków konstruowanej IEnumerable<T> Kolekcja typu String.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(String[])Łączy elementy określonej String tablicy.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(Object, Object)Argument ciągu znaków reprezentującego dwóch określonych obiektów.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(String, String)Łączy dwa wystąpienia określonego String.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(Object, Object, Object)Argument ciągu znaków reprezentującego trzech określonych obiektów.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(String, String, String)Łączy trzy określone wystąpienia String.
Metoda publicznaStatyczny element członkowskiConcat(Object, Object, Object, Object)Argument ciągu znaków reprezentującego czterech określonych obiektów i każdego obiektu w określonej liście parametrów opcjonalnych o zmiennej długości.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat(String, String, String, String) Łączy cztery określone instancje typu String.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreConcat<T>(IEnumerable<T>)Łączy członków IEnumerable<T> wykonania.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreContainsZwraca wartość wskazującą, czy określony podciąg występuje wewnątrz tego ciągu.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkCopyTworzy nowe wystąpienie String z taką samą wartość jak określonej String.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCopyToKopiuje określoną liczbę znaków od określonej pozycji w tym przypadku do określonego położenia w tablicy znaków Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEndsWith(String)Określa, czy koniec tego wystąpienia ciągu pasuje do podanego.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEndsWith(String, StringComparison)Określa, czy koniec tego wystąpienia ciągu pasuje do podanego w porównaniu przy użyciu opcji porównywania określony.
Metoda publicznaEndsWith(String, Boolean, CultureInfo)Określa, czy koniec tego wystąpienia ciągu pasuje do podanego w porównaniu przy użyciu określonej kultury.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEquals(Object)Określa, czy to wystąpienie i określonego obiektu, która musi być String obiektów, mają tę samą wartość. (Zastępuje Object.Equals(Object)).
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEquals(String)Określa, czy to wystąpienie i innym określone String obiektu mają tę samą wartość.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEquals(String, String)Określa, czy określony dwa String obiekty mają tę samą wartość.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEquals(String, StringComparison)Określa, czy ten ciąg i określonej String obiektu mają tę samą wartość. Parametr określa kultury, sprawy i reguły sortowania wykorzystywane do porównania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEquals(String, String, StringComparison)Określa, czy określony dwa String obiekty mają tę samą wartość. Parametr określa kultury, sprawy i reguły sortowania wykorzystywane do porównania.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkFormat(String, Object)Zastępuje jeden lub więcej elementów formatu w ciągu określonego ciągu reprezentującego określonego obiektu.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreFormat(String, Object[])Zastępuje element formatu w ciągu określonego ciągu reprezentującego odpowiedniego obiektu w określonej tablicy.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreFormat(IFormatProvider, String, Object[])Zastępuje formatowanie elementu w ciągu określonego ciągu znaków reprezentującego odpowiadających im obiektów w określonej tablicy. Parametr dostarcza informacji o formatowaniu specyficzne dla kultury.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkFormat(String, Object, Object)Zastępuje formatowanie elementu w ciągu określonego ciągu reprezentującego dwóch określonych obiektów.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkFormat(String, Object, Object, Object)Zastępuje formatowanie elementu w ciągu określonego ciągu reprezentującego trzech określonych obiektów.
Metoda publicznaObsługiwane przez program XNA FrameworkGetEnumeratorPobiera obiekt, który można wykonać iterację poszczególnych znaków w tym ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreGetHashCodeZwraca kod skrótu dla tego ciągu. (Zastępuje Object.GetHashCode()).
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreGetType Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publicznaObsługiwane przez program XNA FrameworkGetTypeCodeZwraca TypeCode dla klasy String.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(Char)Raporty wartość indeksu pierwszego wystąpienia określonego znaku Unicode w tym ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(String)Raporty wartość indeksu pierwszego wystąpienia podanego ciągu w tym wystąpieniu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(Char, Int32)Raporty wartość indeksu pierwszego wystąpienia określonego znaku Unicode w tym ciągu. Wyszukiwanie rozpoczyna się od pozycji określonego znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(String, Int32)Raporty wartość indeksu pierwszego wystąpienia podanego ciągu w tym wystąpieniu. Wyszukiwanie rozpoczyna się od pozycji określonego znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(String, StringComparison)Raportuje wartość indeksu pierwszego wystąpienia określony ciąg w bieżącym String obiektu. Parametr określa typ wyszukiwania do wykorzystania dla podanego ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(Char, Int32, Int32) Zwraca wartość indeksu pierwszego wystąpienia określonego znaku w danej instancji. Wyszukiwanie rozpoczyna się od określonej pozycji znaku i sprawdza podaną liczbę pozycji znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(String, Int32, Int32)Raporty wartość indeksu pierwszego wystąpienia podanego ciągu w tym wystąpieniu. Wyszukiwanie rozpoczyna się od określonej pozycji znaku i sprawdza podaną liczbę pozycji znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(String, Int32, StringComparison)Raportuje wartość indeksu pierwszego wystąpienia określony ciąg w bieżącym String obiektu. Parametry określają pozycję początkową wyszukiwania w ciągu bieżącego i rodzaj wyszukiwania dla podanego ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOf(String, Int32, Int32, StringComparison)Raportuje wartość indeksu pierwszego wystąpienia określony ciąg w bieżącym String obiektu. Parametry określają pozycję początkową wyszukiwania w ciągu bieżącego, liczbę znaków w ciągu bieżącego wyszukiwania i typ wyszukiwania dla podanego ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOfAny(Char[])Raporty wartość indeksu pierwszego wystąpienia w tym przypadku dowolny znak w określonej tablicy znaków Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOfAny(Char[], Int32)Raporty wartość indeksu pierwszego wystąpienia w tym przypadku dowolny znak w określonej tablicy znaków Unicode. Wyszukiwanie rozpoczyna się od pozycji określonego znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIndexOfAny(Char[], Int32, Int32)Raporty wartość indeksu pierwszego wystąpienia w tym przypadku dowolny znak w określonej tablicy znaków Unicode. Wyszukiwanie rozpoczyna się od określonej pozycji znaku i sprawdza podaną liczbę pozycji znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreInsertZwraca nowy ciąg, w której określony ciąg jest umieszczony w położeniu określonym indeksem w tej instancji.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkInternPobiera system odniesienia do określonej String.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkIsInternedPobiera odwołanie do określonej String.
Metoda publicznaIsNormalized()Wskazuje, czy ten ciąg jest w formie normalizacji Unicode C.
Metoda publicznaIsNormalized(NormalizationForm)Wskazuje, czy ten ciąg jest w określonej formie normalizacji Unicode.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIsNullOrEmptyWskazuje, czy określony ciąg jest null lub Empty ciąg znaków.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIsNullOrWhiteSpaceWskazuje, czy określony ciąg jest null, pusta lub składa się wyłącznie ze spacji.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreJoin(String, IEnumerable<String>)Łączy członków konstruowanej IEnumerable<T> Kolekcja typu String, przy użyciu określonej separatora między każdego członka.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreJoin(String, Object[])Łączy elementy obiektu array, przy użyciu określonej separatora pomiędzy poszczególnymi elementami.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreJoin(String, String[])Łączy wszystkie elementy tablicy ciągów, przy użyciu określonej separatora pomiędzy poszczególnymi elementami.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreJoin(String, String[], Int32, Int32)Argument określone elementy tablicy ciągów, przy użyciu określonej separatora pomiędzy poszczególnymi elementami.
Metoda publicznaStatyczny element członkowskiObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreJoin<T>(String, IEnumerable<T>)Argument członków kolekcji, przy użyciu określonej separatora między każdego członka.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(Char)Raporty pozycji indeksu ostatniego wystąpienia określonego znaku Unicode w ramach tego wystąpienia.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(String)Raporty pozycji indeksu zaczynającego się od zera dla ostatniego wystąpienia określonego ciągu w tej instancji.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(Char, Int32)Raporty pozycji indeksu ostatniego wystąpienia określonego znaku Unicode w ramach tego wystąpienia. Wyszukiwanie rozpoczyna się od określonej pozycji znaku i jest przeprowadzane w kierunku początku ciągu znaków.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(String, Int32)Raporty pozycji indeksu zaczynającego się od zera dla ostatniego wystąpienia określonego ciągu w tej instancji. Wyszukiwanie rozpoczyna się od określonej pozycji znaku i jest przeprowadzane w kierunku początku ciągu znaków.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(String, StringComparison)Raporty indeksu z ostatniego wystąpienia określonego ciągu w obecnym String obiektu. Parametr określa typ wyszukiwania do wykorzystania dla podanego ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(Char, Int32, Int32)Raporty pozycji indeksu ostatniego wystąpienia określony znak Unicode w podciągu wewnątrz tego wystąpienia. Wyszukiwanie rozpoczyna się od określonej pozycji charakteru i przeprowadzane w kierunku początku ciągu znaków dla określonej liczby pozycji znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(String, Int32, Int32)Raporty pozycji indeksu zaczynającego się od zera dla ostatniego wystąpienia określonego ciągu w tej instancji. Wyszukiwanie rozpoczyna się od określonej pozycji charakteru i przeprowadzane w kierunku początku ciągu znaków dla określonej liczby pozycji znaku.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(String, Int32, StringComparison)Raporty indeksu z ostatniego wystąpienia określonego ciągu w obecnym String obiektu. Wyszukiwanie rozpoczyna się od określonej pozycji znaku i jest przeprowadzane w kierunku początku ciągu znaków. Parametr określa typ porównania do wykonania podczas wyszukiwania podanego ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOf(String, Int32, Int32, StringComparison)Raporty pozycji indeksu zaczynającego się od zera dla ostatniego wystąpienia określonego ciągu w tej instancji. Wyszukiwanie rozpoczyna się od określonej pozycji charakteru i przeprowadzane w kierunku początku ciągu znaków dla określonej liczby pozycji znaku. Parametr określa typ porównania do wykonania podczas wyszukiwania podanego ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOfAny(Char[])Raporty pozycji indeksu zaczynającego się od zera dla ostatniego wystąpienia — w tym przypadku jeden znak lub więcej, określone w tablicy Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOfAny(Char[], Int32)Raporty pozycji indeksu zaczynającego się od zera dla ostatniego wystąpienia — w tym przypadku jeden znak lub więcej, określone w tablicy Unicode. Wyszukiwanie rozpoczyna się od określonej pozycji znaku i jest przeprowadzane w kierunku początku ciągu znaków.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreLastIndexOfAny(Char[], Int32, Int32)Raporty pozycji indeksu zaczynającego się od zera dla ostatniego wystąpienia — w tym przypadku jeden znak lub więcej, określone w tablicy Unicode. Wyszukiwanie rozpoczyna się od określonej pozycji charakteru i przeprowadzane w kierunku początku ciągu znaków dla określonej liczby pozycji znaku.
Metoda publicznaNormalize()Zwraca nowy ciąg znaków, którego wartość tekstowa jest taki sam, jak ten ciąg, ale których reprezentacja binarna jest w formie normalizacji Unicode C.
Metoda publicznaNormalize(NormalizationForm)Zwraca nowy ciąg, którego wartość tekstowa jest taki sam, jak ten ciąg, ale których reprezentacja binarna jest w określonej formie normalizacji Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StorePadLeft(Int32)Zwraca nowy ciąg, który do prawej wyrównuje znaki w tym wystąpieniu przez uzupełnienie je ze spacjami z lewej strony, dla określonej długości całkowitej.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StorePadLeft(Int32, Char)Zwraca nowy ciąg, który do prawej wyrównuje znaki w tym wystąpieniu przez uzupełnienie je po lewej stronie do określonego znaku Unicode dla określonej długości całkowitej.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StorePadRight(Int32)Zwraca nowy ciąg, który do lewej wyrównuje w tym ciągu znaków przez uzupełnienie je ze spacjami po prawej stronie, dla określonej długości całkowitej.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StorePadRight(Int32, Char)Zwraca nowy ciąg, który do lewej wyrównuje w tym ciągu znaków przez uzupełnienie je po prawej stronie do określonego znaku Unicode dla określonej długości całkowitej.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreRemove(Int32)Zwraca nowy ciąg znaków, w których wszystkie znaki w bieżącej instancji, począwszy od określonego położenia i kontynuując do ostatniej pozycji zostały usunięte.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreRemove(Int32, Int32)Zwraca nowy ciąg znaków, w którym zostały usunięte określoną liczbę znaków w bieżącej instancji, zaczynając od określonej pozycji.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreReplace(Char, Char)Zwraca nowy ciąg znaków, w których wszystkie wystąpienia określonego standardu Unicode znaku w tym wystąpieniu zastępowane są przez inny określony znak Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreReplace(String, String)Zwraca nowy ciąg zastępuje wszystkie wystąpienia określonego ciągu w bieżącej instancji na inny określony ciąg.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSplit(Char[])Zwraca tablicę ciągów, która zawiera podciągów w tym wystąpieniu, które są rozdzielane przez elementy określonej tablicy znaków Unicode.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSplit(Char[], Int32)Zwraca tablicę ciągów, która zawiera podciągów w tym wystąpieniu, które są rozdzielane przez elementy określonej tablicy znaków Unicode. Parametr określa maksymalną liczbę podciągów do powrotu.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSplit(Char[], StringSplitOptions)Zwraca tablicę ciągów, która zawiera podciągów w tym ciągu, które są rozdzielane przez elementy określonej tablicy znaków Unicode. Parametr określa, czy zwraca pustą tablicę elementów.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSplit(String[], StringSplitOptions)Zwraca tablicę ciągów, która zawiera podciągów w tym ciągu, które są rozdzielane przez elementy tablicy określony ciąg. Parametr określa, czy zwraca pustą tablicę elementów.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSplit(Char[], Int32, StringSplitOptions)Zwraca tablicę ciągów, która zawiera podciągów w tym ciągu, które są rozdzielane przez elementy określonej tablicy znaków Unicode. Parametry określają maksymalną liczbę podciągów, aby powrócić i czy zwraca pustą tablicę elementów.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSplit(String[], Int32, StringSplitOptions)Zwraca tablicę ciągów, która zawiera podciągów w tym ciągu, które są rozdzielane przez elementy tablicy określony ciąg. Parametry określają maksymalną liczbę podciągów, aby powrócić i czy zwraca pustą tablicę elementów.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreStartsWith(String)Określa, czy na początku tego wystąpienia ciągu pasuje do podanego.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreStartsWith(String, StringComparison)Określa, czy na początku tego wystąpienia ciągu pasuje do podanego w porównaniu przy użyciu opcji porównywania określony.
Metoda publicznaStartsWith(String, Boolean, CultureInfo)Określa, czy na początku tego wystąpienia ciągu pasuje do podanego w porównaniu przy użyciu określonej kultury.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSubstring(Int32)Pobiera podciąg z tego wystąpienia. Podciąg rozpoczyna się od określonej pozycji znaku i trwa do końca ciągu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreSubstring(Int32, Int32)Pobiera podciąg z tego wystąpienia. Podciąg zaczyna się od określonej pozycji znaku i o określonej długości.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreToCharArray()Kopiuje znaki w tym wystąpieniu tablicy znaków Unicode.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreToCharArray(Int32, Int32)Kopiuje znaki z określony podciąg w tym wystąpieniu tablicy znaków Unicode.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreToLower() Zwraca kopię tego ciągu skonwertowaną na małe litery.
Metoda publicznaObsługiwane przez program XNA FrameworkToLower(CultureInfo)Zwraca kopię tego ciągu są konwertowane na małe litery, przy użyciu reguł obudowy z określonej kultury.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreToLowerInvariantZwraca kopię tego String obiekt przekonwertować na małe litery przy użyciu reguł obudowy z kulturą niezmienną.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreToString()Zwraca to wystąpienie String; Rzeczywista konwersja nie jest wykonywane. (Zastępuje Object.ToString()).
Metoda publicznaObsługiwane przez program XNA FrameworkToString(IFormatProvider)Zwraca to wystąpienie String; Rzeczywista konwersja nie jest wykonywane.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreToUpper()Zwraca egzemplarz ten ciąg przekonwertowany na wielkie litery.
Metoda publicznaObsługiwane przez program XNA FrameworkToUpper(CultureInfo)Zwraca kopię ten ciąg przekonwertowany na wielkie litery, przy użyciu reguł obudowy z określonej kultury.
Metoda publicznaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreToUpperInvariantZwraca kopię tego String obiektu konwertowane na wielkie litery przy użyciu reguł obudowy z kulturą niezmienną.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreTrim() Usuwa wszystkie znaki spacji wiodących i końcowych z bieżącego obiektu String.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreTrim(Char[]) Usuwa z bieżącego obiektu String wszystkie początkowe i końcowe wystąpienia ciągu znaków określonych w tablicy.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreTrimEndUsuwa wszystkie wystąpienia końcowe zestaw znaków określonych w tablicy z bieżącego String obiektu.
Metoda publicznaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreTrimStartUsuwa wszystkie wystąpienia wiodących zestaw znaków określonych w tablicy z bieżącego String obiektu.
Początek

  NazwaOpis
Operator publicznyStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEquality Określa, czy dwa określone ciągi mają tą samą wartość.
Operator publicznyStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreInequality Określa, czy dwa określone ciągi mają różne wartości.
Początek

  NazwaOpis
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAggregate<Char>(Func<Char, Char, Char>)Przeciążone. Stosuje funkcję akumulatora po sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAggregate<Char, TAccumulate>(TAccumulate, Func<TAccumulate, Char, TAccumulate>)Przeciążone. Stosuje funkcję akumulatora po sekwencji. Wartość określonego materiału siewnego jest używana jako wartość początkowa akumulatora. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAggregate<Char, TAccumulate, TResult>(TAccumulate, Func<TAccumulate, Char, TAccumulate>, Func<TAccumulate, TResult>)Przeciążone. Stosuje funkcję akumulatora po sekwencji. Wartość określonego materiału siewnego jest używana jako wartość początkowa akumulatora i określonej funkcji można wybrać wartość wyniku. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAll<Char>Określa, czy wszystkie elementy w sekwencji spełnia warunek. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAny<Char>()Przeciążone. Określa, czy sekwencja zawiera żadnych elementów. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAny<Char>(Func<Char, Boolean>)Przeciążone. Określa, czy każdy z elementów sekwencji spełnia warunek. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAsEnumerable<Char>Zwraca wartość wejściowa wpisana jako IEnumerable<T>. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreAsParallel()Przeciążone. Umożliwia parallelization kwerendy. (Zdefiniowane przez ParallelEnumerable).
Publiczna metoda rozszerzeniaAsParallel<Char>()Przeciążone. Umożliwia parallelization kwerendy. (Zdefiniowane przez ParallelEnumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreAsQueryable()Przeciążone. Converts an IEnumerable to an IQueryable. (Zdefiniowane przez Queryable).
Publiczna metoda rozszerzeniaAsQueryable<Char>()Przeciążone. Konwertuje rodzajowego IEnumerable<T> do rodzajowego IQueryable<T>. (Zdefiniowane przez Queryable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Int32>)Przeciążone. Oblicza średnią z sekwencji Int32 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Nullable<Int32>>)Przeciążone. Oblicza średnią z sekwencji pustych Int32 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Int64>)Przeciążone. Oblicza średnią z sekwencji Int64 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Nullable<Int64>>)Przeciążone. Oblicza średnią z sekwencji pustych Int64 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Single>)Przeciążone. Oblicza średnią z sekwencji Single wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Nullable<Single>>)Przeciążone. Oblicza średnią z sekwencji pustych Single wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Double>)Przeciążone. Oblicza średnią z sekwencji Double wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Nullable<Double>>)Przeciążone. Oblicza średnią z sekwencji pustych Double wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Decimal>)Przeciążone. Oblicza średnią z sekwencji Decimal wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkAverage<Char>(Func<Char, Nullable<Decimal>>)Przeciążone. Oblicza średnią z sekwencji pustych Decimal wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreCast<TResult>Posługując się miarką elementy IEnumerable do określonego typu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkConcat<Char>Łączy dwie sekwencje. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkContains<Char>(Char)Przeciążone. Określa, czy sekwencja zawiera określonego elementu za pomocą domyślnego modułu porównującego równości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkContains<Char>(Char, IEqualityComparer<Char>)Przeciążone. Określa, czy sekwencja zawiera określonego elementu przy użyciu określonej IEqualityComparer<T>. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkCount<Char>()Przeciążone. Zwraca liczbę elementów w sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkCount<Char>(Func<Char, Boolean>)Przeciążone. Zwraca liczbę reprezentującą liczbę elementów w określonej sekwencji spełnia warunek. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkDefaultIfEmpty<Char>()Przeciążone. Zwraca elementy określona sekwencja lub wartość domyślna parametru typu w kolekcji singleton, jeśli sekwencja jest pusty. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkDefaultIfEmpty<Char>(Char)Przeciążone. Zwraca elementy określona sekwencja lub określoną wartość w zbiorze singleton, jeśli sekwencja jest pusty. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkDistinct<Char>()Przeciążone. Zwraca elementy wyróżniające z sekwencji za pomocą moduł porównujący równości domyślne do porównywania wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkDistinct<Char>(IEqualityComparer<Char>)Przeciążone. Zwraca elementy wyróżniające z sekwencji za pomocą określonej IEqualityComparer<T> do porównywania wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkElementAt<Char>Zwraca element pod określonym indeksem w sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkElementAtOrDefault<Char>Zwraca element pod określonym indeksem w sekwencji lub wartość domyślna, jeśli indeks jest poza zakresem. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkExcept<Char>(IEnumerable<Char>)Przeciążone. Powstają różnice zestaw dwóch sekwencji za pomocą modułu porównującego równości domyślne do porównywania wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkExcept<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Przeciążone. Powstają różnice zestaw dwóch sekwencji za pomocą określonego IEqualityComparer<T> do porównywania wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkFirst<Char>()Przeciążone. Zwraca pierwszy element sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkFirst<Char>(Func<Char, Boolean>)Przeciążone. Zwraca pierwszy element w sekwencji, która spełnia określony warunek. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkFirstOrDefault<Char>()Przeciążone. Zwraca pierwszy element sekwencji lub wartość domyślną, jeśli sekwencji nie zawiera żadnych elementów. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkFirstOrDefault<Char>(Func<Char, Boolean>)Przeciążone. Zwraca pierwszy element sekwencji, która spełnia warunek lub wartość domyślna, jeśli zostanie znaleziony żaden taki element. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey>(Func<Char, TKey>)Przeciążone. Grupuje elementy sekwencji zgodnie z funkcją określonego klucza programu selector. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)Przeciążone. Grupy elementów sekwencji zgodnie z określonym kluczem wyboru funkcji i porównuje kluczy przy użyciu określonego modułu porównującego. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)Przeciążone. Grupy elementów sekwencji zgodnie z określonym kluczem wyboru funkcji i projektów elementy dla każdej grupy przy użyciu określonych funkcji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>)Przeciążone. Grupuje elementy sekwencji zgodnie z określoną kluczową funkcją wyboru i tworzy wartość wyniku z każdej grupy i klucza. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)Przeciążone. Grupuje elementy sekwencji zgodnie z funkcją kluczem wyboru. Klucze są porównywane za pomocą modułu porównującego i elementów każdej grupy są rzutowane za pomocą określonych funkcji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey, TResult>(Func<Char, TKey>, Func<TKey, IEnumerable<Char>, TResult>, IEqualityComparer<TKey>)Przeciążone. Grupuje elementy sekwencji zgodnie z określoną kluczową funkcją wyboru i tworzy wartość wyniku z każdej grupy i klucza. Klucze są porównywane za pomocą określonego modułu porównującego. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>)Przeciążone. Grupuje elementy sekwencji zgodnie z określoną kluczową funkcją wyboru i tworzy wartość wyniku z każdej grupy i klucza. Za pomocą funkcji określonej wartości elementów każdej grupy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupBy<Char, TKey, TElement, TResult>(Func<Char, TKey>, Func<Char, TElement>, Func<TKey, IEnumerable<TElement>, TResult>, IEqualityComparer<TKey>)Przeciążone. Grupuje elementy sekwencji zgodnie z określoną kluczową funkcją wyboru i tworzy wartość wyniku z każdej grupy i klucza. Kluczowe wartości są porównywane za pomocą określonego modułu porównującego, a elementy każdej grupy są rzutowane za pomocą określonych funkcji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>)Przeciążone. Metkami elementy dwóch sekwencji oparte na równości kluczy i grup wyników. Moduł porównujący równości domyślna używana jest do porównywania kluczy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkGroupJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, IEnumerable<TInner>, TResult>, IEqualityComparer<TKey>)Przeciążone. Metkami elementy dwóch sekwencji oparte na równości klucza i grup wyników. Określonej IEqualityComparer<T> służy do porównywania kluczy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkIntersect<Char>(IEnumerable<Char>)Przeciążone. Tworzy zestaw przecięcie dwóch sekwencji za pomocą modułu porównującego równości domyślne do porównywania wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkIntersect<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Przeciążone. Tworzy zestaw przecięcie dwóch sekwencji za pomocą określonego IEqualityComparer<T> do porównywania wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>)Przeciążone. Metkami elementy dwóch sekwencji oparte na pasujące klucze. Moduł porównujący równości domyślna używana jest do porównywania kluczy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkJoin<Char, TInner, TKey, TResult>(IEnumerable<TInner>, Func<Char, TKey>, Func<TInner, TKey>, Func<Char, TInner, TResult>, IEqualityComparer<TKey>)Przeciążone. Metkami elementy dwóch sekwencji oparte na pasujące klucze. Określonej IEqualityComparer<T> służy do porównywania kluczy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkLast<Char>()Przeciążone. Zwraca ostatni element sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkLast<Char>(Func<Char, Boolean>)Przeciążone. Zwraca ostatni element sekwencja, która spełnia określony warunek. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkLastOrDefault<Char>()Przeciążone. Zwraca ostatni element sekwencji lub wartość domyślną, jeśli sekwencja zawiera elementy nie. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkLastOrDefault<Char>(Func<Char, Boolean>)Przeciążone. Zwraca ostatni element sekwencja, która spełnia warunek lub wartość domyślna, jeśli zostanie znaleziony żaden taki element. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkLongCount<Char>()Przeciążone. Zwraca Int64 który stanowi całkowita liczba elementów w sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkLongCount<Char>(Func<Char, Boolean>)Przeciążone. Zwraca Int64 reprezentująca, ile elementów w sekwencji spełnia warunek. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>()Przeciążone. Zwraca maksymalną wartość w sekwencji rodzajowy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Int32>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość Int32 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Nullable<Int32>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość null Int32 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Int64>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość Int64 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Nullable<Int64>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość null Int64 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Single>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość Single wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Nullable<Single>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość null Single wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Double>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość Double wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Nullable<Double>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość null Double wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Decimal>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość Decimal wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char>(Func<Char, Nullable<Decimal>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca maksymalną wartość null Decimal wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMax<Char, TResult>(Func<Char, TResult>)Przeciążone. Wywołuje funkcję transformacji na każdy element rodzajowy sekwencji i zwraca maksymalną wartość wynikową. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>()Przeciążone. Zwraca minimalną wartość w sekwencji rodzajowy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Int32>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość Int32 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Nullable<Int32>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość nullable Int32 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Int64>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość Int64 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Nullable<Int64>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość nullable Int64 wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Single>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość Single wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Nullable<Single>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość nullable Single wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Double>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość Double wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Nullable<Double>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość nullable Double wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Decimal>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość Decimal wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char>(Func<Char, Nullable<Decimal>>)Przeciążone. Wywołuje funkcję transformacji na każdy element sekwencji i zwraca minimalną wartość nullable Decimal wartości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkMin<Char, TResult>(Func<Char, TResult>)Przeciążone. Wywołuje funkcję transformacji na każdy element rodzajowy sekwencji i zwraca minimalną wartość wynikową. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreOfType<TResult>Filtruje elementy z IEnumerable na podstawie określonego typu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkOrderBy<Char, TKey>(Func<Char, TKey>)Przeciążone. Sortuje elementy w sekwencji rosnąco według klucza. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkOrderBy<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)Przeciążone. Sortuje elementy w porządku rosnącym, przy użyciu określonego modułu porównującego sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkOrderByDescending<Char, TKey>(Func<Char, TKey>)Przeciążone. Sortuje elementy w sekwencji w porządku malejącym według klucza. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkOrderByDescending<Char, TKey>(Func<Char, TKey>, IComparer<TKey>)Przeciążone. Sortuje elementy w kolejności malejącej przy użyciu określonego modułu porównującego sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkReverse<Char>Odwraca kolejność elementów w sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSelect<Char, TResult>(Func<Char, TResult>)Przeciążone. Rzutuje każdy element sekwencji na nową formę. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSelect<Char, TResult>(Func<Char, Int32, TResult>)Przeciążone. Każdy element sekwencji na nowe formy projektów poprzez włączenie indeksu elementu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSelectMany<Char, TResult>(Func<Char, IEnumerable<TResult>>)Przeciążone. Projekty każdego elementu sekwencji do IEnumerable<T> i spłaszcza wynikowy sekwencji w jednej sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSelectMany<Char, TResult>(Func<Char, Int32, IEnumerable<TResult>>)Przeciążone. Projekty każdego elementu sekwencji do IEnumerable<T>i spłaszcza wynikowy sekwencji w jednej sekwencji. Indeks każdego elementu źródłowego jest używany w formularzu przewidywane tego elementu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSelectMany<Char, TCollection, TResult>(Func<Char, Int32, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)Przeciążone. Projekty każdego elementu sekwencji do IEnumerable<T>, spłaszcza wynikowy sekwencji w jednej sekwencji i tam wywołuje funkcję selektor wynik na każdy element. Indeks każdego elementu źródłowego jest używany w formie pośredniej przewidywane tego elementu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSelectMany<Char, TCollection, TResult>(Func<Char, IEnumerable<TCollection>>, Func<Char, TCollection, TResult>)Przeciążone. Projekty każdego elementu sekwencji do IEnumerable<T>, spłaszcza wynikowy sekwencji w jednej sekwencji i tam wywołuje funkcję selektor wynik na każdy element. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSequenceEqual<Char>(IEnumerable<Char>)Przeciążone. Określa, czy dwóch sekwencji są równe, porównując elementy przy użyciu modułu porównującego równości domyślne dla ich typu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSequenceEqual<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Przeciążone. Określa, czy dwóch sekwencji są równe, poprzez porównanie ich elementów przy użyciu określonej IEqualityComparer<T>. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSingle<Char>()Przeciążone. Zwraca tylko element sekwencji i zgłasza wyjątek, jeśli nie istnieje dokładnie jeden element w sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSingle<Char>(Func<Char, Boolean>)Przeciążone. Zwraca tylko element sekwencja, która spełnia określony warunek i zgłasza wyjątek, jeśli istnieje więcej niż jeden taki element. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSingleOrDefault<Char>()Przeciążone. Zwraca tylko element sekwencji lub wartość domyślną, jeśli sekwencja jest pusty; Ta metoda zgłasza wyjątek, jeśli istnieje więcej niż jeden element w sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSingleOrDefault<Char>(Func<Char, Boolean>)Przeciążone. Zwraca tylko element sekwencja, która spełnia określony warunek lub wartość domyślna, jeśli nie takie istnieje element; Ta metoda zgłasza wyjątek, jeśli więcej niż jeden element spełnia warunek. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSkip<Char>Pomija określoną liczbę elementów w sekwencji, a następnie zwraca wszystkie pozostałe elementy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSkipWhile<Char>(Func<Char, Boolean>)Przeciążone. Pomija elementy w sekwencji, dopóki określony warunek jest prawdziwy, a następnie zwraca wszystkie pozostałe elementy. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSkipWhile<Char>(Func<Char, Int32, Boolean>)Przeciążone. Pomija elementy w sekwencji, dopóki określony warunek jest prawdziwy, a następnie zwraca wszystkie pozostałe elementy. Indeks elementu jest używany w logice funkcji predykatu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaSubscribe<Char>(IObserver<Char>)Przeciążone. (Zdefiniowane przez Observable).
Publiczna metoda rozszerzeniaSubscribe<Char>(IObserver<Char>, IScheduler)Przeciążone. (Zdefiniowane przez Observable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Int32>)Przeciążone. Oblicza sumę sekwencji Int32 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Nullable<Int32>>)Przeciążone. Oblicza sumę sekwencji pustych Int32 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Int64>)Przeciążone. Oblicza sumę sekwencji Int64 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Nullable<Int64>>)Przeciążone. Oblicza sumę sekwencji pustych Int64 wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Single>)Przeciążone. Oblicza sumę sekwencji Single wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Nullable<Single>>)Przeciążone. Oblicza sumę sekwencji pustych Single wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Double>)Przeciążone. Oblicza sumę sekwencji Double wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Nullable<Double>>)Przeciążone. Oblicza sumę sekwencji pustych Double wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Decimal>)Przeciążone. Oblicza sumę sekwencji Decimal wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkSum<Char>(Func<Char, Nullable<Decimal>>)Przeciążone. Oblicza sumę sekwencji pustych Decimal wartości, które są otrzymywane przez wywołanie funkcji transformacji na każdy element sekwencji wejściowych. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkTake<Char>Zwraca określoną liczbę elementów sąsiadujących z początku sekwencji. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkTakeWhile<Char>(Func<Char, Boolean>)Przeciążone. Zwraca elementy z sekwencji, dopóki określony warunek jest spełniony. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkTakeWhile<Char>(Func<Char, Int32, Boolean>)Przeciążone. Zwraca elementy z sekwencji, dopóki określony warunek jest spełniony. Indeks elementu jest używany w logice funkcji predykatu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToArray<Char>Tworzony jest obiekt array z IEnumerable<T>. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToDictionary<Char, TKey>(Func<Char, TKey>)Przeciążone. Tworzy Dictionary<TKey, TValue> z IEnumerable<T> zgodnie z funkcją określonego klucza programu selector. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToDictionary<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)Przeciążone. Tworzy Dictionary<TKey, TValue> z IEnumerable<T> zgodnie z określonym kluczem wyboru funkcji i klucza moduł porównujący. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)Przeciążone. Tworzy Dictionary<TKey, TValue> z IEnumerable<T> zgodnie z określonym kluczem wyboru i funkcje programu selector element. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToDictionary<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)Przeciążone. Tworzy Dictionary<TKey, TValue> z IEnumerable<T> zgodnie z określonym kluczem wyboru funkcji, moduł porównujący i funkcja Selektor elementów. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToList<Char>Creates a List<T> from an IEnumerable<T>. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToLookup<Char, TKey>(Func<Char, TKey>)Przeciążone. Tworzy Lookup<TKey, TElement> z IEnumerable<T> zgodnie z funkcją określonego klucza programu selector. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToLookup<Char, TKey>(Func<Char, TKey>, IEqualityComparer<TKey>)Przeciążone. Tworzy Lookup<TKey, TElement> z IEnumerable<T> zgodnie z określonym kluczem wyboru funkcji i klucza moduł porównujący. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>)Przeciążone. Tworzy Lookup<TKey, TElement> z IEnumerable<T> zgodnie z określonym kluczem wyboru i funkcje programu selector element. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkToLookup<Char, TKey, TElement>(Func<Char, TKey>, Func<Char, TElement>, IEqualityComparer<TKey>)Przeciążone. Tworzy Lookup<TKey, TElement> z IEnumerable<T> zgodnie z określonym kluczem wyboru funkcji, moduł porównujący i funkcja Selektor elementów. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaToObservable<Char>()Przeciążone. (Zdefiniowane przez Observable).
Publiczna metoda rozszerzeniaToObservable<Char>(IScheduler)Przeciążone. (Zdefiniowane przez Observable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkUnion<Char>(IEnumerable<Char>)Przeciążone. Daje związek zestaw dwóch sekwencji za pomocą domyślnego modułu porównującego równości. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkUnion<Char>(IEnumerable<Char>, IEqualityComparer<Char>)Przeciążone. Tworzy związek zestaw dwóch sekwencji za pomocą określonej IEqualityComparer<T>. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkWhere<Char>(Func<Char, Boolean>)Przeciążone. Filtruje sekwencji wartości oparte na predykatu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaObsługiwane przez program XNA FrameworkWhere<Char>(Func<Char, Int32, Boolean>)Przeciążone. Filtruje sekwencji wartości oparte na predykatu. Każdy element indeks jest używany w logice funkcji predykatu. (Zdefiniowane przez Enumerable).
Publiczna metoda rozszerzeniaZip<Char, TSecond, TResult>Dotyczy podanej funkcji odpowiednie elementy dwóch sekwencji produkcji sekwencji wyników. (Zdefiniowane przez Enumerable).
Początek

  NazwaOpis
Pole publiczneStatyczny element członkowskiObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreEmptyReprezentuje pusty ciąg. To pole jest tylko do odczytu.
Początek

  NazwaOpis
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIComparable.CompareToPorównuje bieżące wystąpienie z innym obiektem tego samego typu i zwraca liczbę całkowitą, która wskazuje, czy bieżące wystąpienie poprzedza, następuje po lub występuje w tym samym położeniu, co inny obiekt w porządku sortowania.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToBooleanInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToBoolean.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToByteInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToByte.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToCharInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToChar.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToDateTimeInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToDateTime.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToDecimalInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToDecimal.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToDoubleInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToDouble.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToInt16Infrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToInt16.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToInt32Infrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToInt32.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToInt64Infrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToInt64.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToSByteInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToSByte.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToSingleInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToSingle.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToTypeInfrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToType.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToUInt16Infrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToUInt16.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToUInt32Infrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToUInt32.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIConvertible.ToUInt64Infrastruktura. Aby zapoznać się z opisem tego elementu członkowskiego, zobacz ToUInt64.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkIEnumerable<Char>.GetEnumeratorZwraca modułu wyliczającego, który dokonuje iteracji bieżące String obiektu.
Jawna implementacja interfejsuMetoda prywatnaObsługiwane przez program XNA FrameworkObsługiwane przez program Portable Class LibraryObsługiwane w .NET dla aplikacji do sklepu Windows StoreIEnumerable.GetEnumeratorZwraca modułu wyliczającego, który dokonuje iteracji bieżące String obiektu.
Początek

Ciąg jest kolekcja kolejne znaki Unicode, która jest używana do reprezentowania tekstu. A String obiektu jest kolekcją sekwencyjnego System.Char obiektów, które reprezentują ciąg. Wartość String obiekt jest zawartość kolejnych kolekcji i tej wartości jest niezmienny (to jest tylko do odczytu). Aby uzyskać więcej informacji na temat niezmienność ciągów, zobacz niezmienności i klasa StringBuilder sekcji w dalszej części tego tematu. Maksymalny rozmiar String obiektu w pamięci to 2 GB lub około 1 miliard znaków.

W tej sekcji:

Utworzenie wystąpienia obiektu String
Obiekty char i znaki Unicode
Ciągi i osadzone znaki o wartości zerowej
Ciągi i indeksy
Ciągi zerowe i puste ciągi
Niezmienność i klasa StringBuilder
Operacje porządkowe vs. operacje zależne od kultury
Normalizacja
Operacje na ciągach według kategorii

Utworzenie wystąpienia obiektu String

Można utworzyć wystąpienie String obiektu w następujący sposób:

  • Przez przypisanie ciągu literału do zmiennej typu String. Jest to metoda najczęściej używana do tworzenia ciągu znaków. W poniższym przykładzie użyto przypisania, aby utworzyć kilka ciągów. Zauważ, że ponieważ w języku C# odwrócona kreska ułamkowa (\) jest znakiem specjalnym, wystąpienia tego znaku w ciągu muszą zostać zmienione lub cały ciąg musi być poprzedzony znakiem @.

    
    string string1 = "This is a string created by assignment.";
    Console.WriteLine(string1);
    string string2a = "The path is C:\\PublicDocuments\\Report1.doc";
    Console.WriteLine(string2a);
    string string2b = @"The path is C:\PublicDocuments\Report1.doc";
    Console.WriteLine(string2b);
    // The example displays the following output:
    //       This is a string created by assignment.
    //       The path is C:\PublicDocuments\Report1.doc
    //       The path is C:\PublicDocuments\Report1.doc      
    
    
    
  • Wywołując String konstruktora klasy. Poniższy przykład tworzy wystąpienie ciągi wywołując kilku konstruktorów klas. Należy zauważyć, że niektóre z konstruktorów zawiera wskaźników do tablice znaków lub tablic bajtowych podpisany jako parametry. Visual Basic nie obsługuje wywołań do tych konstruktorów. Aby uzyskać szczegółowe informacje o String konstruktorów, zobacz String Konstruktor podsumowania.

    
    char[] chars = { 'w', 'o', 'r', 'd' };
    sbyte[] bytes = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x00 };
    
    // Create a string from a character array.
    string string1 = new string(chars);
    Console.WriteLine(string1);
    
    // Create a string that consists of a character repeated 20 times.
    string string2 = new string('c', 20);
    Console.WriteLine(string2);
    
    string stringFromBytes = null;
    string stringFromChars = null;
    unsafe
    {
       fixed (sbyte* pbytes = bytes)
       {
          // Create a string from a pointer to a signed byte array.
          stringFromBytes = new string(pbytes);
       }
       fixed (char* pchars = chars)
       {
          // Create a string from a pointer to a character array.
          stringFromChars = new string(pchars);
       }
    }
    Console.WriteLine(stringFromBytes);
    Console.WriteLine(stringFromChars);
    // The example displays the following output:
    //       word
    //       cccccccccccccccccccc
    //       ABCDE
    //       word  
    
    
    
  • Za pomocą operator konkatenacji (+ w języku C# i & lub + w języku Visual Basic) do utworzenia jeden ciąg znaków z dowolnej kombinacji String wystąpienia i literały ciągów znaków. Poniższy przykład ilustruje użycie operator konkatenacji ciągów znaków.

    
    string string1 = "Today is " + DateTime.Now.ToString("D") + ".";
    Console.WriteLine(string1);
    
    string string2 = "This is one sentence. " + "This is a second. ";
    string2 += "This is a third sentence.";
    Console.WriteLine(string2);
    // The example displays output like the following:
    //    Today is Tuesday, July 06, 2011.
    //    This is one sentence. This is a second. This is a third sentence.
    
    
    
  • Pobieranie właściwości lub metody, która zwraca wartość typu ciąg. W poniższym przykładzie użyto metody String klasy do Wyodrębnij podciąg z większy ciąg.

    
    string sentence = "This sentence has five words.";
    // Extract the second word.
    int startPosition = sentence.IndexOf(" ") + 1;
    string word2 = sentence.Substring(startPosition,
                                      sentence.IndexOf(" ", startPosition) - startPosition);
    Console.WriteLine("Second word: " + word2);
    // The example displays the following output:
    //       Second word: sentence
    
    
    
  • Wywołując metodę formatowania do konwersji wartości lub obiekt na jego reprezentację ciąg. W poniższym przykładzie użyto złożonego formatowania funkcja osadzania reprezentację ciągu dwóch obiektów na ciąg znaków.

    
    DateTime dateAndTime = new DateTime(2011, 7, 6, 7, 32, 0);
    double temperature = 68.3;
    string result = String.Format("At {0:t} on {0:D}, the temperature was {1:F1} degrees Fahrenheit.",
                                  dateAndTime, temperature);
    Console.WriteLine(result);
    // The example displays the following output:
    //       At 7:32 AM on Wednesday, July 06, 2011, the temperature was 68.3 degrees Fahrenheit.      
    
    
    

Obiekty char i znaki Unicode

Każdy znak w ciągu jest określony przez wartość skalarną Unicode, zwany także punkt kodowy Unicode lub wartości porządkowej (numeryczne) znak Unicode. Każdy punkt kodu są kodowane przy użyciu kodowania UTF-16 i wartość liczbowa każdy element kodowania jest reprezentowana przez Char obiektu.

Pojedynczy Char obiekt zazwyczaj reprezentuje pojedynczy kod punktu; oznacza to, że wartość liczbową z Char jest równe punkt kodu. Na przykład punkt kodu "znaku a" jest U + 0061. Punkt kodu mogą jednak wymagać więcej niż jeden element zakodowany (więcej niż jeden Char obiektu). Unicode standard definiuje trzy rodzaje znaków, które odnoszą się do wielu Char obiektów: graphemes, punkty dodatkowego kodu Unicode i znaków w dodatkowych płaszczyzn.

  • Grapheme jest reprezentowana przez znaku podstawowego, a następnie łączenia znaków. Na przykład, znak ä jest reprezentowany przez a Char obiektu, którego punkt kodu jest U + 0061 następuje a Char obiektu, którego punkt kodu jest U + 0308. Można także zdefiniować tego znaku przez pojedynczy Char obiekt, który ma punkt kodu U + 00E4. Jak w poniższym przykładzie pokazano, porównanie hodowli wrażliwych na rzecz równości wskazuje, że te dwie reprezentacje są równe, chociaż zwykłych porównanie porządkowa nie. Jednak jeśli dwa ciągi są znormalizowane, porządkowych porównanie również wskazuje, że są równe. (Aby uzyskać więcej informacji na temat normalizacji ciągów, zobacz normalizacji sekcji.)

    
    using System;
    using System.Globalization;
    using System.IO;
    
    public class Example
    {
       public static void Main()
       {
          StreamWriter sw = new StreamWriter(@".\graphemes.txt");
          string grapheme = "\u0061\u0308";
          sw.WriteLine(grapheme);
    
          string singleChar = "\u00e4";
          sw.WriteLine(singleChar);
    
          sw.WriteLine("{0} = {1} (Culture-sensitive): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.CurrentCulture));
          sw.WriteLine("{0} = {1} (Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme, singleChar, 
                                     StringComparison.Ordinal));
          sw.WriteLine("{0} = {1} (Normalized Ordinal): {2}", grapheme, singleChar, 
                       String.Equals(grapheme.Normalize(), 
                                     singleChar.Normalize(), 
                                     StringComparison.Ordinal));
          sw.Close(); 
       }
    }
    // The example produces the following output:
    //       ä
    //       ä
    //       ä = ä (Culture-sensitive): True
    //       ä = ä (Ordinal): False
    //       ä = ä (Normalized Ordinal): True
    
    
    
  • Unicode kod dodatkowy punkt (para zastępcza) jest reprezentowana przez Char obiektu, którego punkt kodu jest zastępczy wysokiego poziomu następuje Char obiektu, którego punkt kodu jest zastępczym niskiego poziomu. Jednostki kodu zastępcze wysokiego zakresu od U + D800 do U + DBFF. Jednostki kodu w zakresie niskich części znaku dwuskładnikowego od U + DC00 do U + DFFF. Pary części znaku dwuskładnikowego służą do reprezentowania znaków w płaszczyznach dodatkowe 16 Unicode. Poniższy przykład tworzy znaku dwuskładnikowego i przekazuje je do Char.IsSurrogatePair(Char, Char) do określenia, czy para zastępcza.

    
    using System;
    
    public class Example
    {
       public static void Main()
       {
          string surrogate = "\uD800\uDC03";
          for (int ctr = 0; ctr < surrogate.Length; ctr++) 
             Console.Write("U+{0:X2} ", Convert.ToUInt16(surrogate[ctr]));
    
          Console.WriteLine();
          Console.WriteLine("   Is Surrogate Pair: {0}", 
                            Char.IsSurrogatePair(surrogate[0], surrogate[1]));
       }
    }
    // The example displays the following output:
    //       U+D800 U+DC03
    //          Is Surrogate Pair: True
    
    
    

Ciągi i osadzone znaki o wartości zerowej

W.NET Framework String obiektu może zawierać osadzony puste znaki, które liczą się jako część długość ciągu. Jednak w przypadku niektórych języków takich jak C i C++ znak null wskazuje koniec ciągu; nie jest uważany za część ciągu, a nie jest liczony jako część długość ciągu. To oznacza, że następujące założenia wspólnej, które programistów C i C++ lub bibliotek napisanych w języku C++ lub C może wprowadzić temat ciągów nie są zawsze wtedy, gdy zastosowany do String obiektów:

  • Wartość zwracana przez strlen lub wcslen funkcje niekoniecznie równa String.Length.

  • Ciąg utworzony przez strcpy_s lub wcscpy_s funkcje nie jest koniecznie identyczny ciąg utworzony przez String.Copy metody.

Należy upewnić się, że macierzysty kod C i C++, który tworzy String obiekty i kod, który jest przekazywany String obiektów za pomocą platformy wywołać, nie należy zakładać, że osadzony znak null oznacza koniec ciągu.

Osadzonych znaków null w ciągu są też traktowane inaczej podczas ciąg jest sortowane (lub porównaniu) i ciąg będzie przeszukiwana. Puste znaki są ignorowane podczas przeprowadzania porównań hodowli wrażliwych pomiędzy dwa ciągi, łącznie z porównania za pomocą Niezmienna kultura. Są one rozpatrywane tylko dla porównań porządkowych porządkowych lub bez uwzględniania wielkości liter. Z drugiej strony, gdy takie jak wyszukiwanie ciągu za pomocą metod osadzonych znaków null są zawsze traktowane Contains, StartsWith, i IndexOf.

Ciągi i indeksy

Indeks jest pozycja Char obiektu (nie znak Unicode) w String. Indeks jest od zera, nieujemna liczba, która rozpoczyna się od pierwszej pozycji w ciągu, który ma indeks 0. Liczba metod wyszukiwania takie jak IndexOf i LastIndexOf, zwraca indeks znaku lub podciągu w instancja klasy string.

Chars Właściwość umożliwia uzyskanie dostępu do poszczególnych Char obiekty przez ich położenie indeksu w ciągu znaków. Ponieważ Chars właściwość domyślna właściwość (w języku Visual Basic) lub indeksator (w języku C#), można uzyskać dostęp poszczególnych Char obiekty w ciągu przy użyciu następującego kodu. Ten kod szuka spacje lub znaki interpunkcyjne w ciągu, aby określić, ile wyrazów zawiera ciąg.


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      for (int ctr = 0; ctr < s1.Length; ctr++) {
         if (Char.IsPunctuation(s1[ctr]) | Char.IsWhiteSpace(s1[ctr]))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


Ponieważ String klasy implementuje IEnumerable interfejsu, można także wykonać iterację Char obiekty w ciągu za pomocą foreach konstrukcji, co ilustruje poniższy przykład.


using System;

public class Example
{
   public static void Main()
   {
      string s1 = "This string consists of a single short sentence.";
      int nWords = 0;

      s1 = s1.Trim();      
      foreach (var ch in s1) {
         if (Char.IsPunctuation(ch) | Char.IsWhiteSpace(ch))
            nWords++;              
      }
      Console.WriteLine("The sentence\n   {0}\nhas {1} words.",
                        s1, nWords);                                                                     
   }
}
// The example displays the following output:
//       The sentence
//          This string consists of a single short sentence.
//       has 8 words.


Numer kolejny wartości mogą nie odpowiadać kolejne znaki Unicode, ponieważ może być znak Unicode zakodowane w więcej niż jednym Char obiektu. W szczególności ciąg może zawierać jednostki wielu znaków tekstu, które są tworzone przez znaku podstawowego a następnie przez łączenia znaków lub pary części znaku dwuskładnikowego. Do pracy ze znakami Unicode, a nie Char obiekty, użyj System.Globalization.StringInfo i TextElementEnumerator klas. Poniższy przykład ilustruje różnicę między kod, który działa z Char obiekty i kod, który działa ze znakami Unicode. Porównuje liczbę znaków lub elementów tekstowych w każdego wyrazu w zdaniu. Ciąg zawiera dwie sekwencje znaku podstawowego następuje znak łączących.


using System;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // First sentence of The Mystery of the Yellow Room, by Leroux.
      string opening = "Ce n'est pas sans une certaine émotion que "+
                       "je commence à raconter ici les aventures " +
                       "extraordinaires de Joseph Rouletabille."; 
      // Character counters.
      int nChars = 0;
      // Objects to store word count.
      List<int> chars = new List<int>();
      List<int> elements = new List<int>();

      foreach (var ch in opening) {
         // Skip the ' character.
         if (ch == '\u0027') continue;

         if (Char.IsWhiteSpace(ch) | (Char.IsPunctuation(ch))) {
            chars.Add(nChars);
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      TextElementEnumerator te = StringInfo.GetTextElementEnumerator(opening);
      while (te.MoveNext()) {
         string s = te.GetTextElement();   
         // Skip the ' character.
         if (s == "\u0027") continue;
         if ( String.IsNullOrEmpty(s.Trim()) | (s.Length == 1 && Char.IsPunctuation(Convert.ToChar(s)))) {
            elements.Add(nChars);         
            nChars = 0;
         }
         else {
            nChars++;
         }
      }

      // Display character counts.
      Console.WriteLine("{0,6} {1,20} {2,20}",
                        "Word #", "Char Objects", "Characters"); 
      for (int ctr = 0; ctr < chars.Count; ctr++) 
         Console.WriteLine("{0,6} {1,20} {2,20}",
                           ctr, chars[ctr], elements[ctr]); 
   }
}
// The example displays the following output:
//       Word #         Char Objects           Characters
//            0                    2                    2
//            1                    4                    4
//            2                    3                    3
//            3                    4                    4
//            4                    3                    3
//            5                    8                    8
//            6                    8                    7
//            7                    3                    3
//            8                    2                    2
//            9                    8                    8
//           10                    2                    1
//           11                    8                    8
//           12                    3                    3
//           13                    3                    3
//           14                    9                    9
//           15                   15                   15
//           16                    2                    2
//           17                    6                    6
//           18                   12                   12


W tym przykładzie działa z elementami tekstu za pomocą StringInfo.GetTextElementEnumerator metody i TextElementEnumerator klasy wyliczyć wszystkie elementy tekstu w ciąg. Można także pobrać tablicę zawierającą indeks początkowy każdego elementu text, wywołując StringInfo.ParseCombiningCharacters metody.

Aby uzyskać więcej informacji dotyczących pracy z jednostkami tekstu, a nie indywidualnych Char wartości, zobacz StringInfo klasy.

Ciągi zerowe i puste ciągi

Jest ciągiem, który został zadeklarowany, lecz nie została przypisana wartość null. Próba wywołania metody na ciąg wyrzuca NullReferenceException. Ciąg null różni się od pusty ciąg znaków, który jest ciągiem, którego wartością jest "" lub String.Empty. W niektórych przypadkach przekazując ciąg null lub pusty ciąg jako argument w wywołaniu metody zgłasza wyjątek. Na przykład przekazując ciąg null do Int32.Parse wyrzuca metoda ArgumentNullExceptioni przekazywanie pusty ciąg wyrzuca FormatException. W innych przypadkach argument metody może być ciąg null ani ciągiem pustym. Na przykład, jeśli mają być udostępniane IFormattable implementacji dla klasy chcesz oznaczać zarówno ciąg null, a ciąg pusty ogólne określenie formatu ("G").

String Klasa obejmuje następujące metody dwie wygodne, które pozwalają sprawdzić, czy ciąg jest null lub pusty:

  • IsNullOrEmpty , która wskazuje, czy ciąg jest null lub jest równa String.Empty. Ta metoda eliminuje konieczność użycie kodu, takie jak następujące:

    
    if (str == null || str.Equals(String.Empty))
    
    
    
  • IsNullOrWhiteSpace , która wskazuje, czy ciąg null, jest równa String.Empty, albo składa się wyłącznie ze znaków spacji. Ta metoda eliminuje konieczność użycie kodu, takie jak następujące:

    
    if (str == null || str.Equals(String.Empty) || str.Trim().Equals(String.Empty))
    
    
    

W poniższym przykładzie użyto IsNullOrEmpty metoda w IFormattable.ToString wdrażania niestandardowego Temperature klasy. Metoda obsługuje ciągi formatu "G", "C", "F" i "K". Jeżeli ciąg pusty format lub w formacie ciąg, którego wartość jest null jest przekazywana do metody, jego wartość zostanie zmieniona na ciąg formatu "G".


public string ToString(string format, IFormatProvider provider) 
{
   if (String.IsNullOrEmpty(format)) format = "G";  
   if (provider == null) provider = CultureInfo.CurrentCulture;

   switch (format.ToUpperInvariant())
   {
      // Return degrees in Celsius.    
      case "G":
      case "C":
         return temp.ToString("F2", provider) + "°C";
      // Return degrees in Fahrenheit.
      case "F": 
         return (temp * 9 / 5 + 32).ToString("F2", provider) + "°F";
      // Return degrees in Kelvin.
      case "K":   
         return (temp + 273.15).ToString();
      default:
         throw new FormatException(
               String.Format("The {0} format string is not supported.", 
                             format));
   }                                   
}


Niezmienność i klasa StringBuilder

A String obiekt jest nazywany niezmienne (tylko do odczytu), ponieważ jego wartości nie można modyfikować po jego utworzeniu. Metody, które wydają się zmodyfikować String obiektu faktycznie zwracać nowy String obiekt, który zawiera zmiany.

Ponieważ ciągi są niezmienne, ciąg manipulacji procedur, które będą wykonywać powtórzony, dodawania i usuwania, co wydaje się być jeden ciąg znaków można dokładnie znaczących wydajnie. Na przykład następujący kod używa generatora liczb losowych Aby utworzyć ciąg z 1000 znaków z zakresu od 0x0001 do 0x052F. Chociaż kod wydaje się użyć konkatenacji ciągów, aby dołączyć nowy znak do istniejących string o nazwie str, to faktycznie tworzy nowy String obiektu dla każdej operacji łączenia.


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();

      string str = String.Empty;
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                           false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         str += Convert.ToChar(rnd.Next(1, 0x0530)); 
         if (str.Length % 60 == 0)
            str += Environment.NewLine;          
      }                    
      sw.Write(str);
      sw.Close();
   }
}


Można użyć StringBuilder klasy a nie String klasy dla operacji, których wykonywanie wielu zmian wartości ciągu. W przeciwieństwie do wystąpienia String klasy, StringBuilder obiekty są zmienne; Podczas łączenia, dołączania lub usunąć podciągów z ciągu operacje są wykonywane w jeden ciąg znaków. Po zakończeniu modyfikowania wartości StringBuilder obiektu, można wywołać jej StringBuilder.ToString metoda, aby przekonwertować go na ciąg. Poniższy przykład zamienia String używane w poprzednim przykładzie, aby złączyć 1000 losowych znaków w zakresie do 0x0001 do 0x052F z StringBuilder obiektu.


using System;
using System.IO;
using System.Text;

public class Example
{
   public static void Main()
   {
      Random rnd = new Random();
      StringBuilder sb = new StringBuilder();
      StreamWriter sw = new StreamWriter(@".\StringFile.txt", 
                                         false, Encoding.Unicode);

      for (int ctr = 0; ctr <= 1000; ctr++) {
         sb.Append(Convert.ToChar(rnd.Next(1, 0x0530))); 
         if (sb.Length % 60 == 0)
            sb.AppendLine();          
      }                    
      sw.Write(sb.ToString());
      sw.Close();
   }
}


Operacje porządkowe vs. operacje zależne od kultury

Członkowie String klasy wykonywania porządkowych lub hodowli wrażliwych operacji (językowych) na String obiektu. Porządkowa operacji zostanie wykonane o liczbową wartość każdego Char obiektu. Operacja hodowli wrażliwych działa na wartość String obiektu i ma specyficzne dla kultury obudowy, sortowanie, formatowanie i pod uwagę podczas analizowania reguły. Kultury ważnych operacji jest wykonywany w kontekście jawnie deklarowana kultury lub niejawne bieżącej kultury. Oba rodzaje operacji może wygenerować różne wyniki, gdy są one wykonywane na ten sam ciąg.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Jeśli aplikacja podejmuje decyzję o identyfikator symboliczne, takie jak nazwa pliku zabezpieczeń lub nazwany potok lub o danych takich jak danych tekstowych w pliku XML, operacja należy użyć porządkowych porównanie zamiast porównania hodowli wrażliwych. To dlatego porównanie hodowli wrażliwych mogą przynieść w rezultacie różne wyniki w zależności od kultury porządkowych porównanie zależy wyłącznie na podstawie wartości binarnych w porównaniu znaków.

Ważna uwagaWażne

Większości metod, które wykonują operacje na ciągach obejmują przeciążeniu, które ma parametr typu StringComparison, który umożliwia określenie, czy metoda wykonuje operację porządkowych lub hodowli wrażliwych. Ogólnie rzecz biorąc powinna wywołać tego przeciążenia, aby zamiarem metodę wywołania jasne. Aby uzyskać najważniejsze wskazówki i wytyczne dotyczące za pomocą operacji porządkową i hodowli wrażliwych na ciągi znaków, zobacz Najlepsze praktyki używania ciągów w programie .NET Framework.

Operacje dla obudowa, Formatowanie i analizowanie, porównania i sortowania, i badania na rzecz równości może być porządkowych lub hodowli wrażliwych. W poniższych sekcjach omówiono każdej kategorii transakcji.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifWielkość znaków

Obudowa reguły określają, jak zmienić wielkość liter znaku Unicode; na przykład z małymi literami na wielkie litery. Często operacja obudowy jest wykonywane przed porównywania ciągów znaków. Na przykład ciąg może być przekonwertowany na wielkie litery, tak, że można ją porównać z innego ciągu wielkie litery. Można konwertować znaki w ciągu na małe litery, wywołując ToLower lub ToLowerInvariant metoda i można je przekonwertować na wielkie litery, wywołując ToUpper lub ToUpperInvariant metody. Ponadto można użyć TextInfo.ToTitleCase metoda, aby przekonwertować ciąg na tytuł sprawy.

Obudowa operacje mogą być oparte na przepisach bieżącej kultury, określonej kultury lub Niezmienna kultura. Ponieważ mapowania sprawy mogą się różnić w zależności od kultury używane, wynik operacji obudowy może zmieniać się zależnie od kultury. Rzeczywiste różnice w obudowie są trzy rodzaje:

  • Różnice w mapowania liter ŁACIŃSKA Wielka litera i (U + 0049), ŁACIŃSKA MAŁA litera I (U + 0069), ŁACIŃSKA Wielka litera I z kropka nad (U + 0130) i ŁACIŃSKA MAŁA litera bez kropki I (U + 0131). Tr-TR (turecki (Turcja)) i kulturami az-Latn-AZ (Azerbejdżanem, łaciński), a w tr, az i kultury neutralnej az Latn odpowiednik mała litera ŁACIŃSKA Wielka litera i jest ŁACIŃSKA MAŁA litera bez kropki I, i wielkich równowartość ŁACIŃSKA MAŁA litera I jest Wielka litera I z KROPKĄ powyżej. W innych kultur w tym Niezmienna kultura ŁACIŃSKA MAŁA litera I i litera ŁACIŃSKA I są odpowiedniki małych i wielkich.

    Poniższy przykład ilustruje sposób porównywania ciągów znaków, zaprojektowane aby uniemożliwić dostęp do systemu plików może się nie powieść Jeśli opiera się na porównaniu hodowli wrażliwych obudowy. (Konwencje obudowy z kulturą niezmienną należało.)

    
    using System;
    using System.Globalization;
    using System.Threading;
    
    public class Example
    {
       const string disallowed = "file";
    
       public static void Main()
       {
          IsAccessAllowed(@"FILE:\\\c:\users\user001\documents\FinancialInfo.txt");
       }
    
       private static void IsAccessAllowed(String resource)
       {
          CultureInfo[] cultures = { CultureInfo.CreateSpecificCulture("en-US"),
                                     CultureInfo.CreateSpecificCulture("tr-TR") };
          String scheme = null;
          int index = resource.IndexOfAny( new Char[] { '\\', '/' } );
          if (index > 0) 
             scheme = resource.Substring(0, index - 1);
    
          // Change the current culture and perform the comparison.
          foreach (var culture in cultures) {
             Thread.CurrentThread.CurrentCulture = culture;
             Console.WriteLine("Culture: {0}", CultureInfo.CurrentCulture.DisplayName);
             Console.WriteLine(resource);
             Console.WriteLine("Access allowed: {0}", 
                               ! String.Equals(disallowed, scheme, StringComparison.CurrentCultureIgnoreCase));      
             Console.WriteLine();
          }   
       }
    }
    // The example displays the following output:
    //       Culture: English (United States)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: False
    //       
    //       Culture: Turkish (Turkey)
    //       FILE:\\\c:\users\user001\documents\FinancialInfo.txt
    //       Access allowed: True
    
    
    
  • Różnice w przypadku mapowania między Niezmienna kultura i wszystkich innych kultur. W takich przypadkach aby zmienić znak na wielkie lub małe litery przy użyciu reguł obudowy z kulturą niezmienną zwraca ten sam znak. Dla wszystkich innych kultur zwraca inny znak. Niektóre znaki dotknięte są wymienione w poniższej tabeli.

    Znak

    Jeśli zmienia się na

    Zwraca

    MICRON ZNAK (U + 00B5)

    Wielkie litery

    LITERY GRECKIEJ MU (U +-39C)

    WIELKA LITERA I Z KROPKĄ POWYŻEJ (U + 0130)

    Małe litery

    MAŁA LITERA I (U + 0069)

    ŁACIŃSKA MAŁA LITERA BEZ KROPKI I (U + 0131)

    Wielkie litery

    WIELKA LITERA I (U + 0049)

    MAŁA LITERA S DŁUGI (U + 017F)

    Wielkie litery

    WIELKA LITERA S (U + 0053)

    WIELKA LITERA D Z MAŁA LITERA Z ZE ZNAKIEM CARON (U + 01C 5)

    Małe litery

    ŁACIŃSKA MAŁA LITERA DZ ZE ZNAKIEM CARON (U + 01C 6)

    ŁĄCZENIE GRECKIE YPOGEGRAMMENI (U + 0345)

    Wielkie litery

    GRECKI LITERA JOTA (U + 0399)

  • Różnice w przypadku mapowania dwuliterowy par wielkie i małe litery w zakresie znaków ASCII. W większości kultur para różnej wielkości liter jest równa równoważne para wielkich i małych liter. Nie jest to prawdą dla następujących par dwuliterowy w następujących kultur, ponieważ w każdym przypadku są porównywane z digraph:

    • "lJ" i "nJ" w kulturze hr-HR (Chorwacki (Chorwacja)).

    • "cH" cs-CZ (czeski (Republika Czeska)) i kulturami sk-SK (Słowacki (Słowacja)).

    • "aA" w kulturze da-DK (duński (Dania)).

    • "cS", "dZ", "dZS", "Polska", "sZ", "tY" i "zS" w kulturze hu-HU (węgierski (Węgry)).

    • "cH" i "wszystko" w kulturze es-ES_tradnl (Hiszpański (Hiszpania, sortowanie tradycyjne)).

    • "cH", "gI", "kH", "nG" "nH", "pH", "qU", "tH" i "tR" w kulturze vi-VN (Wietnamski (Wietnam)).

    To nietypowe wystąpić sytuacja, w której hodowli wrażliwych porównanie tych par stwarza problemy, ponieważ te pary są rzadko stosowane w stałych ciągi lub identyfikatorów.

Poniższy przykład ilustruje pewne różnice w przepisach obudowy między kulturami podczas konwersji ciągów na wielkie litery.


using System;
using System.Globalization;
using System.IO;

public class Example
{
   public static void Main()
   {
      StreamWriter sw = new StreamWriter(@".\case.txt");   
      string[] words = { "file", "sıfır", "Dženana" };
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"),  
                                 new CultureInfo("tr-TR") };

      foreach (var word in words) {
         sw.WriteLine("{0}:", word);
         foreach (var culture in cultures) {
            string name = String.IsNullOrEmpty(culture.Name) ? 
                                 "Invariant" : culture.Name;
            string upperWord = word.ToUpper(culture);
            sw.WriteLine("   {0,10}: {1,7} {2, 38}", name, 
                         upperWord, ShowHexValue(upperWord));

         }
         sw.WriteLine();  
      }
      sw.Close();
   }

   private static string ShowHexValue(string s)
   {
      string retval = null;
      foreach (var ch in s) {
         byte[] bytes = BitConverter.GetBytes(ch);
         retval += String.Format("{0:X2} {1:X2} ", bytes[1], bytes[0]);     
      }
      return retval;
   } 
}
// The example displays the following output:
//    file:
//        Invariant:    FILE               00 46 00 49 00 4C 00 45 
//            en-US:    FILE               00 46 00 49 00 4C 00 45 
//            tr-TR:    FİLE               00 46 01 30 00 4C 00 45 
//    
//    sıfır:
//        Invariant:   SıFıR         00 53 01 31 00 46 01 31 00 52 
//            en-US:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//            tr-TR:   SIFIR         00 53 00 49 00 46 00 49 00 52 
//    
//    Dženana:
//        Invariant:  DžENANA   01 C5 00 45 00 4E 00 41 00 4E 00 41 
//            en-US:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 
//            tr-TR:  DŽENANA   01 C4 00 45 00 4E 00 41 00 4E 00 41 


s1wwdcbf.collapse_all(pl-pl,VS.110).gifFormatowanie i analizowanie

Formatowanie i analizowanie są operacje odwrotny. Reguły formatowania Ustal sposób konwersji wartości, takie jak Data i godzina albo liczbą, jego reprezentację ciąg, należy podczas analizowania reguły określają, jak konwertować ciąg znaków reprezentujący wartość, taką jak Data i godzina. Zarówno formatowanie i analizowanie reguły są zależne od konwencje kulturalne. Poniższy przykład ilustruje niejasności w tym mogą pojawić się przy interpretacji ciągu daty specyficzne dla kultury. Nie znając konwencje kultury, który został użyty do utworzenia ciągu daty, nie jest możliwe, aby wiedzieć, czy 01/03/2011, 2011-3-1 i 2011-01-03 reprezentują 3 stycznia 2011 r. i 1 marca 2011.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      DateTime date = new DateTime(2011, 3, 1);
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 new CultureInfo("en-US"), 
                                 new CultureInfo("fr-FR") };

      foreach (var culture in cultures)
         Console.WriteLine("{0,-12} {1}", String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.ToString("d", culture));                                    
   }
}
// The example displays the following output:
//       Invariant    03/01/2011
//       en-US        3/1/2011
//       fr-FR        01/03/2011


Podobnie jak w poniższym przykładzie pokazano, jeden ciąg znaków może wygenerować różne daty w zależności od kultury, którego konwencje są używane w operacji przetwarzania.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string dateString = "07/10/2011";
      CultureInfo[] cultures = { CultureInfo.InvariantCulture, 
                                 CultureInfo.CreateSpecificCulture("en-GB"), 
                                 CultureInfo.CreateSpecificCulture("en-US") };
      Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}\n", "Date String", "Culture", 
                                                 "Month", "Day");
      foreach (var culture in cultures) {
         DateTime date = DateTime.Parse(dateString, culture);
         Console.WriteLine("{0,-12} {1,10} {2,8} {3,8}", dateString, 
                           String.IsNullOrEmpty(culture.Name) ?
                           "Invariant" : culture.Name, 
                           date.Month, date.Day);
      }                      
   }
}
// The example displays the following output:
//       Date String     Culture    Month      Day
//       
//       07/10/2011    Invariant        7       10
//       07/10/2011        en-GB       10        7
//       07/10/2011        en-US        7       10


s1wwdcbf.collapse_all(pl-pl,VS.110).gifPorównanie ciągów i sortowanie

Konwencje dotyczące porównanie i sortowania ciągów różnią się kultura. Na przykład kolejność sortowania może opierać się na fonetyka lub wizualna reprezentacja znaków. W językach wschodnioazjatyckich znaki są sortowane według obrysu i radykalne z ideogramy. Sortowanie zależy również od kolejności języków i kultur używać do alfabetu. Na przykład w języku duńskim ma znak "Ć", która sortuje po "Z" w alfabecie. Ponadto porównania może być rozróżniana lub nie, a w niektórych przypadkach obudowy zasady również różnią się w badaniu hodowlanym. Porównanie porządkowych, z drugiej strony, używa punkty kodowe Unicode poszczególnych znaków w ciągu podczas porównywania i sortowania ciągów.

Reguły sortowania określa kolejności alfabetycznej znaków Unicode i jak dwa ciągi porównać ze sobą. Na przykład String.Compare(String, String, StringComparison) metoda porównuje dwa ciągi na podstawie StringComparison parametru. Jeśli wartość parametru jest StringComparison.CurrentCulture, metoda wykonuje porównania językowej, który używa konwencji bieżącej kultury; Jeśli wartość parametru jest StringComparison.Ordinal, metoda wykonuje porządkowych porównania. W związku z tym co ilustruje poniższy przykład, jeśli bieżąca kultura jest USA Angielski, pierwsze wywołanie funkcji String.Compare(String, String, StringComparison) (za pomocą porównania hodowli wrażliwych) metoda uważa "" mniej niż "A", lecz uważa, drugie wywołanie do tej samej metody (za pomocą porównania porządkowych) "a" większe niż "A".


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("en-US");
      Console.WriteLine(String.Compare("A", "a", StringComparison.CurrentCulture));
      Console.WriteLine(String.Compare("A", "a", StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       1
//       -32


.NET Framework obsługuje program word, ciąg i reguły sortowania porządkowych:

  • Sortowanie słów wykonuje zależne od kultury porównanie ciągów, w których niektóre znaki niealfanumeryczne Unicode mogą mieć specjalnie przypisane wagi. Na przykład łącznik (-) może mieć bardzo małe wagi, powierzone mu "współpracy" oraz "kooperacyjny" będą wyświetlane obok siebie w posortowanej listy. Aby uzyskać listę String metod, które porównania dwóch ciągów przy użyciu programu word reguły sortowania, zobacz operacje na ciągach według kategorii sekcji.

  • Ciąg sortowania również wykonuje porównanie hodowli wrażliwych. Jest podobny do swego programu word, chyba że istnieją żadnych specjalnych przypadków i wszystkich innych niż alfanumeryczne symbole umieszczane przed wszystkie alfanumerycznych znaków Unicode. Dwa ciągi mogą być porównywane przez wywołanie przy użyciu reguły sortowania ciągu CompareInfo.Compare przeciążenia metody, które mają options parametr, który jest podana wartość z CompareOptions.StringSort. Należy zauważyć, że jest jedyną metodą, która.NET Framework zapewnia do porównania dwóch ciągów przy użyciu reguł sortowania ciągu.

  • Porządkowe sortowanie porównuje ciągi na podstawie wartości liczbowej każdego obiektu Char w ciągu. Porządkowa porównanie jest automatycznie uwzględniana wielkość liter, ponieważ wersje małych i wielkich o charakterze mają inny kod punktów. Jednak jeśli sprawy nie są ważne, można określić porządkowych porównania, który ignoruje wielkość liter. Jest to równoważne konwersji ciągu na wielką literę za pomocą Niezmienna kultura i następnie wykonując porządkowych porównania na podstawie wyniku. Aby uzyskać listę String metod, które porównania dwóch ciągów przy użyciu reguł porządkowych sortowania, zobacz operacje na ciągach według kategorii sekcji.

Porównanie hodowli wrażliwych jest każde porównanie używający jawnie lub niejawnie CultureInfo obiektu, łącznie z kulturą niezmienną, która jest określona przez CultureInfo.InvariantCulture właściwości. Niejawna kultury jest bieżąca kultura, który jest określony przez Thread.CurrentCulture i CultureInfo.CurrentCulture właściwości. Ma znacznego zróżnicowania kolejność sortowania znaków alfabetu (czyli znaki, dla których Char.IsLetter właściwość zwraca true) między kulturami. Można określić porównania hodowli wrażliwych, który używa Konwencji określonej kultury poprzez dostarczanie CultureInfo sprzeciw w stosunku do metody porównania ciągów takie jak Compare(String, String, CultureInfo, CompareOptions). Można określić porównania hodowli wrażliwych, który używa konwencji bieżącej kultury poprzez dostarczanie StringComparison.CurrentCulture, StringComparison.CurrentCultureIgnoreCase, lub członek CompareOptions wyliczenie innych niż CompareOptions.Ordinal lub CompareOptions.OrdinalIgnoreCase do odpowiednich przeciążenie Compare metody. Porównanie hodowli wrażliwych jest ogólnie właściwe do sortowania porządkowych porównania nie jest. Porządkowa porównanie jest ogólnie właściwe dla określenia, czy dwa ciągi znaków są równe (czyli określania tożsamości) porównania hodowli wrażliwych nie jest.

Poniższy przykład ilustruje różnicę między porównanie hodowli wrażliwych i porządkowych. Przykład oblicza trzy ciągi, "Jabłko", "Æble" i "AEble", wykorzystując konwencje kultur da-DK i en US (z których każdy jest domyślną kulturę w czasie Compare wywoływana jest metoda), a także porównanie porządkowych. Ponieważ języka duńskiego znaku "Ć" traktuje jako jednej litery i sortuje go po "Z" w alfabecie, ciąg "Æble" jest większa niż "Jabłko". Jednak "Æble" nie uznaje się za równoważne "AEble", więc "Æble" jest większa niż "AEble". Nie ma litery Ć kultury en US, ale traktuje je jako równoważne "AE", który wyjaśnia, dlaczego jest mniej niż "Jabłko", ale równa "AEble" "Æble". Porównanie porządkowych, z drugiej strony, uzna "Jabłko" jest mniejsza niż "Æble" i "Æble" ttto być większa niż "AEble".


using System;
using System.Globalization;
using System.Threading;

public class CompareStringSample
{
   public static void Main()
   {
      string str1 = "Apple";
      string str2 = "Æble"; 
      string str3 = "AEble";

      // Set the current culture to Danish in Denmark.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Set the current culture to English in the U.S.
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      Console.WriteLine("Current culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, String.Compare(str1, str2));
      Console.WriteLine("Comparison of {0} with {1}: {2}\n", 
                        str2, str3, String.Compare(str2, str3));

      // Perform an ordinal comparison.
      Console.WriteLine("Ordinal comparison");
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str1, str2, 
                        String.Compare(str1, str2, StringComparison.Ordinal));
      Console.WriteLine("Comparison of {0} with {1}: {2}", 
                        str2, str3, 
                        String.Compare(str2, str3, StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       Current culture: da-DK
//       Comparison of Apple with Æble: -1
//       Comparison of Æble with AEble: 1
//       
//       Current culture: en-US
//       Comparison of Apple with Æble: 1
//       Comparison of Æble with AEble: 0
//       
//       Ordinal comparison
//       Comparison of Apple with Æble: -133
//       Comparison of Æble with AEble: 133


Umożliwia wybieranie właściwej metody sortowania lub ciąg porównania następujące zasady ogólne:

  • Jeśli chcesz ciągi, aby zamówić oparte na kultury użytkownika, należy zamówić je na podstawie Konwencji bieżącej kultury. Jeśli zmieni się kultury użytkownika, kolejność posortowanej ciągi również powoduje odpowiednie zmiany. Na przykład aplikacja tezaurusa zawsze należy sortować wyrazy oparte na kultury użytkownika.

  • Jeśli chcesz ciągi, aby zamówić oparte na konwencjach określonej kultury, należy zamówić je poprzez dostarczanie CultureInfo obiekt, który reprezentuje że kultura do metody porównania. Na przykład w aplikacji, mające na celu nauczyć uczniów określonego języka, ma ciągi należy zamówić oparte na konwencjach jednej z kultur, które mówi w tym języku.

  • Jeśli chcesz, aby kolejność ciągów pozostał niezmieniony różnych kulturach, należy zamówić je na podstawie Konwencji z kulturą niezmienną lub użyj porządkowych porównania. Na przykład możesz użyłaby porządkowych sortowania do organizacji nazw plików, procesów, muteksy lub nazwanych potoków.

  • Dla porównania, która wymaga decyzji w sprawie zabezpieczeń (na przykład czy nazwa użytkownika jest prawidłowy), zawsze należy wykonać porządkowych test na rzecz równości, wywołując przeciążenie Equals metody.

UwagaUwaga

Sortowanie hodowli wrażliwych i obudowy reguły dotyczące porównania ciągów zależą od wersji systemu.NET Framework. W .NET Framework 4.5 w systemie Windows 8 systemu operacyjnego, sortowanie, obudowa, normalizacji i informacje o znaku Unicode jest zgodny ze standardem Unicode w wersji 6.0. W innych systemach operacyjnych jest ono zgodne ze standardem Unicode 5.0.

Aby uzyskać więcej informacji na temat programu word, ciąg i reguły sortowania porządkowych, zobacz System.Globalization.CompareOptions tematu. Zalecenia dodatkowe o tym, kiedy używać każdej reguły można znaleźć Najlepsze praktyki używania ciągów w programie .NET Framework.

Zwykle nie zostanie wywołana ciąg porównanie metod, takich jak Compare bezpośrednio do określania porządku sortowania ciągów. Zamiast tego porównania metody są wywoływane przez sortowanie metod, takich jak Array.Sort lub List<T>.Sort. W następującym przykładzie wykonywana cztery różne operacje sortowania (sortowanie programu word przy użyciu bieżącej kultury, sortowanie programu word za pomocą Niezmienna kultura, porządkowych sortowania i sortowania ciągu za pomocą Niezmienna kultura) bez jawne wywołanie metody porównania ciągów, mimo że one określić typ sortowania jest użycie porównania. Należy zauważyć, że każdego typu sortowania tworzy unikatowy zamawiania ciągów w swojej tablicy.


using System;
using System.Collections;
using System.Collections.Generic;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] strings = { "coop", "co-op", "cooperative", 
                           "co\u00ADoperative", "cœur", "coeur" };

      // Perform a word sort using the current (en-US) culture.
      string[] current = new string[strings.Length]; 
      strings.CopyTo(current, 0); 
      Array.Sort(current, StringComparer.CurrentCulture);

      // Perform a word sort using the invariant culture.
      string[] invariant = new string[strings.Length];
      strings.CopyTo(invariant, 0); 
      Array.Sort(invariant, StringComparer.InvariantCulture);

      // Perform an ordinal sort.
      string[] ordinal = new string[strings.Length];
      strings.CopyTo(ordinal, 0); 
      Array.Sort(ordinal, StringComparer.Ordinal);

      // Perform a string sort using the current culture.
      string[] stringSort = new string[strings.Length];
      strings.CopyTo(stringSort, 0); 
      Array.Sort(stringSort, new SCompare());

      // Display array values
      Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}\n", 
                        "Original", "Word Sort", "Invariant Word", 
                        "Ordinal Sort", "String Sort");
      for (int ctr = 0; ctr < strings.Length; ctr++)
         Console.WriteLine("{0,13} {1,13} {2,15} {3,13} {4,13}", 
                           strings[ctr], current[ctr], invariant[ctr], 
                           ordinal[ctr], stringSort[ctr] );          
   }
}

// IComparer<String> implementation to perform string sort.
internal class SCompare : IComparer<String>
{
   public int Compare(string x, string y)
   {
      return CultureInfo.CurrentCulture.CompareInfo.Compare(x, y, CompareOptions.StringSort);
   }
}
// The example displays the following output:
//         Original     Word Sort  Invariant Word  Ordinal Sort   String Sort
//    
//             coop          cœur            cœur         co-op         co-op
//            co-op         coeur           coeur         coeur          cœur
//      cooperative          coop            coop          coop         coeur
//     co­operative         co-op           co-op   cooperative          coop
//             cœur   cooperative     cooperative  co­operative   cooperative
//            coeur  co­operative    co­operative          cœur  co­operative


PoradaPorada

Wewnętrznie środowiska.NET Framework używa kluczy sortowania do obsługi porównania ciągów kulturowym wrażliwe. Każdy znak w ciągu znajduje się kilka kategorii sortowania odważników, włączając alfabetycznych, sprawy i znaków diakrytycznych. Klucz sortowania, reprezentowana przez SortKey klasy, stanowi repozytorium tych wag, określony ciąg. Jeśli aplikacja wykonuje dużą liczbę wyszukiwanie lub sortowanie operacji na tym samym zestawie ciągów, można poprawić jego wydajność generowania i przechowywania kluczy sortowania dla wszystkich ciągów, których używa. Jeśli operacja sortowania lub porównanie jest wymagane, można użyć zamiast ciągi klucze sortowania. Aby uzyskać więcej informacji, zobacz klasę SortKey.

Jeśli nie określisz Konwencji porównania ciągów, sortowanie metody takie jak Array.Sort(Array) ciągów wykonać sortowanie hodowli wrażliwych, uwzględniana wielkość liter. Poniższy przykład ilustruje, jak zmiany bieżącej kultury ma wpływ na kolejność posortowanej ciągów znaków w tablicy. Tworzy tablicę ciągów trzy. Po pierwsze, ustawia System.Threading.Thread.CurrentThread.CurrentCulture właściwość do en US i połączeń Array.Sort(Array) metody. Kolejność sortowania w wynikowe opiera się na sortowanie konwencje dla kultury angielski (Stany Zjednoczone). Następnie, w przykładzie System.Threading.Thread.CurrentThread.CurrentCulture właściwość do da-DK i połączeń Array.Sort metoda ponownie. Zwróć uwagę, jak kolejność sortowania w wynikowe różni się od wyników en US ponieważ używa konwencje sortowania dla duński (Dania).


using System;
using System.Globalization;
using System.Threading;

public class ArraySort 
{
   public static void Main(String[] args) 
   {
      // Create and initialize a new array to store the strings.
      string[] stringArray = { "Apple", "Æble", "Zebra"};

      // Display the values of the array.
      Console.WriteLine( "The original string array:");
      PrintIndexAndValues(stringArray);

      // Set the CurrentCulture to "en-US".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
      // Sort the values of the array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"en-US\":");
      PrintIndexAndValues(stringArray); 

      // Set the CurrentCulture to "da-DK".
      Thread.CurrentThread.CurrentCulture = new CultureInfo("da-DK");
      // Sort the values of the Array.
      Array.Sort(stringArray);

      // Display the values of the array.
      Console.WriteLine("After sorting for the culture \"da-DK\":");
      PrintIndexAndValues(stringArray); 
   }
   public static void PrintIndexAndValues(string[] myArray)  
   {
      for (int i = myArray.GetLowerBound(0); i <= 
            myArray.GetUpperBound(0); i++ )
         Console.WriteLine("[{0}]: {1}", i, myArray[i]);
      Console.WriteLine();      
   }
}
// The example displays the following output:
//       The original string array:
//       [0]: Apple
//       [1]: Æble
//       [2]: Zebra
//       
//       After sorting for the "en-US" culture:
//       [0]: Æble
//       [1]: Apple
//       [2]: Zebra
//       
//       After sorting for the culture "da-DK":
//       [0]: Apple
//       [1]: Zebra
//       [2]: Æble


Informacje dotyczące przestrogiPrzestroga

Jeśli Twój podstawowy cel w porównywanie ciągów jest ustalenie, czy są równe, należy zadzwonić String.Equals metody. Zwykle należy używać Equals wykonać porządkowych porównanie. String.Compare Metoda jest przeznaczona przede wszystkim do sortowania ciągi.

String, metody wyszukiwania, takie jak String.StartsWith i String.IndexOf, można również wykonać porównania ciągów hodowli wrażliwych lub liczbą porządkową. Poniższy przykład ilustruje różnice między porównania porządkową i hodowli wrażliwych za pomocą IndexOf metody. Szukaj hodowli wrażliwych, w którym bieżąca kultura jest angielski (Stany Zjednoczone) uważa podciąg "oe", aby dopasować ligaturą "ś". Ponieważ miękkie łącznik (U + 00AD) jest znakiem zerowej szerokości, wyszukiwanie traktuje łącznik nietrwały jako równoważne z Empty i znajdzie odpowiednik na początku ciągu znaków. Liczba porządkowa wyszukiwania, z drugiej strony, nie znajduje dopasowania w każdym z tych przypadków.


using System;

public class Example
{
   public static void Main()
   {
      // Search for "oe" and "œu" in "œufs" and "oeufs".
      string s1 = "œufs";
      string s2 = "oeufs";
      FindInString(s1, "oe", StringComparison.CurrentCulture);
      FindInString(s1, "oe", StringComparison.Ordinal);
      FindInString(s2, "œu", StringComparison.CurrentCulture);
      FindInString(s2, "œu", StringComparison.Ordinal);
      Console.WriteLine();

      string s3 = "co\u00ADoperative";
      FindInString(s3, "\u00AD", StringComparison.CurrentCulture);
      FindInString(s3, "\u00AD", StringComparison.Ordinal);
   }

   private static void FindInString(string s, string substring, StringComparison options)
   {
      int result = s.IndexOf(substring, options);
      if (result != -1)
         Console.WriteLine("'{0}' found in {1} at position {2}", 
                           substring, s, result);
      else
         Console.WriteLine("'{0}' not found in {1}", 
                           substring, s);                                                  
   }
}
// The example displays the following output:
//       'oe' found in œufs at position 0
//       'oe' not found in œufs
//       'œu' found in oeufs at position 0
//       'œu' not found in oeufs
//       
//       '­' found in co­operative at position 0
//       '­' found in co­operative at position 2


s1wwdcbf.collapse_all(pl-pl,VS.110).gifWyszukiwanie ciągów znaków

String, metody wyszukiwania, takie jak String.StartsWith i String.IndexOf, można również wykonać hodowli wrażliwych lub porównania ciągów porządkowych do ustalenia, czy znak lub ciąg podrzędny znajduje się określony ciąg.

Metody wyszukiwania pozwalają aby wyszukać znak lub jeden zestaw znaków w ciągu lub do wyszukiwania podciągów w ciągu. Metody wyszukiwania w String klasy, który wyszukać indywidualnego charakteru, takie jak IndexOf metody lub jedną z zestawu znaków, takie jak IndexOfAny metoda, wykonywać wszystkie porządkowych wyszukiwania. Aby wykonać wyszukiwanie hodowli wrażliwych znaku, należy wywołać CompareInfo metody, takie jak CompareInfo.IndexOf(String, Char) lub CompareInfo.LastIndexOf(String, Char). Należy zauważyć, że wyniki wyszukiwania dla znaku za pomocą porównania porządkową i hodowli wrażliwych mogą być bardzo różne. Na przykład wyszukiwanie złożony znaku Unicode, takiego jak ligaturą "Ć" (U + 00 C 6) mogą być zgodne z każdym pojawieniu się z jego składników w odpowiedniej kolejności, takich jak "AE" (U + 041U + 0045), w zależności od kultury. Poniższy przykład ilustruje różnicę między String.IndexOf(Char) i CompareInfo.IndexOf(String, Char) metody przy wyszukiwaniu indywidualnego charakteru. Ligatura "ć" (U + 00E6) znajduje się w ciągu "antenowe" podczas korzystania z konwencjami kultury en US, ale nie wtedy, gdy za pomocą konwencje kultury da-DK lub wykonywania porządkowych porównania.


using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      String[] cultureNames = { "da-DK", "en-US" };
      CompareInfo ci;
      String str = "aerial";
      Char ch = 'æ';  // U+00E6

      Console.Write("Ordinal comparison -- ");
      Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                        str.IndexOf(ch));

      foreach (var cultureName in cultureNames) {
         ci = CultureInfo.CreateSpecificCulture(cultureName).CompareInfo;
         Console.Write("{0} cultural comparison -- ", cultureName);
         Console.WriteLine("Position of '{0}' in {1}: {2}", ch, str,
                           ci.IndexOf(str, ch));
      }
   }
}
// The example displays the following output:
//       Ordinal comparison -- Position of 'æ' in aerial: -1
//       da-DK cultural comparison -- Position of 'æ' in aerial: -1
//       en-US cultural comparison -- Position of 'æ' in aerial: 0


Z drugiej strony String metody, które wyszukuje ciąg zamiast znaku wykonaj wyszukiwanie hodowli wrażliwych, jeśli opcje wyszukiwania nie są jawnie określony przez parametr typu klasy StringComparison. Jedynym wyjątkiem jest Contains, który wykonuje porządkowych wyszukiwania.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifTestowanie pod kątem równości

Użycie String.Compare metody do określania relacji z dwóch ciągów w porządku sortowania. Zazwyczaj jest to operacja hodowli wrażliwych. Natomiast wywołać String.Equals metoda badania dla równości. Ponieważ test na rzecz równości zwykle porównuje dane wejściowe użytkownika z niektórych znanych ciąg, takich jak prawidłowej nazwy użytkownika, hasła lub ścieżkę systemu plików zazwyczaj jest to działanie porządkowych.

Informacje dotyczące przestrogiPrzestroga

Istnieje możliwość testowania równości poprzez wywołanie String.Compare metody i określania, czy wartość zwracana jest wartość zero. Praktyka ta nie jest jednak zalecane. Aby ustalić, czy dwa ciągi znaków są równe, powinna wywołać jeden overloads z String.Equals metody. Przeciążenie preferowany do wywołania jest albo wystąpienie Equals(String, StringComparison) metody lub statycznego Equals(String, String, StringComparison) metoda, ponieważ zawiera obie metody System.StringComparison parametr, który jednoznacznie określa typ porównania.

Poniższy przykład ilustruje niebezpieczeństwo wykonywania porównania hodowli wrażliwych na rzecz równości, gdy powinien być używany zamiast porządkowej. W tym przypadku zamiarem kod jest zakaz dostępu do systemu plików z adresów URL, które rozpoczynają się od "FILE://" lub "file://" wykonując porównania bez uwzględniania wielkości liter na początku adresu URL z ciągiem "FILE://". Jednakże jeśli wykonywane jest porównanie hodowli wrażliwych, przy użyciu kultury turecki (Turcja) na adres URL rozpoczynający się od "file://", porównanie dla równości zawiedzie, ponieważ turecki odpowiednik wielkie litery małe litery "i" jest "İ" zamiast "I". W rezultacie nieumyślnie dopuszcza się dostęp do systemu plików. Z drugiej strony jeśli wykonywane jest porównanie porządkowych, porównanie dla równości zakończy się pomyślnie i odmowa dostępu do systemu plików.


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture("tr-TR");      

      string filePath = "file://c:/notes.txt";

      Console.WriteLine("Culture-sensitive test for equality:");
      if (! TestForEquality(filePath, StringComparison.CurrentCultureIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);

      Console.WriteLine("\nOrdinal test for equality:");
      if (! TestForEquality(filePath, StringComparison.OrdinalIgnoreCase))
         Console.WriteLine("Access to {0} is allowed.", filePath);
      else
         Console.WriteLine("Access to {0} is not allowed.", filePath);
   }

   private static bool TestForEquality(string str, StringComparison cmp)
   {
      int position = str.IndexOf("://");
      if (position < 0) return false;

      string substring = str.Substring(0, position);  
      return substring.Equals("FILE", cmp);
   }
}
// The example displays the following output:
//       Culture-sensitive test for equality:
//       Access to file://c:/notes.txt is allowed.
//       
//       Ordinal test for equality:
//       Access to file://c:/notes.txt is not allowed.


Normalizacja

Niektóre znaki Unicode mają wiele oświadczeń. Na przykład którykolwiek z następujących punktów kodowych reprezentują literę "ắ":

  • U + 1EAF

  • U + 0103 U + 0301

  • U + 0061 U + 0306 U + 0301

Wiele oświadczeń dla pojedynczego znaku skomplikować wyszukiwanie, sortowanie, dopasowania i inne operacje na ciągach.

W standardzie Unicode definiuje proces normalizacji, zwracającą reprezentacja binarna jednego znaku Unicode dla dowolnego równoważne binarne oświadczeń o nazwie. Normalizacja można użyć kilku algorytmów, nazywane formularzami normalizacji, które następują różne reguły. .NET Framework obsługuje formuły normalizacji Unicode C, D, KC i KD. Ciągi zostały znormalizowane na tym samym formularzu normalizacji, mogą być porównywane za pomocą porównania porządkowych.

Porządkowa porównanie jest porównanie binarne wartości skalarnej Unicode, odpowiadającego Char obiektów w każdy ciąg. String Klasa zawiera szereg metod, które mogą wykonywać porządkowych porównania, w tym następujące:

Można określić, czy ciąg jest znormalizowane do normalizacji formularz C przez wywołanie String.IsNormalized() można wywołać metody, lub String.IsNormalized(NormalizationForm) do określenia, czy ciąg jest znormalizowane do normalizacji określonego formularza. Można również wywołać String.Normalize() można wywołać metodę, aby przekonwertować ciąg na forma normalizacji C, lub String.Normalize(NormalizationForm) metoda, aby przekonwertować ciąg na formularzu określonym normalizacji. Krok po kroku informacje normalizowanie i porównywanie ciągów, zobacz Normalize() i Normalize(NormalizationForm) metody.

Następujący prosty przykład ilustruje normalizacji ciąg. Określa literę "ố" na trzy różne sposoby w trzech różnych ciągów i używa porządkowych porównywania równości, aby określić, że każdy ciąg różni się od dwóch ciągów. Następnie konwertuje każdy ciąg do formularzy obsługiwanych normalizacji i ponownie wykonuje porządkowych porównanie każdego ciągu w formie określonej normalizacji. W każdym przypadku drugiego testu dla równości pokazuje, że ciągi są równe.


using System;
using System.Globalization;
using System.IO;
using System.Text;

public class Example
{
   private static StreamWriter sw;

   public static void Main()
   {
      sw = new StreamWriter(@".\TestNorm1.txt");

      // Define three versions of the same word. 
      string s1 = "sống";        // create word with U+1ED1
      string s2 = "s\u00F4\u0301ng";
      string s3 = "so\u0302\u0301ng";

      TestForEquality(s1, s2, s3);      
      sw.WriteLine();

      // Normalize and compare strings using each normalization form.
      foreach (string formName in Enum.GetNames(typeof(NormalizationForm)))
      {
         sw.WriteLine("Normalization {0}:\n", formName); 
         NormalizationForm nf = (NormalizationForm) Enum.Parse(typeof(NormalizationForm), formName);
         string[] sn = NormalizeStrings(nf, s1, s2, s3);
         TestForEquality(sn);           
         sw.WriteLine("\n");                                        
      }

      sw.Close();   
   }

   private static void TestForEquality(params string[] words)
   {
      for (int ctr = 0; ctr <= words.Length - 2; ctr++)
         for (int ctr2 = ctr + 1; ctr2 <= words.Length - 1; ctr2++) 
            sw.WriteLine("{0} ({1}) = {2} ({3}): {4}", 
                         words[ctr], ShowBytes(words[ctr]),
                         words[ctr2], ShowBytes(words[ctr2]),
                         words[ctr].Equals(words[ctr2], StringComparison.Ordinal));
   }

   private static string ShowBytes(string str)
   {
      string result = null;
      foreach (var ch in str)
         result += String.Format("{0} ", Convert.ToUInt16(ch).ToString("X4")); 
      return result.Trim();            
   } 

   private static string[] NormalizeStrings(NormalizationForm nf, params string[] words)
   {
      for (int ctr = 0; ctr < words.Length; ctr++)
         if (! words[ctr].IsNormalized(nf))
            words[ctr] = words[ctr].Normalize(nf); 
      return words;   
   }
}
// The example displays the following output:
//       sống (0073 1ED1 006E 0067) = sống (0073 00F4 0301 006E 0067): False
//       sống (0073 1ED1 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       sống (0073 00F4 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): False
//       
//       Normalization FormC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       
//       
//       Normalization FormKC:
//       
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       sống (0073 1ED1 006E 0067) = sống (0073 1ED1 006E 0067): True
//       
//       
//       Normalization FormKD:
//       
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True
//       sống (0073 006F 0302 0301 006E 0067) = sống (0073 006F 0302 0301 006E 0067): True


Aby uzyskać więcej informacji na temat normalizacji i normalizacji form, zobacz System.Text.NormalizationForm, jak również Unicode Standard załącznika 15 #: formuły normalizacji Unicode i FAQ normalizacji na stronie internetowej stronie internetowej unicode.org.

Operacje na ciągach według kategorii

String Klasy zapewnia członkom porównywanie ciągów, testowanie ciągów znaków równości, znajdowanie znaków lub podciągów w ciągu, modyfikowanie ciąg, wyodrębnianie podciągów z ciągu, łączenie ciągów, formatowanie wartości, kopiowanie ciąg i normalizowanie ciąg.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifPorównywanie ciągów

Można porównać ciągi, aby określić ich położenia w porządku sortowania, przy użyciu następujących String metody:

  • Compare Zwraca liczbę całkowitą, która wskazuje relację jeden ciąg do drugiego ciągu w porządku sortowania.

  • CompareOrdinal Zwraca liczbę całkowitą, która wskazuje relację jeden ciąg do drugiego ciągu na podstawie porównania ich punktów kodowych.

  • CompareTo Zwraca liczbę całkowitą, która wskazuje relację bieżąca instancja klasy string do drugiego ciągu w porządku sortowania. CompareTo(String) Metoda zapewnia IComparable i IComparable<T> implementacji dla String klasy.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifTestowanie ciągów pod kątem równości

Wywołania Equals do określenia, czy dwa ciągi znaków są równe. Wystąpienie Equals(String, String, StringComparison) i statycznego Equals(String, StringComparison) overloads pozwalają określić, czy wynikiem porównania jest wrażliwy na kulturę lub liczbą porządkową i czy sprawa jest traktowana i ignorowane. Najczęściej testy na rzecz równości są porządkową i porównań równości, określających dostęp do zasobu systemu (na przykład obiektu systemu plików) powinny być zawsze porządkowych.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifZnajdowanie znaków w ciągu

String Klasa zawiera dwa rodzaje metod wyszukiwania:

Informacje dotyczące przestrogiPrzestroga

Jeśli chcesz przeszukać ciąg dla określonego wzorca, a nie danego podciągu, należy używać wyrażeń regularnych. Aby uzyskać więcej informacji, zobacz .NET Framework — Wyrażenia regularne.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifModyfikowanie ciągu

String Klasa zawiera następujące metody, które wydają się zmodyfikować wartość ciągu:

  • Insert Wstawia ciąg do bieżącej String wystąpienie.

  • PadLeft Wstawia jeden lub więcej wystąpień określonego znaku na początku ciągu.

  • PadRight Wstawia jeden lub więcej wystąpień określonego znaku na początku ciągu.

  • Remove Usuwa z bieżącego podciąg String wystąpienie.

  • Replace Zamienia podciągu na inny podciąg w bieżącym String wystąpienie.

  • ToLower i ToLowerInvariant przekonwertować wszystkie znaki w ciągu na małe litery.

  • ToUpper i ToUpperInvariant przekonwertować wszystkie znaki w ciągu na wielkie litery.

  • Trim powoduje usunięcie wszystkich wystąpień znaku od początku i końca ciągu.

  • TrimEnd powoduje usunięcie wszystkich wystąpień znaku z końca ciągu.

  • TrimStart powoduje usunięcie wszystkich wystąpień znaku od początku ciągu znaków.

Ważna uwagaWażne

Wszystkie metody modyfikacji ciągu zwracają nowy String obiektu. Nie należy modyfikować wartości bieżącego wystąpienia.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifWyodrębnianie podciągów z ciągu znaków

String.Split Metoda oddziela jeden ciąg znaków do wielu ciągów. Przeciążenia metody umożliwiają określenie wielu ograniczników, aby określić maksymalną liczbę podciągów zgodnych metoda wyodrębnia i do określenia, czy puste ciągi (które występują, gdy są sąsiadujące ograniczniki) są dołączane zwracanych ciągów.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifŁączenie ciągów

Następujące String metody mogą być stosowane do łączenia ciągów:

  • Concat łączy w sobie jeden lub więcej ciągów w jeden ciąg.

  • Join argument podciągów jeden lub więcej do pojedynczego elementu i dodaje znak oddzielający każdy podciąg.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifFormatowanie wartości

String.Format Metoda wykorzystuje złożonego formatowania funkcji, aby zastąpić jeden lub więcej symboli zastępczych w ciągu ciąg reprezentujący jakiś obiekt lub wartość. Format Metoda jest często używany do wykonaj następujące czynności:

  • Aby osadzić ciągu reprezentującego wartość liczbową w ciągu.

  • Aby osadzić ciągu reprezentującego wartość daty i godziny w ciągu.

  • Aby osadzić ciągu reprezentującego wartość wyliczenia w ciągu.

  • Aby osadzić ciąg reprezentujący jakiś obiekt, który obsługuje IFormattable interfejsu w ciągu.

  • Wyrównaj do prawej lub lewej podciągu w polu w ciągu na większe.

Aby uzyskać szczegółowe informacje dotyczące formatowania operacji i przykłady, zobacz Format przeciążenia krótki opis.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifKopiowanie ciągu

Można wywołać następujące String metod, aby utworzyć kopię ciąg:

  • Clone Zwraca odwołanie do istniejącego String obiektu.

  • Copy Tworzy kopię istniejącego ciągu.

  • CopyTo kopiuje część ciągu do tablicy znaków.

s1wwdcbf.collapse_all(pl-pl,VS.110).gifNormalizowanie ciągu

W standardzie Unicode pojedynczy znak może mieć wiele punktów kodowych. Normalizacja konwertuje znaki te równoważne samego reprezentacja binarna. String.Normalize Metoda normalizacji, wykonuje i String.IsNormalized Metoda określa, czy ciąg jest znormalizowana.

.NET Framework

Obsługiwane w: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Obsługiwane w: 4, 3.5 z dodatkiem SP1

Portable Class Library

Obsługiwane w: Portable Class Library

.NET dla aplikacji do sklepu Windows Store

Obsługiwane w: Windows 8

.NET dla aplikacji dla Windows Phone

Obsługiwane w: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 z dodatkiem R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista z dodatkiem SP2, Windows Server 2008 (instalacja roli Server Core jest nieobsługiwana), Windows Server 2008 R2 (instalacja roli Server Core jest obsługiwana, gdy jest zainstalowany dodatek SP1 lub nowszy; procesory Itanium nie są obsługiwane)

Program .NET Framework nie obsługuje wszystkich wersji każdej platformy. Aby uzyskać listę wszystkich obsługiwanych wersji, zobacz Wymagania systemowe programu .NET Framework.

Ten typ jest bezpieczny wątkowo.

Czy oceniasz te materiały jako pomocne?
(Pozostało znaków: 1500)
Dziękujemy za opinię.

Zawartość społeczności

Pokaż:
© 2014 Microsoft