【问题标题】:Convert System.List<string> to Java.Lang.String[]将 System.List<string> 转换为 Java.Lang.String[]
【发布时间】:2012-09-30 15:13:21
【问题描述】:

我正忙着用 Visual Studio 编写一个单声道的 android 应用程序。我正忙于在我的自定义适配器上实现 ISectionIndexer

我正在努力将 System.List&lt;string&gt; 转换为 Java.Lang.String[]。不知道有没有可能?!

一些示例代码:

    private List<string> _sections;

    public Java.Lang.Object[] GetSections()
    {
        return this._sections.ToArray(); // Cannot implicitly convert type 'string[]' to 'Java.Lang.Object[]'

    }

如果可能的话,有人可以协助转换吗? 非常感谢!

【问题讨论】:

  • 不太确定android,但您的列表中有.ToArray() 方法吗?
  • 也许你可以给我们一个你尝试过的样本,它看起来有点奇怪......
  • @Habib:您好,这不起作用。它给出了一个错误:无法将类型“string[]”隐式转换为“Java.Lang.Object[]”。感谢您的回复。
  • @Waqas:感谢您的回复,但我不确定该转换将如何解决问题?!

标签: c# android visual-studio-2010 xamarin.android xamarin


【解决方案1】:

这个怎么样?

public Java.Lang.Object[] GetSections()
{            
    return new Java.Util.ArrayList(this._sections).ToArray();
}

【讨论】:

    【解决方案2】:

    我用下面的方法解决了这个问题,不是很漂亮,但是很管用!

        public Java.Lang.Object[] GetSections()
        {            
            Java.Lang.String[] tmpObjCollection = new Java.Lang.String[this._sections.Count];
            for (int i = 0; i < this._sections.Count; i++)
            {
                tmpObjCollection[i] = new Java.Lang.String(this._sections[i]);
            }
    
            return tmpObjCollection;
        }
    

    【讨论】:

    • 亲爱的 Richard,java.lang.String 是 IVKM.net 中的一个静态类。因此不能声明或实例化。
    猜你喜欢
    • 2012-08-22
    • 1970-01-01
    • 2017-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2019-02-05
    • 1970-01-01
    相关资源
    最近更新 更多