常用——扩展方法

  1 /// <summary>
  2 ///ExpandMethod 扩展方法
  3 /// </summary>
  4 public static class ExpandMethod
  5 {
  6     /// <summary>
  7     /// 字符串是否为null或者""
  8     /// true:是null或者"";false:则反之
  9     /// </summary>
 10     /// <param name="s"></param>
 11     /// <returns></returns>
 12     public static bool IsNullOrEmpty(this string s)
 13     {
 14         return String.IsNullOrEmpty(s);
 15     }
 16 
 17     /// <summary>
 18     /// 如果为空或"" 返回 null,反之原样返回
 19     /// </summary>
 20     /// <param name="s"></param>
 21     /// <returns></returns>
 22     public static string GetNoNullOrEmpty(this string s)
 23     {
 24         if (!String.IsNullOrEmpty(s))
 25         {
 26             return s;
 27         }
 28         return null;
 29     }
 30 
 31     /// <summary>
 32     /// 不为空时返回日期部分字符串,为空nullstring替换返回
 33     /// </summary>
 34     /// <param name="date"></param>
 35     /// <param name="nullstring"></param>
 36     /// <returns></returns>
 37     public static string DateTimeToString(this DateTime? date, string nullstring)
 38     {
 39         if (date.HasValue)
 40         {
 41             return date.Value.ToShortDateString();
 42         }
 43         else
 44         {
 45             return nullstring;
 46         }
 47     }
 48 
 49     /// <summary>
 50     /// 格式化DateTime输出格式化后字符串
 51     /// </summary>
 52     /// <param name="date"></param>
 53     /// <param name="formatstr">如 yyyy'/'mm'/'dd</param>
 54     /// <returns></returns>
 55     public static string DateTimeFormatWith(this DateTime date, string formatstr)
 56     {
 57         return date.ToString(formatstr);
 58     }
 59 
 60     /// <summary>
 61     /// DateTime? 格式化输出字符串
 62     /// </summary>
 63     /// <param name="date"></param>
 64     /// <param name="formatstr">如 yyyy'/'mm'/'dd</param>
 65     /// <param name="nullstr"></param>
 66     /// <returns></returns>
 67     public static string DateTimeFormatWith(this DateTime? date, string formatstr, string nullstr)
 68     {
 69         if (date.HasValue)
 70         {
 71             return date.Value.DateTimeFormatWith(formatstr);
 72         }
 73         else
 74         {
 75             return date.DateTimeToString(nullstr);
 76         }
 77     }
 78 
 79     /// <summary>
 80     /// 不为空时返回日期部分字符串,否则返回null
 81     /// </summary>
 82     /// <param name="date"></param>
 83     /// <returns></returns>
 84     public static string DateTimeToString(this DateTime? date)
 85     {
 86         if (date.HasValue)
 87         {
 88             return date.Value.ToShortDateString();
 89         }
 90         else
 91         {
 92             return null;
 93         }
 94     }
 95 
 96     /// <summary>
 97     /// 判断字符串是否符合正则表达式
 98     /// </summary>
 99     /// <param name="s"></param>
100     /// <param name="pattern">正则表达式</param>
101     /// <returns></returns>
102     public static bool IsMatch(this string s, string pattern)
103     {
104         if (s == nullreturn false;
105         else return Regex.IsMatch(s, pattern);
106     }
107 
108     /// <summary>
109     /// 获取符合正则表达式的值,如果对象为null 返回""
110     /// </summary>
111     /// <param name="s"></param>
112     /// <param name="pattern"></param>
113     /// <returns></returns>
114     public static string Match(this string s, string pattern)
115     {
116         if (s == nullreturn "";
117         return Regex.Match(s, pattern).Value;
118     }
119 
120     /// <summary>
121     /// 判断是否为Int,是:true;否:false
122     /// </summary>
123     /// <param name="s"></param>
124     /// <returns></returns>
125     public static bool IsInt(this string s)
126     {
127         int i;
128         return int.TryParse(s, out i);
129     }
130 
131     /// <summary>
132     /// 将字符串转为Int
133     /// </summary>
134     /// <param name="s"></param>
135     /// <returns></returns>
136     public static int ToInt(this string s)
137     {
138         try
139         {
140             return int.Parse(s);
141         }
142         catch (Exception)
143         {
144             return 0;
145         }
146     }
147 
148     public static int? ToIntOrDefault(this string s) 
149     {
150         if (!s.IsNullOrEmpty())
151         {
152             if (s.IsInt())
153             {
154                 return s.ToInt();
155             }
156             else
157             {
158                 return null;
159             }
160         }
161         else
162         {
163             return null;
164         }
165     }
166 
167     /// <summary>
168     /// int? 类型不为null 或 0,转换为string
169     /// </summary>
170     /// <param name="ent"></param>
171     /// <returns></returns>
172     public static string IsNullInt(this int? ent) 
173     {
174         if (ent.HasValue&&ent.Value>0)
175         {
176             return ent.Value.ToString();
177         }
178         else
179         {
180             return null;
181         }
182     }
183 
184     /// <summary>
185     /// 判断字符串的值是否为double,是:true;否:false
186     /// </summary>
187     /// <param name="s"></param>
188     /// <returns></returns>
189     public static bool IsDouble(this string s)
190     {
191         double d;
192         return double.TryParse(s, out d);
193     }
194 
195     /// <summary>
196     /// 将字符串转换为double
197     /// </summary>
198     /// <param name="s"></param>
199     /// <returns></returns>
200     public static double ToDouble(this string s)
201     {
202         return double.Parse(s);
203     }
204 
205     public static double? ToDoubleOrDefault(this string s) 
206     {
207         if (s.IsDouble()&& !s.IsNullOrEmpty())
208         {
209             return double.Parse(s);
210         }
211         else
212         {
213             return null;
214         }
215     }
216 
217     /// <summary>
218     /// 判断是否为空或0,是返回null;否返回string
219     /// </summary>
220     /// <param name="d"></param>
221     /// <returns></returns>
222     public static string IsNullDecimal(this decimal? d) 
223     {
224         if (d.HasValue&&d.Value>0)
225         {
226             return d.Value.ToString();
227         }
228         else
229         {
230             return null;
231         }
232     }
233 
234     /// <summary>
235     /// 转换成decimal 不成功返回 null
236     /// </summary>
237     /// <param name="d"></param>
238     /// <returns></returns>
239     public static decimal? ToDecimal(this string d) 
240     {
241         if (!d.IsNullOrEmpty() && d.IsDecimal())
242         {
243             return decimal.Parse(d); 
244         }
245         else
246         {
247             return null;
248         }
249     }
250 
251     /// <summary>
252     /// 是否为decimal类型
253     /// </summary>
254     /// <param name="s"></param>
255     /// <returns></returns>
256     public static bool IsDecimal(this string s) 
257     {
258         decimal d;
259         return decimal.TryParse(s,out d);
260     }
261 
262     
276 
277 }
posted @ 2012-01-11 16:33  qishidz  阅读(179)  评论(0编辑  收藏  举报