On 9/19/2011 1:13 PM, Ulrik Smed wrote:
> Jeg har et 2-dimensionelt array (en lydbuffer med venstre og højre kanal).
> Og jeg har nogle funktioner til at behandle 1-dimensionelle arrays med,
> f.eks en FFT. Kan jeg give den ene halvdel, f.eks venstre kanal, med som
> parameter i et kald til FFT? Og hvordan?
>
> Normalt giver man jo bare navnet med uden [], men hvad når kilden er
> 2-dimensionel? Det virker ikke at sige array[0] eller array[1] for venstre
> eller højre lydkanal, så får jeg:
> Error 1 Wrong number of indices inside []; expected 2
Der er to slags 2D arrays i C#.
Du skal bruge den rigtige.
:-)
using System;
namespace E
{
public class Program
{
public static void Test(int[] a)
{
foreach(int v in a)
{
Console.WriteLine(v);
}
}
public static void Main(string[] args)
{
int[,] a1 = new int[2,2];
a1[0,0] = 1;
a1[0,1] = 2;
a1[1,0] = 3;
a1[1,1] = 4;
// umuligt at kalde Test med a1
int[][] a2 = new int[2][];
a2[0] = new int[2];
a2[1] = new int[2];
a2[0][0] = 1;
a2[0][1] = 2;
a2[1][0] = 3;
a2[1][1] = 4;
Test(a2[0]);
Test(a2[1]);
Console.ReadKey();
}
}
}
Arne