菜鸟提问:C#的操作符问题。

bonneywang 2003-08-19 08:15:59
有这样两段程序:

myValueOne=30;
myValueTwo=myValueOne++;
Console.Write("myValueOne: {0}, myValueTwo: {1}",myValueOne,myValueTwo);

output:

myValueOne: 31,myValueTwo: 30

////////////////////////////////

myValueOne=30;
myValueTwo=(myValueOne++);
Console.Write("myValueOne: {0}, myValueTwo: {1}",myValueOne,myValueTwo);

output:

myValueOne: 31,myValueTwo: 30

到底谁的优先权更高一点呢?
难道加上括号都不行吗?
...全文
21 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
bonneywang 2003-08-19
  • 打赏
  • 举报
回复
谢谢!
lazybat 2003-08-19
  • 打赏
  • 举报
回复
你是先调用后自加啊!
kuki84 2003-08-19
  • 打赏
  • 举报
回复
呵呵,括号是没作用的,++只在 语句A执行以后执行,
语句A 指的是 原语句去掉++后的语句 即
myValueTwo=(myValueOne) 或 myValueTwo=myValueOne;

你想达到先加后赋值的效果,不妨把++放到前边。

myValueTwo=++myValueOne
qqq123 2003-08-19
  • 打赏
  • 举报
回复
和C++一样myValueOne++会在该语句后面生成类似myValueOne=myValueOne+1的代码,这和优先级应该没有关系.
acxw 2003-08-19
  • 打赏
  • 举报
回复
我记得好像没什么用处的哦

110,533

社区成员

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

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

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