我試圖解決下面的練習。我沒有收到任何編譯錯誤。給定兩個int數組,返回一個長度爲2的數組,其中包含從第一個和第二個數組中適合的數量
當我運行它雖然,在main方法只有第一Make2
被調用,程序停止與該錯誤的工作:
The program '[4864] Make2Two.vshost.exe' has exited with code -1073741510 (0xc000013a).
有人能幫助我嗎?
有沒有更好的方法來解決問題?我認爲我放了太多不必要的代碼。
非常感謝。
問題:鑑於2個INT陣列,a和b,返回一個新的數組長度2含有 儘可能將適合,從一個元件,隨後從b中的元素。數組可以是任意長度,包括0,但是在2個數組之間將會有2個或更多元素可用。
我的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Make2Two
{
class Program
{
static void Main(string[] args)
{
Make2(new int[] { 4 }, new int[] { 4, 2, 3 }); //output 44
Make2(new int[] { 2, 3 }, new int[] { 2, 3, 6 }); //the others are not running
Make2(new int[] { 2, 5 }, new int[] { 7, 6, 5 });
}
public static int[] Make2(int[] a, int[] b)
{
int[] result = new int[2];
if (a.Length >= 2)
{
for (int i = 0; i < 2; i++)
{
result[i] = a[i];
Console.Write(result[i]);
}
Console.WriteLine();
Console.ReadLine();
}
if (a.Length < 2)
{
for (int i = 0; i < 2; i++)
{
result[0] = a[0];
if (i == 0)
{
for (int j = 1; j < 2; j++)
{
result[j] = b[j - 1];
for (int k = 0; k < result.Length; k++)
{
Console.Write(result[k]);
}
}
Console.WriteLine();
Console.ReadLine();
}
}
}
return a;
}
}
}
哈哈,後期有點發布,但是,是這是後我會去用它。 –
@xanatos閱讀練習。有2個元素可以保證:'數組可以是任意長度,包括0,但是在2個數組之間會有2個或更多元素可用' –