System.IO.FileStream.GetBuffer C# (CSharp) Method

GetBuffer() private method

Gets the array used for buffering reading and writing. If the array hasn't been allocated, this will lazily allocate it.
private GetBuffer ( ) : byte[]
return byte[]
        private byte[] GetBuffer()
        {
            Debug.Assert(_buffer == null || _buffer.Length == _bufferLength);
            if (_buffer == null)
            {
                _buffer = new byte[_bufferLength];
                OnBufferAllocated();
            }

            return _buffer;
        }

Usage Example

 /// <summary>
 /// Saves the messages to persistent storage. This method only performs the
 /// save if new messages have been added or one of the messages changed.
 /// </summary>
 internal void Save()
 {
     // only store if at least one messages stored state is dirty
       if (this.m_dirtyStored)
       {
     try
     {
     #if UNITY_WEBPLAYER
       MemoryStream stream = new MemoryStream();
     #else
       string fileName = Application.persistentDataPath + "/" + IQUMessageQueue.FileName;
       FileStream stream = new FileStream(fileName, FileMode.Create);
     #endif
       BinaryWriter writer = new BinaryWriter(stream);
       writer.Write(IQUMessageQueue.FileVersion);
       int count = this.GetCount();
       writer.Write(count);
       for (IQUMessage message = this.m_first; message != null; message = message.Next)
       {
     message.Save(writer);
       }
       writer.Flush();
     #if UNITY_WEBPLAYER
       IQUSDK.Instance.LocalStorage.SetBytes(IQUMessageQueue.FileName, stream.GetBuffer());
     #endif
       stream.Close();
       IQUSDK.Instance.AddLog("[Queue] saved " + count + " messages.");
     }
     catch (Exception error)
     {
       IQUSDK.Instance.AddLog("[Queue][Error] while saving: " + error.Message);
     }
     this.m_dirtyStored = false;
       }
 }