所以这是我的对象类:
public class personSerialize
{
public string[] name { get; set; }
public int number { get; set; }
};
对象创建代码是:
personSerialize personObject = new personSerialize()
{
name = people, //'people' is an ArrayList BTW
number = peopleNum
};
它返回一个错误:
无法将类型'System.Collections.ArrayList'隐式转换为'string []'
我知道'[]'不是ArrayList,但我不知道还能说些什么。感谢
答案 0 :(得分:1)
正如您可以在错误中看到的那样,您必须将ArrayList
转换为这样的数组:
name = (string[]) people.ToArray( typeof(string) );
答案 1 :(得分:0)
您无法将ArrayList
分配给String[]
数组。
您需要先将ArrayList
转换为Array
,然后将结果转换为string[]
数组,因为ArrayList
包含objects
不是字符串的集合。
试试这个:
name = (string[]) people.ToArray()
建议:我们过去常常使用ArrayList
而不是type safe
,因为它的内容只能在运行时知道。
您可以在此处使用GenericCollections (typesafe)
来避免运行时异常。
您可以使用以下命名空间
using System.Collections.Generic;
然后您可以使用List<T>
代替ArrayList
。
注意:在使用List<T>
之前,您需要先提及类型。因此它是类型安全的并且可以避免运行时异常。
你可以使用List asbelow:
List<string> list=new List<string>();
list.Add("mystring1");
list.Add("mystring2");
list.Add("mystring3");