在Core里面新建了一个以及目录叫Utils,里面新创建了一个字符串工具类,使用的是拓展类的方法实现的。主要为了其他的工程里操作字符串方便。
判断是否是空字符串或者无效字符串。数据库里的空对象,如果这一行这一列是null的话,取出来的话不是null,也不是空字符串。我猜测数据库为了填充表格为了让空间连续,所以空填充一些没用的二进制数据,这些数据会做出标记。所以要判断一下类型是否等于DbNull。
//判断对象是否为Null、DBNull、Empty或空白字符串 public static bool IsNullOrEmpty(this object value) { bool retVal = false; if (value == null || string.IsNullOrWhiteSpace(value.ToString()) || (value.GetType().Equals(DBNull.Value.GetType()))) { retVal = true; } return retVal; }
Object转String函数
public static string ObjectToString(this object canNullStr) { return canNullStr.ObjectToString(""); } public static string ObjectToString(this object canNullStr, string defaultStr) { try { if ((canNullStr == null) || (canNullStr is DBNull)) { if (defaultStr != null) { return defaultStr; } return string.Empty; } //删除头部,以及尾部出现的空格,知道遇到一个非空格的字符串 停止 return Convert.ToString(canNullStr).Trim(); } catch { return defaultStr; } }
StringToShort函数 和 ObjectToShort函数
public static short ToShort(this string value) { short ret = 0; short.TryParse(value, out ret); return ret; } public static short ToShort(this object value) { short ret = 0; if (value != null) { short.TryParse(value.ToString(), out ret); } return ret; }
StringToInt函数和ObjectToInt函数
public static int ToInt(this string value) { int ret = 0; int.TryParse(value, out ret); return ret; } public static int ToInt(this object value) { int ret = 0; if (value != null) { int.TryParse(value.ToString(), out ret); } return ret; }
StringToLong函数和ObjectToLong函数
public static long ToLong(this string value) { long ret = 0; long.TryParse(value, out ret); return ret; } public static long ToLong(this object value) { long ret = 0; if (value != null) { long.TryParse(value.ToString(), out ret); } return ret; }
StringToFloat函数
public static float ToFloat(this string value) { float ret = 0; float.TryParse(value, out ret); return ret; }
完整代码
using System; using System.Collections.Generic; using System.Text; namespace Servers.Core { public static class YFStringUtil { #region IsNullOrEmpty 验证值是否为null //判断对象是否为Null、DBNull、Empty或空白字符串 public static bool IsNullOrEmpty(this object value) { bool retVal = false; if (value == null || string.IsNullOrWhiteSpace(value.ToString()) || (value.GetType().Equals(DBNull.Value.GetType()))) { retVal = true; } return retVal; } #endregion #region ObjectToString obj转换成str 自动Trim(修剪?剪枝?) public static string ObjectToString(this object canNullStr) { return canNullStr.ObjectToString(""); } public static string ObjectToString(this object canNullStr, string defaultStr) { try { if ((canNullStr == null) || (canNullStr is DBNull)) { if (defaultStr != null) { return defaultStr; } return string.Empty; } //删除头部,以及尾部出现的空格,知道遇到一个非空格的字符串 停止 return Convert.ToString(canNullStr).Trim(); } catch { return defaultStr; } } #endregion #region ToShort public static short ToShort(this string value) { short ret = 0; short.TryParse(value, out ret); return ret; } public static short ToShort(this object value) { short ret = 0; if (value != null) { short.TryParse(value.ToString(), out ret); } return ret; } #endregion #region ToInt public static int ToInt(this string value) { int ret = 0; int.TryParse(value, out ret); return ret; } public static int ToInt(this object value) { int ret = 0; if (value != null) { int.TryParse(value.ToString(), out ret); } return ret; } #endregion #region ToLong public static long ToLong(this string value) { long ret = 0; long.TryParse(value, out ret); return ret; } public static long ToLong(this object value) { long ret = 0; if (value != null) { long.TryParse(value.ToString(), out ret); } return ret; } #endregion #region ToLong public static float ToFloat(this string value) { float ret = 0; float.TryParse(value, out ret); return ret; } #endregion } }