First off, there is no HEX type - and it's unlikely there ever would be, since Hex is representation of a number, rather than a different type of numbering altogether.
If you mean you want to work on files in their raw form, then just use bytes:
byte[] data = File.ReadAllBytes(@"D:\Temp\myFile.txt");
Will read your file into normal 8 bits bytes without any translation or text interpretations going on.
for (int i = 0;i < data.Length; i++)
{
data ^= (byte) i;
}
File.WriteAllBytes(@"D:\Temp\MyUselessFile.txt", data);
Will alter each byte individually, and write them back out to a new file, that is pretty much useless. (Reading it in and running through the same code will restore it though).
Is that the kind of thing you were thinking of?