从对象中获取长值的最佳方式

本文关键字:最佳 方式 对象 获取 | 更新日期: 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);