c++转c#问题

ludeli2004 2008-12-09 01:52:59
c++ 中:
void operator= (const AMC_MESG &rhs)
{
this->ucRawMesgSize = rhs.ucRawMesgSize;
this->ucSize = rhs.ucSize;
this->SetMesgID(rhs.usID);
this->ucScrDest = rhs.ucScrDest;
}
如何转成c#
...全文
82 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
niitnanfeng 2008-12-09
  • 打赏
  • 举报
回复
顶下。
gogogo 2008-12-09
  • 打赏
  • 举报
回复
C++的=运算符操作实际上是对象复制,C#里不支持,采用的是方法来支持复制,不允许重载=,实际上就是不建议使用=进行对象复制,因为这样很容易造成阅读代码混乱,而且C#里对象的=操作其实就是对象指针的=,就是最基本的浅层复制。
gogogo 2008-12-09
  • 打赏
  • 举报
回复
C# 允许用户定义的类型通过使用 operator 关键字定义静态成员函数来重载运算符。但不是所有的运算符都可被重载,下表列出了不能被重载的运算符:

运算符 可重载性
+、-、!、~、++、--、true 和 false
可以重载这些一元运算符。

+, -, *, /, %, &, |, ^, <<, >>
可以重载这些二进制运算符。

==, !=, <, >, <=, >=
比较运算符可以重载(但请参见本表后面的说明)。

&&, ||
条件逻辑运算符不能重载,但可使用能够重载的 & 和 | 进行计算。

[]
不能重载数组索引运算符,但可定义索引器。

()
不能重载转换运算符,但可定义新的转换运算符(请参见 explicit 和 implicit)。

+=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=
赋值运算符不能重载,但 += 可使用 + 计算,等等。

=、.、?:、->、new、is、sizeof 和 typeof
不能重载这些运算符。

gogogo 2008-12-09
  • 打赏
  • 举报
回复
public void operator=(AMC_MESG rhs) 
{
this.ucRawMesgSize = rhs.ucRawMesgSize;
this.ucSize = rhs.ucSize;
this.SetMesgID(rhs.usID);
this.ucScrDest = rhs.ucScrDest;
}
  • 打赏
  • 举报
回复
public void operator(AMC_MESG rhs)
{
this.ucRawMesgSize = rhs.ucRawMesgSize;
this.ucSize = rhs.ucSize;
this.SetMesgID(rhs.usID);
this.ucScrDest = rhs.ucScrDest;
}

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧