使用public bool IsLegalValueobject value ref object defaultValue方法判断是否为ushort类型使用正则表达式
可以使用以下代码:
public bool IsLegalValue(object value, ref object defaultValue)
{
if (value == null)
{
defaultValue = default(ushort);
return false;
}
else if (value is ushort)
{
defaultValue = value;
return true;
}
else
{
string strValue = value.ToString();
ushort ushortValue;
if (ushort.TryParse(strValue, out ushortValue))
{
defaultValue = ushortValue;
return true;
}
else
{
defaultValue = default(ushort);
return false;
}
}
}
public bool IsUShort(string strValue)
{
string pattern = @"^\d+$";
return Regex.IsMatch(strValue, pattern) && ushort.TryParse(strValue, out ushort result);
}
其中,IsLegalValue方法用于判断是否为ushort类型,如果是则返回true,并将defaultValue设置为传入的value值;如果不是,则尝试将value转换为ushort类型,如果成功则返回true,并将defaultValue设置为转换后的ushort值,否则返回false,并将defaultValue设置为ushort类型的默认值。
IsUShort方法用于判断一个字符串是否为ushort类型,使用正则表达式判断是否为数字,然后使用ushort.TryParse方法尝试将字符串转换为ushort类型。如果能成功转换则返回true,否则返回false
原文地址: https://www.cveoy.top/t/topic/cyhm 著作权归作者所有。请勿转载和采集!