0

これは、変換に問題があるコード行です。

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# で何に変換されるかはわかりません。

どんな助けでも大歓迎です:)

4

1 に答える 1

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>();
}

Javagetは C# のindexerになるので、

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

になる

Vector3 n1 = m.normals[(int)face.normal.X - 1];
于 2013-04-28T10:00:38.380 に答える