2017-05-28 10 views
0

が、私はその2つの初期のものにバイト配列をDecombineするための良い方法を見つけようとしている組み合わせそして、使用してそれらをdecombining:C#の/ Decombineつのバイト配列が

public static object[] DeCombine(byte[] array, int first) 
    { 
     byte[] f = new byte[first]; 
     byte[] s = new byte[(array.Length - first)]; 
     Array.Copy(array, f, array.Length - (array.Length - first)); 
     Array.Copy(array, s, array.Length - first); 

     return new[] { f, s }; 
    } 

をしかしこのdoesntのは、私はそれが完璧に動作し、必要なすべてのバイトを取得しています最初の配列のためではなく、secondeアレイ(byte[] s)のため、動作しているようです私はそれをまったく手に入れません。

2つのファイルのバイトを組み合わせて試しました file1.txt => containe text = "LM LM LM"; FILE2.TXT => containeテキスト=「ねえ、私は最初の配列FILE1.TXTの完全なバイトを取得しています

; が、FILE2.TXTを=>私は取得しています: 『L』を 私は何かを理解欠場?または何かが足りないのですか?事前に

感謝。

int first

答えて

0

まず、

組み合わせた最初の配列の長さであることに注意してください

Array.Copy(array, f, first); 

第二に、0インデックスからarrayをコピー

Array.Copy(array, s, array.Length - first); 

開始に相当します。あなたが望むものは

Array.Copy(array,first, s, 0, array.Length - first); 
です