1

list という名前の araylist オブジェクトがあります。ここでは、arraylist オブジェクトを byte[] に変換したいのですが、以下のコーディングを行っているとエラーが発生します。コーディング:

 byte[] obj= new byte[list.Count];
     list.CopyTo(obj); 

ここで、配列リスト オブジェクトは ssrs レポートからレポート データを返します。この問題を解決するためにここでやりたいこと。

4

2 に答える 2

3

これを見てください(これにより、どこが問題になる可能性があるかがわかります)

        List<object> list = new List<object>();
        list.Add((byte)1);
        list.Add((byte)0);
        list.Add("wtf");
        list.Add((byte)1);
        byte[] obj = list.OfType<byte>().ToArray();
        if(obj.Length!=list.Count)
        {
            //Exception, not all objects in list is 'byte'
        }
于 2012-05-14T07:07:10.350 に答える
1

ArrayList にタイプのアイテムが含まれていることを意味する場合は、次のbyteような構文を使用します。

byte[] obj = (byte[])list.ToArray(typeof(byte));

それ以外の場合は、オブジェクトをそのようにバイトにキャストできないため、必要なものが明確ではありません。詳しく説明してください。

于 2012-05-14T06:29:03.040 に答える