java - 将一些 Java 转换为 C#

标签 java c# arraylist code-translation

这是我在转换时遇到问题的代码行:

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# 中翻译成什么。

任何帮助将不胜感激:)

最佳答案

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];

关于java - 将一些 Java 转换为 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16261690/

相关文章:

java - 请证明 Regex Java 程序中的输出

c# - Java 和 Windows 之间使用的软件架构风格的建议

c# - ADO.NET 实体模型和 LINQ

java - 如何使用 BufferedReader 将行放入 ArrayList 中然后执行它们?

java - 关于 basicLTI java 实现 (basiclti-util-java),¿文档?

java - xsl 中枚举的值

c# - 如何向属性添加属性并使用它对成员进行排序

c# - 使用 ADO.NET 从 SQL 获取单个值

java - 在 Java 中将一个数组列表复制到另一个数组列表的时间复杂度是多少?

java - 从类创建数组列表 - java