2010-12-12 7 views
5

Jakich użytecznych pomocników do manipulowania String musisz się podzielić?Jaki jest najbardziej przydatny helper String, z którym się spotkałeś?

Napisałem kiedyś zastępstwo dla String.Format(), która mi się znaleźć o wiele bardziej schludny używać:

public static class StringHelpers 
{ 
    public static string Args(this string str, object arg0) 
    { 
     return String.Format(str, arg0); 
    } 

    public static string Args(this string str, object arg0, object arg1) 
    { 
     return String.Format(str, arg0, arg1); 
    } 

    public static string Args(this string str, object arg0, object arg1, object arg2) 
    { 
     return String.Format(str, arg0, arg1, arg2); 
    } 

    public static string Args(this string str, params object[] args) 
    { 
     return String.Format(str, args); 
    } 
} 

Przykład:

// instead of String.Format("Hello {0}", name) use: 
"Hello {0}".Args(name) 

Jakie inne użyteczne pomocnicy masz na smyczki w języku C#?

+0

Nie używam żadnych. Twoja wygląda fajnie. – TarasB

+0

Zazwyczaj dobrym pomysłem jest dołączenie obiektu CultureInfo za pomocą String.Format. Możesz dołączyć domyślną wartość CultureInfo w swojej metodzie rozszerzenia. –

+0

Powiązany przykład, który może Cię zainteresować: http://stackoverflow.com/questions/1322037/how-can-i-create-a-more-user-friendly-string-format-syntax/1322103#1322103 –

Odpowiedz

4

Dość popularny, że jest bardziej metodę rozszerzenia wygoda jest następujący:

public static class StringExtensions 
{ 
    public static bool IsNullOrEmpty(this string s) 
    { 
     return String.IsNullOrEmpty(s); 
    } 
} 

nic wielkiego, ale pisanie myString.IsNullOrEmpty() jest bardziej wygodne niż String.IsNullOrEmpty(myString).

+0

Używam do zrób to, ale potem z perspektywy czasu postanowiłeś go usunąć, ponieważ możesz wywoływać metodę na wartości zerowej. –

+0

Chociaż to prawda, że ​​ten jest popularny (i często go używam ... prawdopodobnie głównie z lenistwa), nie jestem jego fanem. Jest kilka dobrych argumentów przeciwko temu postowi: http://stackoverflow.com/questions/790810/is-extending-string-class-with-isnullorempty-confusing –

Powiązane problemy