从对象中获取长值的最佳方式
本文关键字:最佳 方式 对象 获取 | 更新日期: 2023-09-27 18:26:58
我想知道通过BLToolkit从MSSQL服务器获取返回的BIGINT值的最佳方法哪个会更好?
long.Parse(db.Parameter("@rowCount").Value.ToString());
或
System.Convert.ToInt64(db.Parameter("@rowCount").Value);
我会这样铸造:
long lngVal = System.Convert.ToLong(db.Parameter("@rowCount").Value);
在这种情况下,我之前不会将对象强制转换为String,因为没有任何原因。
我认为以下是按照您的意愿检索数据的好方法:
long longValue = 0;
if(db.Parameter("@rowCount").Value!=null)
{
long.TryParse(db.Parameter("@rowCount").Value.ToString(), out longValue);
//longValue: contains the actual long data
}
由于异常非常昂贵,并且根据上面的代码处理异常。因此,它将提供更好的方法。
感谢
第二种形式更好,因为它停留很长时间。由于二进制<->,转换为字符串/从字符串转换可能会丢失精度十进制转换。
使用(long)db.Parameter("@rowCount").Value
或者(long?)db.Parameter("@rowCount").Value
(如果您的值可能为null)。
一种方法是从字符串中进行长类型强制转换
((long)(db.Parameter("@rowCount").Value.ToString()))
int nRowCnt = db.GetOrdinals("@rowCount");
db.GetInt64(nRowCnt);