c#处理mysql查询中的空字节数组

Jaz*_*eff 2 c# mysql byte blob bytearray

我创建了一个应用程序,它基本上在 mysql 服务器上查找 blob 记录,我遇到的问题是,如果无论出于何种原因 blob 字段为空,应用程序都会崩溃。我想过类似的事情

我目前有

byte[] data = (byte[])DbReader[2];
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有任何方法可以做类似的事情

if (DbReader.IsDbNull(2)
    byte[] data = /* DEFAULT VALUE */
else
    byte[] data = (byte[])DbReader[2];
Run Code Online (Sandbox Code Playgroud)

但是我可以设置一个默认值吗??我尝试过的一切都失败了:(

dan*_*uio 5

这个怎么样:

byte[] data = null;
Run Code Online (Sandbox Code Playgroud)

数组是引用类型,因此您可以为它们分配 null。稍后您将能够像这样查看数据是否为空:

if(data != null)
{
    //there is data inside that array, you can go ahead and use it.
}
Run Code Online (Sandbox Code Playgroud)

编辑:简化

你可以像这样简化你的代码:

byte[] data = DbReader.IsDbNull(2) ? null : (byte[])DbReader[2];
Run Code Online (Sandbox Code Playgroud)