Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET, dizelerin değerlerini karşılaştırmak için çeşitli yöntemler sağlar. Aşağıdaki tabloda değer karşılaştırma yöntemleri listelenip açıklanmaktadır.
| Yöntem adı | Kullan |
|---|---|
| String.Compare | İki dizenin değerlerini karşılaştırır. Bir tamsayı değeri döndürür. |
| String.CompareOrdinal | İki dizeyi yerel kültürü dikkate almadan karşılaştırır. Bir tamsayı değeri döndürür. |
| String.CompareTo | Geçerli dize nesnesini başka bir dizeyle karşılaştırır. Bir tamsayı değeri döndürür. |
| String.StartsWith | Bir dizenin, geçirilen dizeyle başlayıp başlamadığını belirler. Boole değeri döndürür. |
| String.EndsWith | Dizenin dize geçirilirken bitip bitmeyeceğini belirler. Boole değeri döndürür. |
| String.Contains | Bir karakterin veya dizenin başka bir dize içinde olup olmadığını belirler. Boole değeri döndürür. |
| String.Equals | İki dizenin aynı olup olmadığını belirler. Boole değeri döndürür. |
| String.IndexOf | Bir karakterin veya dizenin dizin konumunu, incelediğiniz dizenin başından başlayarak döndürür. Bir tamsayı değeri döndürür. |
| String.LastIndexOf | Bir karakterin veya dizenin dizin konumunu, incelediğiniz dizenin sonundan başlayarak döndürür. Bir tamsayı değeri döndürür. |
Compare yöntemi
Statik String.Compare yöntem, iki dizeyi karşılaştırmak için kapsamlı bir yol sağlar. Bu yöntem kültürel hassasiyet taşır. İki dizenin iki dizesini veya alt dizesini karşılaştırmak için bu işlevi kullanabilirsiniz. Ayrıca, büyük/küçük harf ve kültürel varyansı dikkate almayan veya göz ardı eden aşırı yüklemeler sağlanır. Aşağıdaki tabloda, bu yöntemin döndürebileceği üç tamsayı değeri gösterilmektedir.
| Dönüş değeri | Koşul |
|---|---|
| Negatif tamsayı | İlk dize, sıralama düzenindeki ikinci dizeden öncedir. -veya- İlk dize şeklindedir null. |
| 0 | İlk dize ve ikinci dize eşittir. -veya- Her iki dize de şeklindedir null. |
| Pozitif bir tamsayı -veya- 1 |
İlk dize, sıralama düzenindeki ikinci dizeyi izler. -veya- İkinci dize ise şeklindedir null. |
Önemli
String.Compare yöntemi öncelikle dizeleri düzenlerken veya sıralarken kullanılmak üzere tasarlanmıştır. Eşitliği test etmek için String.Compare yöntemini kullanmamalısınız (yani, bir dizenin diğerinden küçük veya büyük olup olmadığını dikkate almadan, açık bir şekilde 0 dönüş değerini aramak amacıyla). Bunun yerine, iki dizenin eşit olup olmadığını belirlemek için yöntemini kullanın String.Equals(String, String, StringComparison) .
Aşağıdaki örnek, iki dizenin String.Compare göreli değerlerini belirlemek için yöntemini kullanır.
string string1 = "Hello World!";
Console.WriteLine(String.Compare(string1, "Hello World?"));
Dim string1 As String = "Hello World!"
Console.WriteLine(String.Compare(string1, "Hello World?"))
Bu örnek -1 ile konsolda görüntülenir.
Yukarıdaki örnek varsayılan olarak kültüre duyarlıdır. Kültüre duyarsız dize karşılaştırması yapmak için, kullanılacak kültürü belirlemenize olanak sağlayan String.Compare parametresi ile yönteminin aşırı yüklenen biçimini kullanın. Kültüre duyarsız bir karşılaştırma yapmak için yönteminin nasıl kullanılacağını String.Compare gösteren bir örnek için bkz. Kültüre duyarsız dize karşılaştırmaları.
CompareOrdinal yöntemi
yöntemi, String.CompareOrdinal yerel kültürü dikkate almadan iki dize nesnesini karşılaştırır. Bu yöntemin dönüş değerleri, önceki tabloda yöntemi tarafından Compare döndürülen değerlerle aynıdır.
Önemli
String.CompareOrdinal yöntemi öncelikle dizeleri düzenlerken veya sıralarken kullanılmak üzere tasarlanmıştır. Eşitliği test etmek için String.CompareOrdinal yöntemini kullanmamalısınız (yani, bir dizenin diğerinden küçük veya büyük olup olmadığını dikkate almadan, açık bir şekilde 0 dönüş değerini aramak amacıyla). Bunun yerine, iki dizenin eşit olup olmadığını belirlemek için yöntemini kullanın String.Equals(String, String, StringComparison) .
Aşağıdaki örnek, iki dizenin değerlerini karşılaştırmak için yöntemini kullanır CompareOrdinal .
string string1 = "Hello World!";
Console.WriteLine(String.CompareOrdinal(string1, "hello world!"));
Dim string1 As String = "Hello World!"
Console.WriteLine(String.CompareOrdinal(string1, "hello world!"))
Bu örnek -32 ile konsolda görüntülenir.
CompareTo yöntemi
String.CompareTo yöntemi, geçerli dize nesnesinin kapsadığı dizeyi, başka bir dize veya nesne ile karşılaştırır. Bu yöntemin dönüş değerleri, önceki tabloda yöntemi tarafından String.Compare döndürülen değerlerle aynıdır.
Önemli
String.CompareTo yöntemi öncelikle dizeleri düzenlerken veya sıralarken kullanılmak üzere tasarlanmıştır. Eşitliği test etmek için String.CompareTo yöntemini kullanmamalısınız (yani, bir dizenin diğerinden küçük veya büyük olup olmadığını dikkate almadan, açık bir şekilde 0 dönüş değerini aramak amacıyla). Bunun yerine, iki dizenin eşit olup olmadığını belirlemek için yöntemini kullanın String.Equals(String, String, StringComparison) .
Aşağıdaki örnek, String.CompareTo yöntemini kullanarak string1 nesnesini string2 nesnesiyle karşılaştırır.
string string1 = "Hello World";
string string2 = "Hello World!";
int MyInt = string1.CompareTo(string2);
Console.WriteLine( MyInt );
Dim string1 As String = "Hello World"
Dim string2 As String = "Hello World!"
Dim MyInt As Integer = string1.CompareTo(string2)
Console.WriteLine(MyInt)
Bu örnek -1 ile konsolda görüntülenir.
String.CompareTo yönteminin tüm aşırı yüklemeleri, varsayılan olarak, kültüre duyarlı ve büyük/küçük harfe duyarlı karşılaştırmalar yapar. Kültüre duyarsız bir karşılaştırma gerçekleştirmenize olanak sağlayan bu yöntemin aşırı yüklemesi sağlanmadı. Kod netliği için, bunun yerine kültüre duyarlı işlemler için String.Compare veya kültüre duyarsız işlemler için CultureInfo.CurrentCulture belirterek CultureInfo.InvariantCulture yöntemini kullanmanızı öneririz. Hem kültüre duyarlı hem de kültüre duyarsız karşılaştırmalar yapmak için yönteminin nasıl kullanılacağını String.Compare gösteren örnekler için bkz. Culture-Insensitive Dize Karşılaştırmaları Gerçekleştirme.
Equals yöntemi
yöntemi, String.Equals iki dizenin aynı olup olmadığını kolayca belirleyebilir. Bu büyük/küçük harfe duyarlı yöntem bir true veya false Boole değeri döndürür. Bir sonraki örnekte gösterildiği gibi mevcut bir sınıftan kullanılabilir. Aşağıdaki örnek, bir dize nesnesinin Equals "Hello World" tümceciği içerip içermediğini belirlemek için yöntemini kullanır.
string string1 = "Hello World";
Console.WriteLine(string1.Equals("Hello World"));
Dim string1 As String = "Hello World"
Console.WriteLine(string1.Equals("Hello World"))
Bu örnek True ile konsolda görüntülenir.
Bu yöntem statik bir yöntem olarak da kullanılabilir. Aşağıdaki örnek, statik bir yöntem kullanarak iki dize nesnesini karşılaştırır.
string string1 = "Hello World";
string string2 = "Hello World";
Console.WriteLine(String.Equals(string1, string2));
Dim string1 As String = "Hello World"
Dim string2 As String = "Hello World"
Console.WriteLine(String.Equals(string1, string2))
Bu örnek True ile konsolda görüntülenir.
StartsWith ve EndsWith yöntemleri
Bir dize nesnesinin başka bir dizeyi String.StartsWith kapsayan aynı karakterlerle başlayıp başlamayacağını belirlemek için yöntemini kullanabilirsiniz. Bu büyük/küçük harfe duyarlı yöntem, geçerli dize nesnesi geçirilen dizeyle başlıyorsa true, başlamıyorsa false döndürür. Aşağıdaki örnek, bir dize nesnesinin "Hello" ile başip başlamadığını belirlemek için bu yöntemi kullanır.
string string1 = "Hello World";
Console.WriteLine(string1.StartsWith("Hello"));
Dim string1 As String = "Hello World!"
Console.WriteLine(string1.StartsWith("Hello"))
Bu örnek True ile konsolda görüntülenir.
yöntemi, String.EndsWith geçirilen bir dizeyi geçerli dize nesnesinin sonunda bulunan karakterlerle karşılaştırır. Ayrıca bir Boole değeri döndürür. Aşağıdaki örnek, bir dizenin sonunu EndsWith yöntemini kullanarak denetler.
string string1 = "Hello World";
Console.WriteLine(string1.EndsWith("Hello"));
Dim string1 As String = "Hello World!"
Console.WriteLine(string1.EndsWith("Hello"))
Bu örnek False ile konsolda görüntülenir.
IndexOf ve LastIndexOf yöntemleri
Bir dize içinde String.IndexOf belirli bir karakterin ilk oluşumunun konumunu belirlemek için yöntemini kullanabilirsiniz. Bu büyük/küçük harfe duyarlı yöntem, dizenin başından itibaren saymaya başlar ve sıfır tabanlı indeks kullanarak verilen bir karakterin konumunu döndürür. Karakter bulunamazsa , –1 değeri döndürülür.
Aşağıdaki örnek, bir dizedeki IndexOf 'l' karakterinin ilk oluşumunu aramak için yöntemini kullanır.
string string1 = "Hello World";
Console.WriteLine(string1.IndexOf('l'));
Dim string1 As String = "Hello World!"
Console.WriteLine(string1.IndexOf("l"))
Bu örnek 2 ile konsolda görüntülenir.
String.LastIndexOf yöntemi, bir dize içindeki belirli bir karakterin son oluşumunun konumunu döndürmesi dışında yöntemine benzerString.IndexOf. Büyük/küçük harfe duyarlıdır ve sıfırdan başlayan bir indeks kullanır.
Aşağıdaki örnek, bir dizedeki LastIndexOf yöntemini, 'l' karakterinin son oluşumunu aramak için kullanır.
string string1 = "Hello World";
Console.WriteLine(string1.LastIndexOf('l'));
Dim string1 As String = "Hello World!"
Console.WriteLine(string1.LastIndexOf("l"))
Bu örnek 9 ile konsolda görüntülenir.
Her iki yöntem de yöntemiyle String.Remove birlikte kullanıldığında kullanışlıdır. Bir karakterin IndexOf konumunu almak için veya LastIndexOf yöntemlerini kullanabilir ve ardından bir karakteri veya bu karakterle başlayan bir sözcüğü kaldırmak için bu konumu Remove yönteme sağlayabilirsiniz.
Ayrıca bakınız
- .NET'te dizeleri kullanmaya yönelik en iyi yöntemler
- Kültüre duyarsız dize işlemlerini gerçekleştirin
- Ağırlık tablolarını sıralama - Windows üzerinde .NET Framework ve .NET Core 1.0-3.1 tarafından kullanılır
- Varsayılan Unicode harmanlama öğesi tablosu - tüm platformlarda .NET 5 ve Linux ve macOS üzerinde .NET Core tarafından kullanılır