晚安,
我有一个SQLite查询,我使用ExecuteScalar()
命令在C#中执行。 Object
类型变量的结果实际上是Int64类型的值。由于我需要将其转换为Int32,我首先尝试使用Convert.ToInt32
,现在我使用的是(Int32)(Int64)Object
,尽管我在两者中都获得了相同的性能。问题是这种演员似乎需要额外的6ms才能完成,而且所涉及的方法是关键代码,应尽快执行...有没有办法更快地执行此演员,例如使用,位运算符或其他一些方法?
以防这是不可能的,我真的不明白为什么查询的结果是Int64 ...有什么办法可以强迫它成为Int32吗?
非常感谢。
答案 0 :(得分:1)
您可以使用数据读取器而不是执行标量并调用静态getint32函数。不确定它是否会更快。
或者,您可以在返回之前将结果转换为sql查询。同样,这实际上可能会降低整体表现。