Java C#
------------ --------
List<T> is IList<T> // Interface
ArrayList<T> is List<T> // Class implementing the interface
You can translate your code like this:
class Model
{
public IList<Vector3> vertices = new List<Vector3>();
public IList<Vector3> normals = new List<Vector3>();
public IList<Face> faces = new List<Face>();
}
Java's get
becomes C#'s indexer, so
Vector3 n1 = m.normals.get((int) face.normal.X - 1);
becomes
Vector3 n1 = m.normals[(int)face.normal.X - 1];