/// <summary> /// 合并两个数据块 /// </summary> /// <param name="lhs">左边操作对象</param> /// <param name="rhs">右边操作对象</param> /// <returns></returns> public static DataBlock operator +(DataBlock lhs, DataBlock rhs) { if (lhs == null && rhs == null) { return(null); } else if (lhs == null) { DataBlock result = new DataBlock(rhs.DataLength); result.Add(rhs.buffer, rhs.ReadIndex, rhs.DataLength); return(result); } else if (rhs == null) { DataBlock result = new DataBlock(lhs.DataLength); result.Add(lhs.buffer, lhs.ReadIndex, lhs.DataLength); return(result); } else { DataBlock result = new DataBlock(lhs.DataLength + rhs.DataLength); result.Add(lhs.buffer, lhs.ReadIndex, lhs.DataLength); result.Add(rhs.buffer, rhs.ReadIndex, rhs.DataLength); return(result); } }
/// <summary> /// �ϲ��������ݿ� /// </summary> /// <param name="lhs">��߲�������</param> /// <param name="rhs">�ұ߲�������</param> /// <returns></returns> public static DataBlock operator +(DataBlock lhs, DataBlock rhs) { if (lhs == null && rhs == null) return null; else if (lhs == null) { DataBlock result = new DataBlock(rhs.DataLength); result.Add(rhs.buffer, rhs.ReadIndex, rhs.DataLength); return result; } else if (rhs == null) { DataBlock result = new DataBlock(lhs.DataLength); result.Add(lhs.buffer, lhs.ReadIndex, lhs.DataLength); return result; } else { DataBlock result = new DataBlock(lhs.DataLength + rhs.DataLength); result.Add(lhs.buffer, lhs.ReadIndex, lhs.DataLength); result.Add(rhs.buffer, rhs.ReadIndex, rhs.DataLength); return result; } }