SORU
25 HAZİRAN 2010, Cuma


Ne kadar büyük / küçük harf duyarlı dize karşılaştırma yapabilirim?

Ne durumda aşağıdaki satırı duyarsız yapabilir miyim?

drUser["Enrolled"] = 
      (enrolledUsers.FindIndex(x => x.Username == (string)drUser["Username"]) != -1);

Kullandığım önerilen bazı öneriler bugün verildi:

x.Username.Equals((string)drUser["Username"], StringComparison.OrdinalIgnoreCase)));

sorun bu işe giremiyorum, aşağıdaki satırı denedim, ama yanlış sonuçlar derler döndürür, döndürür kayıtlı olarak unenrolled ve unenrolled kullanıcılar kullanıcı olarak kayıtlı.

drUser["Enrolled"] = 
      (enrolledUsers.FindIndex(x => x.Username.Equals((string)drUser["Username"], 
                                 StringComparison.OrdinalIgnoreCase)));

Herkes soruna işaret olabilir mi?

CEVAP
20 Aralık 2012, PERŞEMBE


Bu en iyi yöntem değildir .NET çerçeve (4 & ) eşitliği kontrol etmek için

String.Compare(x.Username, (string)drUser["Username"], 
                  StringComparison.OrdinalIgnoreCase) == 0

Bunun yerine aşağıdakileri kullanın

String.Equals(x.Username, (string)drUser["Username"], 
                   StringComparison.OrdinalIgnoreCase) 

MSDN recommends:

  • Dize aşırı kullanımı.İkinci yöntem olup olmadığını test etmek için eşittir dizeleri eşittir.
  • KullanımıString.KarşılaştırınveString.CompareTo dizeleri sıralamak için yöntemeşitlik kontrol etmek için değil.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • boburnham

    boburnham

    11 Temmuz 2006
  • Brandon McCrary

    Brandon McCr

    15 Ocak 2012
  • LearnCode.academy

    LearnCode.ac

    20 Aralık 2012