2013-04-28 45 views
0

这是我无法转换的代码行:转换一些Java与C#

Vector3 n1 = m.normals.get((int) face.normal.X - 1); 

我不知道这相当于在C#中,我已经尝试了不少的东西。我想这也可能是由于一个问题,我的列表:

class Model 
{ 
    public List<Vector3> vertices = new List<Vector3>(); 
    public List<Vector3> normals = new List<Vector3>(); 
    public List<Face> faces = new List<Face>(); 

} 

他们应该是:

class Model 
{ 
    public List<Vector3> vertices = new ArrayList<Vector3>(); 
    public List<Vector3> normals = new ArrayList<Vector3>(); 
    public List<Face> faces = new ArrayList<Face>(); 

} 

我不知道什么ListArray在C#转换为两种。

任何帮助,将不胜感激:)

+1

在Java中从来没有听说过ListArray'的'。这是专职班吗?你的意思是'ArrayList'? – xagyg 2013-04-28 09:59:03

+1

['ArrayList'](http://msdn.microsoft.com/en-us/library/system.collections.arraylist(v = vs.110).aspx)? – 2013-04-28 09:59:41

回答

4
Java    C# 
------------ -------- 
List<T>  is IList<T> // Interface 
ArrayList<T> is List<T> // Class implementing the interface 

你可以这样翻译代码:

class Model 
{ 
    public IList<Vector3> vertices = new List<Vector3>(); 
    public IList<Vector3> normals = new List<Vector3>(); 
    public IList<Face> faces = new List<Face>(); 
} 

Java的get变成C#的indexer,所以

Vector3 n1 = m.normals.get((int) face.normal.X - 1); 

变得

Vector3 n1 = m.normals[(int)face.normal.X - 1]; 
+0

非常感谢:) – 2013-04-28 10:03:58