2010-12-12 4 views
5

Những người trợ giúp hữu ích nào cho thao tác Chuỗi đối với bạn phải chia sẻ?Trình trợ giúp chuỗi hữu ích nhất mà bạn đã gặp phải là gì?

Tôi đã từng viết một thay thế cho String.Format(), mà tôi tìm thấy nhiều hơn nữa gọn gàng để sử dụng:

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

Ví dụ:

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

gì khác giúp đỡ hữu ích để bạn có cho chuỗi trong C#?

+0

Tôi không sử dụng bất kỳ thứ gì. Bạn trông thật tuyệt. – TarasB

+0

Thường là một ý tưởng hay để bao gồm đối tượng CultureInfo với String.Format. Bạn có thể bao gồm một CultureInfo mặc định trong phương pháp mở rộng của bạn. –

+0

Ví dụ có liên quan mà bạn có thể thấy thú vị: http://stackoverflow.com/questions/1322037/how-can-i-create-a-more-user-friendly-string-format-syntax/1322103#1322103 –

Trả lời

4

Một một khá phổ biến đó là nhiều hơn một phương pháp mở rộng thuận tiện như sau:

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

Không có gì tuyệt vời, nhưng viết myString.IsNullOrEmpty() nhiều thuận tiện hơn String.IsNullOrEmpty(myString).

+0

Tôi sử dụng làm điều này, nhưng sau đó nhìn lại quyết định loại bỏ nó bởi vì bạn có thể gọi một phương thức trên một null. –

+0

Mặc dù điều này là phổ biến (và tôi thường xuyên sử dụng nó ... có lẽ phần lớn là do lười biếng), tôi không thực sự là một fan hâm mộ của nó. Có một số đối số tốt chống lại nó trong bài đăng này: http://stackoverflow.com/questions/790810/is-extending-string-class-with-isnullorempty-confusing –