【问题标题】:Port ArrayList of java into C#将java的ArrayList移植到C#
【发布时间】:2014-09-10 12:37:02
【问题描述】:

我正在使用 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 ?

感谢任何帮助。谢谢:)

【问题讨论】:

  • Line 类呢?
  • List&lt;Line&gt; linesCollection = new List&lt;Line&gt;();

标签: java c# android xamarin


【解决方案1】:

你可以使用:

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

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

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

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

【讨论】:

    【解决方案2】:

    可以在c#中使用List

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

    【讨论】:

      【解决方案3】:

      以下 Java 文档 ArrayList 是:

      List 接口的 Resizable-array 实现。

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

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

      var lines = new List<Line>();
      

      【讨论】:

      • @Dmitry Bychenko:谢谢,这是偶尔的 C++11 影响 :)
      【解决方案4】:

      对不起,实际上这是我的错误。我正在尝试以 java 形式移植 JustifyTextView 代码From Here

      在我找到的第一行

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-08
        • 2015-10-03
        • 1970-01-01
        • 2023-03-27
        • 1970-01-01
        • 1970-01-01
        • 2012-06-18
        • 2011-05-17
        相关资源
        最近更新 更多