2010-12-12 9 views
5

स्ट्रिंग हेरफेर के लिए आपको कौन से उपयोगी मददगार साझा करना है?आपके सामने आने वाले सबसे उपयोगी स्ट्रिंग हेल्पर क्या हैं?

मैं एक बार String.Format() के लिए एक स्थानापन्न, जो मैं भी बहुत कुछ साफ उपयोग करने के लिए लगता है लिखा है:

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); 
    } 
} 

उदाहरण:

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

क्या अन्य उपयोगी सहायकों आप स्ट्रिंग्स के लिए है सी # में?

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

कुछ भी नहीं महान है, लेकिन लेखन myString.IsNullOrEmpty() अधिक सुविधाजनक है String.IsNullOrEmpty(myString) से:

+0

मैं किसी का उपयोग नहीं कर रहा हूं। आपका अच्छा लग रहा है। – TarasB

+0

स्ट्रिंग.फॉर्मैट के साथ एक CultureInfo ऑब्जेक्ट को शामिल करना आमतौर पर एक अच्छा विचार है। आप अपनी विस्तार विधि में एक डिफ़ॉल्ट CultureInfo शामिल कर सकते हैं। –

+0

एक संबंधित उदाहरण आपको दिलचस्प लगेगा: http://stackoverflow.com/questions/1322037/how-can-i-create-a-more-user-friendly-string-format-syntax/1322103#1322103 –

उत्तर

4

एक काफी लोकप्रिय एक है कि एक सुविधा विस्तार विधि का अधिक है निम्नलिखित है।

+0

मैं इसका उपयोग करता हूं ऐसा करें, लेकिन फिर पीछे की ओर से इसे हटाने का फैसला किया क्योंकि आप एक विधि को एक नल पर बुला सकते हैं। –

+0

हालांकि यह सच है कि यह लोकप्रिय है (और मैं इसे अक्सर उपयोग करता हूं ... शायद अधिकतर आलस्य से बाहर), मैं वास्तव में इसके प्रशंसक नहीं हूं। इस पोस्ट में इसके खिलाफ कुछ अच्छे तर्क हैं: http://stackoverflow.com/questions/790810/is-extending-string-class-with-isnullorempty-confusing –

संबंधित मुद्दे

 संबंधित मुद्दे