SORU
9 Mayıs 2012, ÇARŞAMBA


String.Nasıl çalışır ve özel nasıl Format - formatstrings

String.Format() ile çok farklı şekillerde örneğin format 2* *nesneleri mümkündür. Her zaman Internet üzerinde araştırma yapmak için ihtiyacım var istediğiniz bir format arıyorum. Her zaman kullanabileceğim bir örnek bulmak neredeyse. Örneğin:

String.Format("{0:MM/dd/yyyy}", DateTime.Now);          // "09/05/2012"

Ama nasıl çalışır ve sınıfları bu 'sihirli' ek dizeleri. destek herhangi bir ipucu yok

Bu yüzden benim sorular şunlardır:

  1. Nasıl String.Format dize bir sonuç için ek bilgiler MM/dd/yyyy göster?
  2. Tüm Microsoft nesneleri bu özelliği destekliyor mu?
    Bu bir yerde belgelenmiştir?
  3. Böyle bir şey yapmak mümkün
    String.Format("{0:MyCustomFormat}", new MyOwnClass())

CEVAP
9 Mayıs 2012, ÇARŞAMBA


String.Format karşılık gelen nesne karşı string ({0} vb) içinde simgelerini maçlar: http://msdn.microsoft.com/en-us/library/system.string.format.aspx

Biçim dizesi isteğe bağlı olarak temin edilmektedir

{ index[,alignment][ : formatString] }

Eğer formatString sağlanırsa, karşılık gelen nesne IFormattable ve özellikle formatString kabul ToString yöntemi uygulamak ve ilgili biçimlendirilmiş bir dize döndürür gerekir: http://msdn.microsoft.com/en-us/library/system.iformattable.tostring.aspx

IFormatProvider Mayıs temel biçimlendirme standartları yakalamak için kullanılabilir/varsayılan olarak da kullanılır vb. Örnekler here here.

Sırayla sorularınıza cevaplar:

  1. DateTime nesne IFormattable ToString() arabirim yöntemi kullanır ve MM/dd/yyyy biçim dizesi geçiyor. Doğru dize döndüren uygulama.

  2. Herhangi bir IFormattable uygulamak, bu özelliği destekleyen bir nesne. Hatta kendi yazabilirsiniz!

  3. Evet, yukarıya bakın.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Andrew_Huang

    Andrew_Huang

    10 ŞUBAT 2006
  • Myron and Nejusha dance

    Myron and Ne

    2 AĞUSTOS 2012
  • Rayone GB

    Rayone GB

    14 Temmuz 2007