SATıŞ: 1-800-867-1389
Bu makale makine tarafından çevrilmiştir. Orijinal metni görmek için imlecinizi makaledeki cümlelerin üzerine getirin. Daha Fazla Bilgi.
Çeviri
Original
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.

String.Compare Yöntem (String, Int32, String, Int32, Int32)

Belirtilen iki alt dizeleri karşılaştırır String nesne ve göreli konumlarını sıralama düzenini gösteren bir tamsayı döndürür.

Ad alanı:  System
Derleme:  mscorlib (mscorlib.dll içinde)

public static int Compare(
	string strA,
	int indexA,
	string strB,
	int indexB,
	int length
)

Parametreler

strA
Tür: System.String
Karşılaştırmada kullanılacak ilk dize.
indexA
Tür: System.Int32
strA içinde alt dizenin konumu.
strB
Tür: System.String
Karşılaştırmada kullanılacak ikinci dize.
indexB
Tür: System.Int32
strB içinde alt dizenin konumu.
length
Tür: System.Int32
Karşılaştırılacak alt dizelerdeki maksimum karakter sayısı.

Dönüş Değeri

Tür: System.Int32
İki comparands arasındaki sözlü ilişkiyi gösteren bir 32 bitlik işaretli tamsayı.

Value

Koşul

Negatif

strA içindeki alt dize strB içindeki alt dizeden küçüktür.

Zero

Alt dizeler eşittir veya length sıfırdır.

Sıfırdan büyük

strA içindeki alt dize strB içindeki alt dizeden büyüktür.

ExceptionKoşul
ArgumentOutOfRangeException

indexA, strA.Length öğesinden büyüktür.

- veya -

indexB, strB.Length öğesinden büyüktür.

- veya -

indexA, indexB veya length negatiftir.

-veya-

Either indexA or indexB is null, and length is greater than zero.

Alt dizeleri karşılaştırmak için başlama yeri strA en indexA ve strB en indexB. Her ikisi de indexA ve indexB olan sıfır tabanlı; diğer bir deyişle, ilk karakteri strA ve strB sıfır konumdur. Birinci alt dizenin uzunluğu; strA uzunluğu - indexA + 1'e eşittir. İkinci alt dizenin uzunluğu; strB uzunluğu - indexB + 1'e eşittir.

Karşılaştırılacak karakter sayısı iki alt dizenin uzunluklarından küçük olanı ve length uzunluğudur. indexA, indexB ve length parametreleri pozitif olmalıdır.

Karşılaştırmada, büyük/küçük harf kuralları ve tek tek karakterlerin alfabetik sıralaması gibi kültüre özgü bilgileri almak için geçerli kültür kullanılır. Örneğin, bir kültür, belirli karakter birleşimlerinin tek bir karakter olarak değerlendirileceğini veya büyük ve küçük harflerin belirli bir şekilde karşılaştırılacağını ya da bir karakterin sıralama düzeninin kendisinden önce veya sonra gelen karakterlere göre olacağını belirtebilir.

Karşılaştırma, sözcük sıralama kuralları ile gerçekleştirilir. Sözcük, dize ve diğer sıralamalar hakkında daha fazla bilgi için bkz. System.Globalization.CompareOptions.

Uyarı notuUyarı

Dizeleri karşılaştırırken çağırmalıdır Compare(String, Int32, String, Int32, Int32, StringComparison) yöntemini kullanan dize karşılaştırma türünü açıkça belirtmek gerekir yöntemi. Daha fazla bilgi için bkz. .NET Framework'te Dize Kullanımı için En İyi Yöntemler.

Karşılaştırma öğelerinden biri veya her ikisi de null olabilir. Tanım olarak, bir dize (boş dize ("") dahil), bir null başvurudan üstündür; iki null başvuru ise birbirine eşittir.

Bir eşitsizlik bulunduğunda veya her iki alt dize karşılaştırıldığında karşılaştırma sonlandırılır. Ancak, iki dize bir dizenin sonunda eşit olursa ve diğer dizede kalan karakterler varsa, kalan karakterlerin bulunduğu dize büyük kabul edilir. Dönüş değeri, gerçekleştirilen en son karşılaştırmanın sonucudur.

Karşılaştırmalar kültüre özgü büyük/küçük harf kurallarından etkilendiğinde beklenmedik sonuçlar oluşabilir. Örneğin, Türkçe'de, aşağıdaki örnek yanlış sonuçlar verir, çünkü Türkçe'deki dosya sisteminde "i" harfi için dilbilimsel büyük/küçük harf kuralları kullanılmaz.


static bool IsFileURI(String path)
{
    return (String.Compare(path, 0, "file:", 0, 5, true) == 0);
}


Bir sıralı karşılaştırma kullanarak yol adını "dosya" ile karşılaştırın. Bunu yapmak için gereken doğru kod aşağıdaki gibidir:


static bool IsFileURI(String path)
{
    return (String.Compare(path, 0, "file:", 0, 5, StringComparison.OrdinalIgnoreCase) == 0);
}


Arayanlara Notlar

Karakter kümeleri yoksayılabilir karakterler içerir. Compare(String, Int32, String, Int32, Int32) Yöntemi değil düşünün bu karakterleri dilbilimsel veya kültüre duyarlı bir karşılaştırma işlemi yaparken. Ignorable karakter, karşılaştırma tanımak için çağrı Compare(String, Int32, String, Int32, Int32, StringComparison) yöntemi ve bir değeri sağlayın CompareOptions.Ordinal veya CompareOptions.OrdinalIgnoreCase için comparisonType parametre.

Aşağıdaki örnek, iki alt dizeleri karşılaştırır.


// Sample for String.Compare(String, Int32, String, Int32, Int32)
using System;

class Sample {
    public static void Main() {
//                 0123456
    String str1 = "machine";
    String str2 = "device";
    String str;
    int result;

    Console.WriteLine();
    Console.WriteLine("str1 = '{0}', str2 = '{1}'", str1, str2);
    result = String.Compare(str1, 2, str2, 0, 2);
    str = ((result < 0) ? "less than" : ((result > 0) ? "greater than" : "equal to"));
    Console.Write("Substring '{0}' in '{1}' is ", str1.Substring(2, 2), str1);
    Console.Write("{0} ", str);
    Console.WriteLine("substring '{0}' in '{1}'.", str2.Substring(0, 2), str2);
    }
}
/*
This example produces the following results:

str1 = 'machine', str2 = 'device'
Substring 'ch' in 'machine' is less than substring 'de' in 'device'.
*/


.NET Framework

Destekleyen: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework İstemci Profili

Destekleyen: 4, 3.5 SP1

Taşınabilir Sınıf Kitaplığı

Destekleyen: Taşınabilir Sınıf Kitaplığı

Windows Mağazası uygulamaları için .NET

Destekleyen: Windows 8

Windows Phone uygulamaları için .NET

Destekleyen: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Sunucu Çekirdeği Rolü desteklenmez), Windows Server 2008 R2 (Sunucu Çekirdeği Rolü, SP1 veya sonraki sürümlerle desteklenir; Itanium'da desteklenmez)

.NET Framework her platformun tüm sürümlerini desteklemez. Desteklenen sürümlerin listesi için bkz. .NET Framework Sistem Gereksinimleri.
Bunu faydalı buldunuz mu?
(1500 karakter kaldı)
Geri bildiriminiz için teşekkür ederiz

Topluluk İçeriği

Show:
© 2015 Microsoft