这是我想要从 Java 转换为 C# 的代码片段。我不确定是什么导致了错误,但我以前从未使用过 ArrayList 和 vector 。提前致谢!!
//Java class definitions, constructors, fields, methods etc here.
//sphbasis is a Vector object.
public SphericalHarmonicDecomposition[] getSphericalHarmonicBasis() {
return (SphericalHarmonicDecomposition[])(sphbasislist.toArray(
new SphericalHarmonicDecomposition[sphbasislist.size()]));
}
我尝试在 C# 中执行以下操作:
//C# class definitions, constructors, fields, methods etc here.
//sphbasis is a ArrayList object.
public SphericalHarmonicDecomposition[] getSphericalHarmonicBasis() {
return (SphericalHarmonicDecomposition[])(sphbasislist.ToArray(
new SphericalHarmonicDecomposition[sphbasislist.Count]));
}
我收到以下错误。我在 Mac 上使用 Mono 和 Xamarin studio。
Error CS1502: The best overloaded method match for
`System.Collections.ArrayList.ToArray(System.Type)'
has some invalid arguments (CS1502) (projectx)
和
Error CS1503: Argument `#1' cannot convert
`matdcal.engine.model.SphericalHarmonicDecomposition[]' expression
to type `System.Type' (CS1503) (projectx)
最佳答案
请尝试以下操作。在 Java 中,您需要将数组传递给 toArray
方法,但在 C# (.NET) 中这是不正确的。
//C# class definitions, constructors, fields, methods etc here.
//sphbasis is a ArrayList object.
public SphericalHarmonicDecomposition[] getSphericalHarmonicBasis() {
return (SphericalHarmonicDecomposition[])(sphbasislist.ToArray());
}
引用文献
关于java - 需要帮助将代码片段从 java 翻译为等效的 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21359284/