从对象获得长期价值的最佳方式?

时间:2012-03-05 10:06:18

标签: c# asp.net sql-server bltoolkit

我想知道通过BLToolkit从MSSQL服务器返回的BIGINT值获取long的最佳方法 哪个更好?

long.Parse(db.Parameter("@rowCount").Value.ToString());

System.Convert.ToInt64(db.Parameter("@rowCount").Value);

6 个答案:

答案 0 :(得分:1)

我认为下面是一个检索数据的好方法:

long longValue = 0;
if(db.Parameter("@rowCount").Value!=null)
{
    long.TryParse(db.Parameter("@rowCount").Value.ToString(), out longValue);
    //longValue: contains the actual long data
}

由于异常非常昂贵,并且根据上述代码处理异常。所以它会提供更好的方法。

由于

答案 1 :(得分:0)

第二种形式更好,因为保持很长。由于二进制< - >十进制转换,转换为字符串或从字符串转换可能会丢失精度。

答案 2 :(得分:0)

使用(long)db.Parameter("@rowCount").Value 如果您的值可能为空,则为(long?)db.Parameter("@rowCount").Value

答案 3 :(得分:0)

一种方法是从字符串

中长期输入
((long)(db.Parameter("@rowCount").Value.ToString()))

答案 4 :(得分:0)

我会这样投:

long lngVal = System.Convert.ToLong(db.Parameter("@rowCount").Value);

在这种情况下,我不会在之前将对象强制转换为String,因为没有理由。

答案 5 :(得分:0)

int nRowCnt = db.GetOrdinals("@rowCount");
db.GetInt64(nRowCnt);