C#中Byte []的MinValue是多少?

时间:2013-03-14 09:12:42

标签: max varbinary

我们将DateTime的MinValue表示为DateTime.MinValue,但它如何表示为Byte []?

当我给出下面的内容时,

DALImage.TwinImage = Convert.IsDBNull(reader["TwinImage"]) ? 
    Byte[].MinValue : 
    (Byte[])reader["TwinImage"];
  1. 我得到错误,因为'byte'是一个类型,但使用像变量
  2. 预期的语法错误值(在[[]'部分Byte [])
  3. 请帮助我作为C#编程的新手

1 个答案:

答案 0 :(得分:1)

字节数组没有最小值 - 它作为一个概念没有意义。这就像问“购物清单的最低价值是多少”。

我认为你要做的是获得字节数组。

DALImage.TwinImage = Convert.IsDBNull(reader["TwinImage"]) ? 
    new Byte[0] : 
    (Byte[])reader["TwinImage"];

修改: 你的评论表明你真正想要的是一个包含1个元素的字节数组,其中该元素是一个字节的最小值。

这将是以下代码:

DALImage.TwinImage = Convert.IsDBNull(reader["TwinImage"]) ? 
    new Byte[1] { Byte.MinValue } : 
    (Byte[])reader["TwinImage"];

但是,这也可以使用default编写,这可能在语义上更清晰。

DALImage.TwinImage = Convert.IsDBNull(reader["TwinImage"]) ? 
    new Byte[1] { default(Byte) } : 
    (Byte[])reader["TwinImage"];