2017-03-11 6 views
0

jpgファイルからすべてのバイトを取得し、それを楽しい方法として操作しようとしています。 IMは、各バイトを取得し、1からそれを減算した後、別のバイト配列バイト算術での例外

byte[] f = File.ReadAllBytes("aaa.jpg"); 
    byte[] fo = null; 
    for(int i = 0;i<=f.Length;i++) 
    { 
     fo[i] = (byte)(f[i] - 1); 
    } 
    MessageBox.Show("done"); 

しかしIMエラーを取得するためにその結果を追加:オブジェクトのインスタンスに設定されていないオブジェクト参照。 その行5と私は本当に問題を理解していません

+1

'<=' ' – Slai

+1

バイト[] FO = f.Select(B =>未チェック((バイト)(B - 1)))<'であるべきであるてToArray(); '; 'unchecked' - ' OverflowException'を伴わずに '00'をサイレントに' FF'にしたい場合は –

+0

'byte [] fo = Array.ConvertAll(f、b => --b);' – Slai

答えて

0

fo byte []配列をインスタンス化する必要があります。ループの最初の反復では、インデクサーのプロパティにアクセスしています。 indexerプロパティはオブジェクトに属しているため、配列がインスタンス化されていないため、Object参照null例外が発生しています。

byte[] fo = new byte[f.Length];