将字符串数组从WWW转换为Unity3d中的类列表

我在将WWW字符串数组转换为类列表时遇到了一些麻烦。我想要做的是实例化一个预制件,其中包含许多文本元素。 这是基础类将字符串数组从WWW转换为Unity3d中的类列表

public class VehicleIndex : MonoBehaviour 

{

public string ID{ get; set;}

public string Make{ get; set;}

public string Model{ get; set;}

public string Year{ get; set;}

public string Mileage{ get; set;}

public VehicleIndex(string id, string make, string model, string year, string mileage)

{

this.ID = id;

this.Make = make;

this.Model = model;

this.Year = year;

this.Mileage = mileage;

}

}

下面是从MySQL数据库获取WWW数据的功能

public List<VehicleIndex> VehicleIndexList = new List<VehicleIndex>(); 

public string[] VehicleStringArray;

public IEnumerator GetAllVehicles()

{

WWW VehicleData = new WWW ("http://localhost/CMVM/LoadVehicle.php");

yield return VehicleData;

Debug.Log (VehicleData.text);

string TheVehicleData = VehicleData.text;

The information comes back just fine.

if(TheVehicleData[TheVehicleData.Length - 1] == '/')

{

TheVehicleData.TrimEnd('/'); Here I'm removing the delimiter

}

string[] results = TheVehicleData.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries);

for (int i = 0; i < results.Length; i++)

{

Debug.Log (results[i]);

}

VehicleStringArray = results; The results go back into an array

VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex

{

ID=VehicleStringArray[0],

Make=VehicleStringArray[1],

Model=VehicleStringArray[2],

Year=VehicleStringArray[3],

Mileage=VehicleStringArray[4]

}).ToList();

}

它看起来像它应该只是工作,它给人的错误:类型VehicleIndex' does not contain a constructor that takes 0'论据 我错过了什么?我需要为课堂增添些什么吗?一个列表?数组? 感谢您的帮助!对此,我真的非常感激。

ADDITIONAL- 添加对象初始

public VehicleIndex Vi; 

然后改变了lambda表达式

VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex 

{

Vi.ID==VehicleStringArray[0],

Vi.Make==VehicleStringArray[1],

Vi.Model==VehicleStringArray[2],

Vi.Year==VehicleStringArray[3],

Vi.Mileage==VehicleStringArray[4]

}).ToList();

只有这样,才能避免红线是使用双相等。我不确定这是否正确,因为它仍然不能正常工作,我猜不是。

回答:

你有一个构造函数的所有属性作为参数;只是用这个来代替对象初始化:

VehicleIndexList = VehicleStringArray.Select(sArr => new VehicleIndex 

(

VehicleStringArray[0],

VehicleStringArray[1],

VehicleStringArray[2],

VehicleStringArray[3],

VehicleStringArray[4]

)).ToList();

但是请注意,这contructors通常只需要那些PARAMATERS需要的对象才能正常工作。如果属性值不是必需的,那么移除构造函数并使用初始化语法(new VehicleIndex { })代替没有任何问题。

回答:

这基本上是同样的事情,JavaScript的加入()

String.Join Method

以上是 将字符串数组从WWW转换为Unity3d中的类列表 的全部内容, 来源链接: utcz.com/qa/267365.html

回到顶部