为了账号安全,请及时绑定邮箱和手机立即绑定

返回数组操作 C# 中的原始值

返回数组操作 C# 中的原始值

C#
红糖糍粑 2021-08-22 15:23:23
这是我在网站上的第一个问题,我相信我会在这里找到答案。在学校,我试图为我们面临的挑战做一些基本的 C# 编码。这是问题所在:通常,当我通过一个方法传递一个值时,我不会遇到问题。像这样:static void Main(string[] args){    // Declare Integer    int originalInt = 20;    // Call the Method    int multipliedInt = Multiplication(originalInt);    // Prompt    Console.WriteLine("Original: {0} Modified: {1}", originalInt, multipliedInt);}// Methodstatic public int Multiplication(int original) {    // Quik Maffs    int modifiedValue = original * 2;    return modifiedValue;}上面的例子工作得很好。原始值为 20,修改值为 40。但是,当我尝试使用数组执行此操作时,情况会发生变化:static void Main(string[] args){    // Declare Original Array    int[] originalArray = new int[] {1, 4, 6, 8, 12};    // Call Method    int[] multipliedArray = Multiplication(originalArray);    // Prompt    Console.WriteLine("Original: [{0}], Multiplied: [{1}]", String.Join(", ", originalArray), String.Join(", ", multipliedArray));}// Methodstatic public int[] Multiplication(int[] original) {    // New Int    int[] modified = original;    // Loop    for (int i = 0; i < modified.Length; i++)     {        modified[i] *= 2;    }    return modified;}上面的代码两次返回修改后的值。似乎它也修改了原始值。知道为什么会这样吗?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 215 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信