help me converting js to c#

I already converted few things but I still don’t know something please help me.
I marked the place what I don’t know with “??”.

Thank you

//JS

var saved : float[,,];
private var tData : TerrainData;
var cratertex : Texture2D;
var craterData;
var xRes: int;
var yRes: int;
var layers: int;

function Start () 
{
	tData = Terrain.activeTerrain.terrainData;
	yRes = tData.alphamapHeight;
	xRes = tData.alphamapWidth;
	layers = tData.alphamapLayers;
	craterData = cratertex.GetPixels();
	saved = tData.GetAlphamaps (0, 0, xRes, yRes);
}

function OnApplicationQuit () 
{
	tData.SetAlphamaps (0,0,saved);
}

function Update () 
{
	if (Input.GetMouseButtonDown(0))
	{
		var g : int = Mathf.Lerp(0, xRes, Mathf.InverseLerp(0, tData.size.x, mouse.mousepos.x));
		var b : int = Mathf.Lerp(0, yRes, Mathf.InverseLerp(0, tData.size.z, mouse.mousepos.z));
		g = Mathf.Clamp(g, cratertex.width/2, xRes-cratertex.width/2);
		b = Mathf.Clamp(b, cratertex.height/2, yRes-cratertex.height/2);
		var area = tData.GetAlphamaps(g-cratertex.width/2, b-cratertex.height/2, cratertex.width, cratertex.height);
		for (x = 0; x < cratertex.height; x++) 
		{
			for (y = 0; y < cratertex.width; y++) 
			{
				for (z = 0; z < layers; z++)
				{	
					if (z == 1)
					{
						area [x,y,z] += craterData[x*cratertex.width + y].a;
					}
					else
					{	
						area [x,y,z] -= craterData[x*cratertex.width + y].a;	
					}	
				}
			}
		}
		tData.SetAlphamaps (g-cratertex.width/2,b-cratertex.height/2,area);
	}
}

//C#
using UnityEngine;
using System.Collections;

public class texturechanger : MonoBehaviour
{
float[,] saved;
private TerrainData tData;
Texture2D cratertex;
?? craterData;
int xRes;
int yRes;
int layers;
public static Vector3 mousepos;

void  Start ()
{
	tData = Terrain.activeTerrain.terrainData;
	yRes = tData.alphamapHeight;
	xRes = tData.alphamapWidth;
	layers = tData.alphamapLayers;
	craterData = cratertex.GetPixels();
	saved = tData.GetAlphamaps (0, 0, xRes, yRes);
}

void  OnApplicationQuit ()
{
	tData.SetAlphamaps (0,0,saved);
}
void  Update ()
{
	if (Input.GetMouseButtonDown(0))
	{
		int g = Mathf.Lerp(0, xRes, Mathf.InverseLerp(0, tData.size.x, mousepos.x));
		int b = Mathf.Lerp(0, yRes, Mathf.InverseLerp(0, tData.size.z, mousepos.z));
		g = Mathf.Clamp(g, cratertex.width/2, xRes-cratertex.width/2);
		b = Mathf.Clamp(b, cratertex.height/2, yRes-cratertex.height/2);
		?? area = tData.GetAlphamaps(g-cratertex.width/2, b-cratertex.height/2, cratertex.width, cratertex.height);
		for (int x = 0; x < cratertex.height; ++x) 
		{
			for (int y = 0; y < cratertex.width; ++y) 
			{
				for (int z = 0; z < layers; ++z)
				{	
					if (z == 1)
					{
						area [x,y,z] += craterData[x*cratertex.width + y].a;
					}
					
					else
					{	
						area [x,y,z] -= craterData[x*cratertex.width + y].a;	
					}	
				}
			}
		}
		tData.SetAlphamaps (g-cratertex.width/2,b-cratertex.height/2,area);
	}
}

}

First ?? = Color

Second ?? = float[,]

I only checked the return values from Unity - Scripting API: Texture2D.GetPixels and Unity - Scripting API: TerrainData.GetAlphamaps