将java的ArrayList端口转换为C#

本文关键字:转换 java ArrayList | 更新日期: 2023-09-27 18:21:26

我正在使用Xamarin.android在C#中为android开发。我正在尝试将Java的一些代码移植到C#中。在此期间,我遇到了ArrayList Of Line类。像

ArrayList<Line> linesCollection = new ArrayList<Line>();

我不确定如何将其移植到C#中?

My main problem is Line Class how can I get it in Xamarin.Android ?

感谢您的帮助。感谢:)

将java的ArrayList端口转换为C#

您可以使用:

List<Line> linesCollection = new List<Line>();

Line是Java中的一个接口。在C#中,我可以找到ITextViewLine接口,但我不确定这是否相同。你可以看看:

http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.text.formatting.itextviewline.aspx

如果这是您所需要的,那么您可以创建一个从该接口继承的类。

您可以在c#中使用List

List<Line> linesCollection = new List<Line>();

下面的Java文档数组列表是:

List接口的可调整大小的数组实现。

可调整大小,具有允许随机访问的数据结构。C#中对应的数据结构是T 列表

所以你的代码可能看起来很像:

var lines = new List<Line>();
对不起,伙计们,这是我的错。我正在尝试以java形式移植JustifyTextView代码从这里

在第一行我发现

ArrayList<Line> linesCollection = new ArrayList<Line>();

我以为这里的Line类来自Java or android。但实际上它是代码下面的一个自定义类。类似-

class Line {
        ArrayList<String> words = new ArrayList<String>();
        float spacing = 15f;
        public Line() {
        }
        public Line(ArrayList<String> words, float spacing) {
            this.words = words;
            this.spacing = spacing;
        }
        public void setSpacing(float spacing) {
            this.spacing = spacing;
        }
        public float getSpacing() {
            return spacing;
        }
        public void addWord(String s) {
            words.add(s);
        }
        public ArrayList<String> getWords() {
            return words;
        }
    }

我承认我的错误:)谢谢大家的回答。