rew Asked:2022-12-09 01:34:40 +0000 UTC2022-12-09 01:34:40 +0000 UTC 2022-12-09 01:34:40 +0000 UTC 将数组元素作为单独的参数传递给函数。C# 772 如何将数组元素作为单独的参数传递给函数? 你可以这样做: f(arr[0], arr[1], arr[2]) 但这并不总是很方便。 Python你可以这样做: f(*arr) C#出于某种原因,我找不到如何去做。 c# 1 个回答 Voted Best Answer aepot 2022-12-09T06:06:05Z2022-12-09T06:06:05Z 相反,我需要将数组作为几个参数传递。例如,将包含 2 个元素的数组传递给Random.Next() 和python一样,当然不行,但是可以自己写方法 private readonly Random rnd = Random.Shared; public int RandomRange(int[] array, int offset = 0) { return rnd.Next(array[offset], array[offset + 1]); } int[] array = new[] { 0, 10, 20, 45 }; int number = RandomRange(array, 1); // [10..20) 或者 public int RandomRange(int[] array) { return rnd.Next(array[0], array[1]); } int number = RandomRange(array[1..2]); // [10..20) 第一种方法更优,第二种方法会产生一个包含 2 个元素的新数组,所以如果您需要生成很多,那么第一种方法更好。 还有一个带有 span 的选项,它看起来像第二个,它的工作原理与第一个一样,但我会把它排除在问题之外以保持答案简单。我不会说任何关于不安全代码的选项,顺便说一下,它类似于 Python 的。
和python一样,当然不行,但是可以自己写方法
或者
第一种方法更优,第二种方法会产生一个包含 2 个元素的新数组,所以如果您需要生成很多,那么第一种方法更好。
还有一个带有 span 的选项,它看起来像第二个,它的工作原理与第一个一样,但我会把它排除在问题之外以保持答案简单。我不会说任何关于不安全代码的选项,顺便说一下,它类似于 Python 的。