namespace CommonUtil
{
///
/// 扩展方法工具类-整型
///
public static partial class ExtendUtil
{
///
/// 转换为1或0
///
/// 数据
/// true:1;false:0
public static int ToInt(this bool data)
{
return data ? 1 : 0;
}
///
/// 数据转换为整型,null会转为0!
///
/// 数据
/// 整型
public static int ToInt(this string data)
{
if (data.IsNullOrEmpty())
{
return 0;
}
return int.TryParse(data, out int result) ? result : 0;
}
///
/// 数据转换为整型,null会转为0!
///
/// 数据
/// 整型
public static int ToInt(this T data) where T : struct
{
return int.TryParse(data.ToString(), out int result) ? result : 0;
}
///
/// 数据转换为整型,null会转为0!
///
/// 数据
/// 整型
public static int ToInt(this T? data) where T : struct
{
return data.HasValue ? ToInt(data.Value) : 0;
}
///
/// 转换为可空整型
///
/// 数据
/// 可空整型
public static int? ToIntOrNull(this string data)
{
if (data == null)
{
return null;
}
bool isValid = int.TryParse(data, out int result);
if (isValid)
{
return result;
}
return null;
}
///
/// 转换为可空整型
///
/// 数据
/// 可空整型
public static int? ToIntOrNull(this T data) where T : struct
{
bool isValid = int.TryParse(data.ToString(), out int result);
if (isValid)
{
return result;
}
return null;
}
///
/// 转换为可空整型
///
/// 数据
/// 可空整型
public static int? ToIntOrNull(this T? data) where T : struct
{
return data.HasValue ? ToIntOrNull(data.Value) : null;
}
}
}