PS:调试的时候在“命令行参数”属性中,输入“..\..\Test.txt”,便可以将与源代码(indexer.cs)所在目录下的Test.txt文件中的字节反转。或者将编译好的exe在cmd中输入“indexer Test.txt”也可。
这个范例也提供了按照字节访问文件的方法(类FileByteArray),收藏收藏了,


Demo

msdn上的“索引器”(indexer)示例-冯金伟博客园//Copyright (C) Microsoft Corporation.  All rights reserved.
msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园
// indexer.cs
msdn上的“索引器”(indexer)示例-冯金伟博客园
// arguments: indexer.txt
msdn上的“索引器”(indexer)示例-冯金伟博客园
using System;
msdn上的“索引器”(indexer)示例-冯金伟博客园
using System.IO;
msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园
// Class to provide access to a large file
msdn上的“索引器”(indexer)示例-冯金伟博客园
// as if it were a byte array.
msdn上的“索引器”(indexer)示例-冯金伟博客园
public class FileByteArray
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园    Stream stream;      
// Holds the underlying stream
msdn上的“索引器”(indexer)示例-冯金伟博客园                        
// used to access the file.
msdn上的“索引器”(indexer)示例-冯金伟博客园
// Create a new FileByteArray encapsulating a particular file.
msdn上的“索引器”(indexer)示例-冯金伟博客园
    public FileByteArray(string fileName)
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园    
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园        stream 
= new FileStream(fileName, FileMode.Open);
msdn上的“索引器”(indexer)示例-冯金伟博客园    }

msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园    
// Close the stream. This should be the last thing done
msdn上的“索引器”(indexer)示例-冯金伟博客园    
// when you are finished.
msdn上的“索引器”(indexer)示例-冯金伟博客园
    public void Close()
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园    
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园        stream.Close();
msdn上的“索引器”(indexer)示例-冯金伟博客园        stream 
= null;
msdn上的“索引器”(indexer)示例-冯金伟博客园    }

msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园    
// Indexer to provide read/write access to the file.
msdn上的“索引器”(indexer)示例-冯金伟博客园
    public byte this[long index]   // long is a 64-bit integer
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园
    msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园        
// Read one byte at offset index and return it.
msdn上的“索引器”(indexer)示例-冯金伟博客园
        get 
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园        
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园            
byte[] buffer = new byte[1];
msdn上的“索引器”(indexer)示例-冯金伟博客园            stream.Seek(index, SeekOrigin.Begin);
msdn上的“索引器”(indexer)示例-冯金伟博客园            stream.Read(buffer, 
01);
msdn上的“索引器”(indexer)示例-冯金伟博客园            
return buffer[0];
msdn上的“索引器”(indexer)示例-冯金伟博客园        }

msdn上的“索引器”(indexer)示例-冯金伟博客园        
// Write one byte at offset index and return it.
msdn上的“索引器”(indexer)示例-冯金伟博客园
        set 
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园        
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园            
byte[] buffer = new byte[1msdn上的“索引器”(indexer)示例-冯金伟博客园{value};
msdn上的“索引器”(indexer)示例-冯金伟博客园            stream.Seek(index, SeekOrigin.Begin);
msdn上的“索引器”(indexer)示例-冯金伟博客园            stream.Write(buffer, 
01);
msdn上的“索引器”(indexer)示例-冯金伟博客园        }

msdn上的“索引器”(indexer)示例-冯金伟博客园    }

msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园    
// Get the total length of the file.
msdn上的“索引器”(indexer)示例-冯金伟博客园
    public long Length 
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园    
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园        
get 
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园        
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园            
return stream.Seek(0, SeekOrigin.End);
msdn上的“索引器”(indexer)示例-冯金伟博客园        }

msdn上的“索引器”(indexer)示例-冯金伟博客园    }

msdn上的“索引器”(indexer)示例-冯金伟博客园}

msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园
// Demonstrate the FileByteArray class.
msdn上的“索引器”(indexer)示例-冯金伟博客园
// Reverses the bytes in a file.
msdn上的“索引器”(indexer)示例-冯金伟博客园
public class Reverse 
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园    
public static void Main(String[] args) 
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园    
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园        
// Check for arguments.
msdn上的“索引器”(indexer)示例-冯金伟博客园
        if (args.Length != 1)
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园        
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园            Console.WriteLine(
Usage : Indexer <filename>);
msdn上的“索引器”(indexer)示例-冯金伟博客园            
return;
msdn上的“索引器”(indexer)示例-冯金伟博客园        }

msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园        
// Check for file existence
msdn上的“索引器”(indexer)示例-冯金伟博客园
        if (!System.IO.File.Exists(args[0]))
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园        
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园            Console.WriteLine(
File  + args[0+  not found.);
msdn上的“索引器”(indexer)示例-冯金伟博客园            
return;
msdn上的“索引器”(indexer)示例-冯金伟博客园        }

msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园        FileByteArray file 
= new FileByteArray(args[0]);
msdn上的“索引器”(indexer)示例-冯金伟博客园        
long len = file.Length;
msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园        
// Swap bytes in the file to reverse it.
msdn上的“索引器”(indexer)示例-冯金伟博客园
        for (long i = 0; i < len / 2++i) 
msdn上的“索引器”(indexer)示例-冯金伟博客园msdn上的“索引器”(indexer)示例-冯金伟博客园        
msdn上的“索引器”(indexer)示例-冯金伟博客园{
msdn上的“索引器”(indexer)示例-冯金伟博客园            
byte t;
msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园            
// Note that indexing the “file” variable invokes the
msdn上的“索引器”(indexer)示例-冯金伟博客园            
// indexer on the FileByteStream class, which reads
msdn上的“索引器”(indexer)示例-冯金伟博客园            
// and writes the bytes in the file.
msdn上的“索引器”(indexer)示例-冯金伟博客园
            t = file[i];
msdn上的“索引器”(indexer)示例-冯金伟博客园            file[i] 
= file[len  i  1];
msdn上的“索引器”(indexer)示例-冯金伟博客园            file[len 
 i  1= t;
msdn上的“索引器”(indexer)示例-冯金伟博客园        }

msdn上的“索引器”(indexer)示例-冯金伟博客园
msdn上的“索引器”(indexer)示例-冯金伟博客园        file.Close();
msdn上的“索引器”(indexer)示例-冯金伟博客园    }
 
msdn上的“索引器”(indexer)示例-冯金伟博客园}