关于Stream的简单有关问题,下面几个函数,改成C#应该如何写呢?多谢

关于Stream的简单问题,下面几个函数,改成C#应该怎么写呢?谢谢
Delphi(Pascal) code


procedure info.LoadFromFile(const FileName: string)
var
  MS:TMemoryStream;
begin
  MS := TMemoryStream.Create;
  try
    MS.LoadFromFile(FileName);
    LoadFromStream(MS, IsShallow);
  finally
    MS.Free;
  end;
end;

//==============================================================================

procedure info.LoadFromStream(Stream: TStream; IsShallow: Boolean = False);
begin
  Stream.ReadBuffer(ID,          SizeOf(Smallint));
  Stream.ReadBuffer(companyID,     SizeOf(Smallint));
  
  Stream.ReadBuffer(Type,   SizeOf(Smallint));
  
  Stream.ReadBuffer(UserID,          SizeOf(Smallint));
  Stream.ReadBuffer(UpdateTime,      SizeOf(TDateTime));
end;

//==============================================================================

procedure info.SaveToFile(const FileName: string);
var
  MS:TMemoryStream;
begin
  MS := TMemoryStream.Create;
  try
    SaveToStream(MS, IsShallow);
    MS.SaveToFile(FileName);
  finally
    MS.Free;
  end;
end;

//==============================================================================

procedure info.SaveToStream(Stream: TStream);
begin
  Stream.WriteBuffer(ID,          SizeOf(Smallint));
  Stream.WriteBuffer(companyID,     SizeOf(Smallint));

  Stream.WriteBuffer(Type,   SizeOf(Smallint));

  Stream.ReadBuffer(ImeMode,     SizeOf(Smallint));
  Stream.WriteBuffer(UserID,          SizeOf(Smallint));
  Stream.WriteBuffer(UpdateTime,      SizeOf(TDateTime));
end;







------解决方案--------------------
byte [] ReadBuffer=new byte[255];
byte [] WriteBuffer = new byte[255];
FileStream fread = new FileStream("d:\\test.txt",FileMode.Open,FileAccess.Read);

fread.Read(ReadBuffer,0,4);
fread.Close();

Array.Copy(ReadBuffer, WriteBuffer,4);
FileStream fwrite = new FileStream("d:\\test.txt", FileMode.Open, FileAccess.Write);
fwrite.Write(WriteBuffer, 0, 4);
fwrite.Flush();
fwrite.Close();
基本操作都在这里了,看着改吧
至于各种类型转byte数组,可以参看BitConverter.GetBytes或者问度娘