int[] 在当前上下文中不存在

int[] does not exist in the current context

我正在尝试将一个 int[] 传递到方法中,将它与另一个数组连接起来,然后 return 将它传递给 main 以在控制台中打印。 这是代码:

//where preTemp is another array derived in previous method
public static int[] sesLayer(int[] preTemp)
{
    //set two arrays for rtr and r1r0
    int[] r1r0 = new int[2] { 0, 0 };
    int[] RTR = new int[1] { 0 };

    //add r1r0 to the preTemp int array
    //set length of the new array to accomodate temp + r1r0
    var length = new int[preTemp.Length + r1r0.Length];
    r1r0.CopyTo(length, 0);
    preTemp.CopyTo(length, length.Length);

    //add RTR to the packet

    return preTemp;
}
public static int[] preLayer(int tempData)
{
            string binaryTemp = Convert.ToString(tempData, 2);
            int DLC = binaryTemp.Length;
            binaryTemp = binaryTemp.PadLeft(64, '0');

            string binaryDLC = Convert.ToString(DLC, 2);
            binaryDLC = binaryDLC.PadLeft(4, '0');

            string prePacket = binaryDLC + binaryTemp;

            //convert string to int[]
            int[] preTemp = prePacket.Select(c =>      int.Parse(c.ToString())).ToArray();
            return preTemp;
}
static void Main(string[] args)
{
    int[] sesTemp = sesLayer(preTemp);    //**error crops up here**
    Console.Write(sesTemp);
    Console.ReadLine();
}

和 int tempData = 58; 任何帮助表示赞赏。

错误很明显。您正在调用一个不存在的变量。

int[] sesTemp = sesLayer(preTemp);

您的 Main() 方法范围内没有名为 preTemp 的变量。您仅将其用作方法的参数。您必须创建一个新变量。

int[] preTemp = new int[] { /* your values */ };
int[] sesTemp = sesLayer(preTemp);