Aracılığıyla paylaş


SortVersion sınıfı

Bu makale, bu API'nin başvuru belgelerine ek açıklamalar sağlar.

.NET Framework'te sıralama ve dize karşılaştırması

.NET Framework 4 aracılığıyla, .NET Framework'ün her sürümü, dize normalleştirmesi üzerinde sıralama ağırlıkları ve veriler içeren ve belirli bir Unicode sürümünü temel alan tablolar içeriyordu. .NET Framework 4.5 ve sonraki sürümlerinde, bu tabloların varlığı işletim sistemine bağlıdır:

  • Windows 7 ve önceki sürümlerde, tablolar dizeleri karşılaştırmak ve sıralamak için kullanılmaya devam eder.
  • Windows 8'de .NET Framework, dize karşılaştırma ve sıralama işlemlerini işletim sistemine devreder.

Sonuç olarak, dize karşılaştırmasının sonucu yalnızca .NET Framework sürümüne değil, aynı zamanda aşağıdaki tabloda gösterildiği gibi işletim sistemi sürümüne de bağlı olabilir. Desteklenen Unicode sürümlerinin bu listesinin yalnızca karakter karşılaştırma ve sıralama için geçerli olduğunu unutmayın; Unicode karakterlerinin kategoriye göre sınıflandırılması için geçerli değildir.

.NET Framework sürümü İşletim sistemi Unicode sürümü
4 Tüm işletim sistemleri Unicode 5.0
4.5 ve üzeri sürümler Windows 7 Unicode 5.0
4.5 ve üzeri sürümler Windows 8 ve sonraki sürümleri Unicode 6.0

Windows 8'de, dize karşılaştırma ve sıralamada kullanılan Unicode sürümü işletim sisteminin sürümüne bağlı olduğundan, dize karşılaştırmasının sonuçları belirli bir .NET Framework sürümünde çalışan uygulamalar için bile farklılık gösterebilir.

.NET Core'da sıralama ve dize karşılaştırması

.NET'in (Core) tüm sürümleri, dize karşılaştırmaları gerçekleştirirken temel alınan işletim sistemini temel alır. Bu nedenle, dize karşılaştırmasının sonuçları veya dizelerin sıralanma sırası, karşılaştırmayı gerçekleştirirken işletim sistemi tarafından kullanılan Unicode sürümüne bağlıdır. Linux, macOS ve Windows 10 ve sonraki sürümlerde, Unicode kitaplıkları için Uluslararası Bileşenler API'leri karşılaştırma ve sıralama için uygulamayı sağlar.

SortVersion sınıfını kullanma

sınıfı, SortVersion dize karşılaştırma ve sıralama için .NET tarafından kullanılan Unicode sürümü hakkında bilgi sağlar. Geliştiricilerin, bir uygulamanın dizelerini karşılaştırmak ve sıralamak için kullanılan Unicode sürümündeki değişiklikleri algılayıp başarıyla işleyebilen uygulamalar yazmasına olanak tanır.

Bir SortVersion nesnenin örneğini iki şekilde oluşturabilirsiniz:

  • Bir sürüm numarasına ve sıralama kimliğine SortVersion göre yeni SortVersion bir nesnenin örneğini oluşturan oluşturucuyu çağırarak. Bu oluşturucu, kaydedilen verilerden bir SortVersion nesneyi yeniden oluştururken en kullanışlı olandır.
  • özelliğinin değerini CompareInfo.Version alarak. Bu özellik, uygulamanın üzerinde çalıştığı .NET uygulaması tarafından kullanılan Unicode sürümü hakkında bilgi sağlar.

sınıfı, SortVersionFullVersion Unicode sürümünü ve SortIddize karşılaştırması için kullanılan belirli kültürü gösteren ve iki özelliğe sahiptir. FullVersion özelliği, dize karşılaştırması için kullanılan Unicode sürümünü yansıtan rastgele bir sayısal değerdir ve SortId özellik, dize karşılaştırması için kuralları kullanılan kültürü yansıtan rastgele Guid bir değerdir. Bu iki özelliğin değerleri yalnızca yöntemini, Equality işlecini veya Inequality işlecini Equals kullanarak iki SortVersion nesneyi karşılaştırdığınızda önemlidir.

Genellikle dizinler veya değişmez dizeler gibi kültüre duyarlı, sıralı dize verilerini kaydederken veya alırken bir SortVersion nesne kullanırsınız. Bu, aşağıdaki adımları gerektirir:

  1. Sıralı dize verileri kaydedildiğinde FullVersion ve SortId özellik değerleri de kaydedilir.

  2. Sıralı dize verileri alındığında, oluşturucuyu çağırarak SortVersion dizeleri sıralamak için kullanılan nesneyi yeniden SortVersion oluşturabilirsiniz.

  3. Bu yeni örneklenen SortVersion nesne, dize verilerini sıralamak için kuralları kullanılan kültürü yansıtan bir SortVersion nesneyle karşılaştırılır.

  4. İki SortVersion nesne eşit değilse, dize verilerinin yeniden sıralanması gerekir.