在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
}
}