c# - 变量改变...另一个变量?

标签 c# variables int swap

在此处输入代码`我有一个名为 curPos 的变量,它存储两个整数。 我有第二个变量 prevPos,它存储两个整数。

所以我有以下代码

Console.WriteLine("{0}, {1}", curPos[0], curPos[1]); // 1, 25
Console.WriteLine("{0}, {1}", prevPos[0], prevPos[1]); // 1, 25
                    curPos[0]++;

Console.WriteLine("{0}, {1}", curPos[0], curPos[1]); // 2, 25
Console.WriteLine("{0}, {1}", prevPos[0], prevPos[1]); // 2, 25

这怎么可能,这是我逐行执行到显示的最后一行时的确切代码 http://www.youtube.com/watch?v=qkPKm7xEhac&feature=youtu.be

最佳答案

两个变量都指向同一个数组。我的猜测是在你的代码中的某个时刻你有类似的东西:

prevPos = curPos

当你真正想要的是

prevPos[0] = curPos[0]
prevPos[1] = curPos[1]

关于c# - 变量改变...另一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13540740/

相关文章:

c# - 计算特定字典键 C# 的值

php - 是否可以知道变量在哪里设置?

php - 错误: Notice: Undefined index

ios - 设置 UITextField 的最大 int 值(不是字符数)

asp.net-mvc-3 - 将复选框绑定(bind)到 MVC 中的 int 数组/可枚举

java - 这是一种安全的编程实践吗?

c# - c# 中美丽的 win 表单应用程序设计

c# - 从字符串中删除特定的特殊字符

c# - 如果对象设置为 null,线程是否会被释放

php - 付款开始时 paypal 中的 amount 变量值变化