1

We represent MinValue of DateTime as DateTime.MinValue but how is it represented for Byte[]?

When I gave the below,

DALImage.TwinImage = Convert.IsDBNull(reader["TwinImage"]) ? 
    Byte[].MinValue : 
    (Byte[])reader["TwinImage"];
  1. I get the error as 'byte' is a type but use like a variable
  2. syntax error value expected (in '[]' part of Byte[])

Please Help as am a newbie to C# programming

4

1 に答える 1

1

バイト配列には最小値がありません。概念としては意味がありません。「買い物リストの最小値はいくらですか」と尋ねるようなものです。

あなたがやろうとしているのは、空のByte 配列を取得することだと思います。

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

EDIT : あなたのコメントは、実際に必要なのは 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"];
于 2013-03-14T09:17:11.430 に答える