Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/302.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在C#中,通过反转传入数组来修改传入数组的过程?_C# - Fatal编程技术网

在C#中,通过反转传入数组来修改传入数组的过程?

在C#中,通过反转传入数组来修改传入数组的过程?,c#,C#,我一直在努力寻找解决这个问题的办法 编写一个过程,通过反转来修改传入的int数组。因为这是一个过程,所以它不会返回任何内容。相反,我必须直接修改数组,因为数组是引用类型变量,所以即使在执行此过程之后,数组也将永久更改。若要反转数组,请想象数组中间有一条虚线,然后用左边的数字交换左边的数字。< /P> 目前,这是我为这个问题编写的唯一代码。根据到目前为止我所写的代码,我认为我没有找到正确的解决方案 public void Test10(int[] numbers) {

我一直在努力寻找解决这个问题的办法

编写一个过程,通过反转来修改传入的int数组。因为这是一个过程,所以它不会返回任何内容。相反,我必须直接修改数组,因为数组是引用类型变量,所以即使在执行此过程之后,数组也将永久更改。若要反转数组,请想象数组中间有一条虚线,然后用左边的数字交换左边的数字。< /P> 目前,这是我为这个问题编写的唯一代码。根据到目前为止我所写的代码,我认为我没有找到正确的解决方案

public void Test10(int[] numbers)
        {
            for (int i = 0; i < numbers.Length; i++)
            {

            }
public void Test10(int[]数字)
{
for(int i=0;i
您可以使用内置的
Array.Reverse
方法,该方法反转整个一维数组中元素的顺序

 Array.Reverse(array); // reverse supplied array

请注意,
System.Array.Reverse()
执行就地转换。

您可以使用内置的
Array.Reverse
方法,该方法反转整个一维数组中元素的顺序

 Array.Reverse(array); // reverse supplied array

请注意,
System.Array.Reverse()
执行就地转换。

根据您的偏好和需要,有两个选项

int[] array = {1,3};
Array.Reverse(array);
这将反转原始阵列

 int[] array = {1,3};
 var reversedArray = array.Reverse().ToArray();

这将使用linq,新的反向数组将被返回,原始数组将保持原样。

根据您的偏好和需要,有两个选项

int[] array = {1,3};
Array.Reverse(array);
这将反转原始阵列

 int[] array = {1,3};
 var reversedArray = array.Reverse().ToArray();

这将使用linq,新的反向数组将被返回,原始数组将保持原样

考虑如果给定列表
[1,2,3,4]
,您交换两个远端,给出
[4,2,3,1]
,然后交换两个内部项,给出
[4,3,2,1],会发生什么情况
。编写代码即可。您可以使用linq对其进行排序,更好地学习linq,在将来linq对int进行排序将非常方便array@SamiKuhmonen我很想看看你的消息来源…@SamiKuhmonen不,这叫不要使用你面前已有的工具。如果Linq已经可用于该项目(我想不出几年来我接触过的一个项目不是这样的)如果Lilnq不是一个性能成功的项目(很多人已经证明不是这样的)如果LINQ为其他支持下游代码的开发人员提供了一致的、可维护的、可读的经验,那么除了让我称之为纯实用主义的论点之外,绝对没有理由避免它。如果考虑到列表<代码> [1,2,3,4],会发生什么情况?,交换两个远端,给出
[4,2,3,1]
,然后交换两个内部项,给出
[4,3,2,1]
。编写代码即可。您可以使用linq对其进行排序,更好地学习linq,在将来linq对int进行排序将非常方便array@SamiKuhmonen我很想看看你的消息来源…@SamiKuhmonen不,这叫不要使用你面前已有的工具。如果Linq已经可用于该项目(我想不出几年来我接触过的一个项目不是这样的)如果Lilnq不是一个性能成功的项目(很多人已经证明不是这样的)如果Linq为其他将支持您的下游代码的开发人员提供了一致、可维护、可读的体验,那么除了我可以称之为纯实用主义的论点之外,没有任何理由避免它。这是一个好论点!!还因为这可能不足以完成明显的家庭作业任务。。。那么Array.Reverse()将在for循环之间运行?您不需要任何循环,只需传递一个输入数组,数组就会被排序。这是一个很好的数组!!还因为这可能不足以完成任务…所以Array.Reverse()将在for循环之间进行吗?您不需要任何循环,只需传递一个输入数组,数组就会被排序。