SORU
4 EYLÜL 2008, PERŞEMBE


Dize farklılıklar C yöntemleri karşılaştırmak#

C karşılaştırarak dize# oldukça basittir. Aslında bunu yapmak için birçok yolu vardır. Aşağıda bloğunda bazı listeledik. Aralarındaki farkları merak ediyorum ve diğerleri üzerinde ne zaman kullanılmalı? Da ne pahasına olursa olsun kaçınılmalıdır? Listelenen vermedim daha var mı?

string testString = "Test";
string anotherString = "Another";

if (testString.CompareTo(anotherString) == 0) {}
if (testString.Equals(anotherString)) {}
if (testString == anotherString) {}

(Not: Bu örnek, veya daha az ama bu konuda da yorum yapmaktan çekinmeyin daha büyük değil) eşitlik arıyorum

CEVAP
4 EYLÜL 2008, PERŞEMBE


İşte bu fonksiyonların nasıl çalıştığını kuralları:

çağrısı.CompareTo(otherStringValue):

  1. boş bir dize önce gelir
  2. Cultureınfo kullanır.CurrentCulture.Compareınfo.Kültür-bağımlı bir karşılaştırma kullanacağı anlamına geliyor karşılaştırın. Bu ß Almanya'da SS ile aynı veya benzer karşılaştırır anlamına gelebilir

çağrısı.(OtherStringValue) eşittir:

  1. boş bir şey için eşit olarak kabul edilmez
  2. sen StringComparison bir seçeneği belirtin sürece, doğrudan sıralı eşitlik denetimi gibi görünüyor, ıe kullanır. ß SS olarak aynı, herhangi bir dil ya da kültür değildir

== otherStringValue çağrısı:

  1. Aynı çağrısı değil.() Eşittir.
  2. == Operatörü statik Equals(string a, string b) yöntem çağrıları da karşılaştırma yapmak için bir iç EqualsHelper gider (
  3. Arama .() Eşittir başvuru özel durumu, süre == değildir boş boş bir dize alır.

Nesne.ReferenceEquals () çağrısı, otherStringValue:

Başvurular aynı, yani sadece denetler. aynı içeriği ile sadece iki teli değil, kendisi ile bir string nesnesi ile karıştırıyorsunuz.


Yöntem çağrıları kullanan yukarıdaki seçenekleri ile karşılaştırır nasıl belirlemek için daha fazla seçenek ile aşırı olduğunu unutmayın.

Eğer sadece eşitlik için kontrol etmek istiyorsanız tavsiyem kültür-bağımlı bir karşılaştırma kullanmak istediğiniz Ol ya da olma kararını ver, ve o zaman kullanın .CompareTo ya .Seçim bağlı olarak eşittir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chickenby

    chickenby

    2 HAZİRAN 2008
  • CommonArtisan

    CommonArtisa

    7 Temmuz 2012
  • Majestic Casual

    Majestic Cas

    28 NİSAN 2012