c# - 如何将ulong转换为rowversion
问题描述
参考将 sql server rowversion 转换为 long 或 ulong? 我可以通过代码将 SQL RowVersion 转换为 ulong:
static ulong BigEndianToUInt64(byte[] bigEndianBinary)
{
return ((ulong)bigEndianBinary[0] << 56) |
((ulong)bigEndianBinary[1] << 48) |
((ulong)bigEndianBinary[2] << 40) |
((ulong)bigEndianBinary[3] << 32) |
((ulong)bigEndianBinary[4] << 24) |
((ulong)bigEndianBinary[5] << 16) |
((ulong)bigEndianBinary[6] << 8) |
bigEndianBinary[7];
}
现在,我面临一个问题,如何将 ulong 转换为 byte [8]?我将 rowversion 的值保存到一个文件中,然后读取它并使用它来进行查询。查询参数应该是 byte[] ,而不是 ulong 。否则,将引发错误。
解决方案
我从BigEndian.GetBytes Method (Int64)得到了答案
谢谢大家。
public static byte[] GetBytes(this ulong value)
{
return new[]
{
(byte)(value >> 56),
(byte)(value >> 48),
(byte)(value >> 40),
(byte)(value >> 32),
(byte)(value >> 24),
(byte)(value >> 16),
(byte)(value >> 8),
(byte)(value)
};
}
推荐阅读
- php - 从数据库中选择默认选项
- json - 有没有办法在不为空时将不同的结构类型编组到相同的 json 字段?
- three.js - Three.js 对齐屋顶上的带状疱疹
- python-3.x - os.sytem(path/to/file) 权限被拒绝?
- r - 如何根据r中三列的值对不同的行进行分类
- azure - 用户 ' 登录失败
' 但在 Data Studio 中工作 - javascript - 从网页播放音频的javascript方法
- python - 如何解决python/pip/pip3 不识别为内部或外部命令 | 更改路径后python命令错误?
- php - 在 PHP 和 cURL 中处理重定向和 cookie 以在 php 中运行 curl -b -c -d -Lvk
- postgresql - 在克隆期间更改 AWS RDS 的密码