我正在嘗試編寫一個C#函數來確定數組中的最大值並通過引用傳遞它。在靜態void函數中傳遞參數C#
這是在C#中我第一次編程,但它的真正纏着我,我不來似乎能夠在主正確分配它。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication4
{
class Program
{
static void Maxim(int n, ref int maxim, params int[] v) {
int i, max=v[0];
for (i = 0; i < n; i++) {
if (v[i] > max) max = v[i];
}
}
static void Main()
{
int[] vector = new int[10];
int n, i;
int maximul;
Console.WriteLine("Introduceti numarul de elemente: ");
n = Int32.Parse(Console.ReadLine());
Console.WriteLine("Valoarea introdusa: {0}", n);
for (i = 0; i < n; i++) {
vector[i] = Int32.Parse(Console.ReadLine());
}
Console.WriteLine("Elementele introduse sunt: ");
for (i = 0; i < n; i++) {
Console.WriteLine("Elementul {0}: {1}", i + 1, vector[i]);
}
Maxim(n, ref maximul, vector);
Console.WriteLine("Maximul din vector: {0}", maximul);
Console.ReadLine();
}
}
}
它給我返回以下錯誤:Use of unassigned local variable
。
嘗試設置maximul = 0;在宣言中。 –
你從未在'Maxim'函數中分配'maxim'。 – MPelletier
看到這個問題的最多的回答對'out'解釋VS'ref':http://stackoverflow.com/questions/135234/difference-between-ref-and-out-parameters-in-net – MPelletier