ตัวอย่างนี้อ่าน 6 ไบต์ในอาร์เรย์ไบต์และเขียนไปยังอาร์เรย์ไบต์อื่น มันดำเนินการ XOR กับไบต์เพื่อให้ผลลัพธ์ที่เขียนไปยังไฟล์นั้นเหมือนกับค่าเริ่มต้นดั้งเดิม ไฟล์มีขนาด 6 ไบต์เสมอเนื่องจากเขียนที่ตำแหน่ง 0
using System;
using System.IO;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
byte[] b1 = { 1, 2, 4, 8, 16, 32 };
byte[] b2 = new byte[6];
byte[] b3 = new byte[6];
byte[] b4 = new byte[6];
FileStream f1;
f1 = new FileStream("test.txt", FileMode.Create, FileAccess.Write);
f1.Write(b1, 0, 6);
f1.Close();
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
f1.Read(b2, 0, 6);
f1.Close();
for (int i = 1; i < b2.Length; i++)
{
b2[i] = (byte)(b2[i] ^ (byte)10);
}
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Write);
f1.Write(b2, 0, 6);
f1.Close();
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Read);
f1.Read(b3, 0, 6);
f1.Close();
for (int i = 1; i < b3.Length; i++)
{
b4[i] = (byte)(b3[i] ^ (byte)10);
}
f1 = new FileStream("test.txt", FileMode.Open, FileAccess.Write);
f1.Write(b4, 0, 6);
f1.Close();
}
}
}