不能修改返回值,因为它不是一个变量 [英] Cannot Modify Return Value because It is not a Variable

查看:553
本文介绍了不能修改返回值,因为它不是一个变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

按值罢工再次通过!!

Pass by Value strikes again!!

player.Vector.X += player.Speed * (float)gameTime.ElapsedGameTime.TotalSeconds;



不起作用。

does not work.

Vector2 v = player.Vector;
v.X -= player.Speed * (float)gameTime.ElapsedGameTime.TotalSeconds;
player.Vector = v;



修复了这个问题。

fixes this problem.

这是这里解释:不能修改XNA矢量组成

回答得非常好解释和工作得很好,但它已4年,因为它被张贴。 我的问题是,既然它已经4年了,有没有更好的办法,现在解决这个问题?

The answer was very well explained and works just fine, but it has been 4 years since it was posted. My question is, since its been 4 years, is there a better way to fix this problem now?

我对100的这种行我需要修复,并希望能有一些快捷的现在。

I have about 100 lines of this I need to fix, and was hoping there was some sort of shortcut by now.

推荐答案

有可能永远不会成为一个快捷方式这个,因为它是值类型和引用类型之间的根本区别的一个特征。

There is probably never going to be a "shortcut" for this since it's a feature of the fundamental difference between value types and reference types.

这篇关于不能修改返回值,因为它不是一个变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆