我有一个班级 -
public class PropertyModel
{
public string Name { get; set; }
public string Value { get; set; }
}
这是我的请求模型中的数组
public PropertyModel[] Properties { get; set; }
此数组由用户填充,有时也可能为空。
无论是否填充 - 我想在此数组中添加名称/值对 - ["Origin", "WEB"]
。
如何添加此阵列?我应该首先将其转换为List
,然后添加然后将其转换回数组吗?
答案 0 :(得分:2)
目前,您应该使用List<PropertyModel>
代替PropertyModel[]
。由于您不知道集合的最终大小,因此用户可能会在稍后的某些时间点向集合添加新项目。所以我建议你定义这样的属性:
private List<PropertyModel> _Properties = new List<PropertyModel>();
public List<PropertyModel> MyProperty
{
get { return _Properties; }
set { myVar = _Properties; }
}
当你遇到同样的困惑时,请记住以下几点:
答案 1 :(得分:1)
有很多方法可以实现这一目标,但如果您只想添加一个项目,请尝试使用此代码。
PropertyModel[] arr = {};
var toAdd = new PropertyModel() { Name = "Origin", Value = "WEB" };
arr = arr.Concat(new PropertyModel[] { toAdd }).ToArray();
答案 2 :(得分:0)
您可以使用列表,而不是使用 PropertyModel [] 数组。使用列表您可以使代码更容易:
public static List<PropertyModel> GetAll()
{
List<PropertyModel> myList= new List<PropertyModel>();
myList.Add(new PropertyModel(){Name = "Anna", Value = "500$"});
myList.Add(new PropertyModel(){Name = "Michellen", Value = "520$"});
return myList;
}
您可以使用List的.ToArray()方法
public PropertyModel[] Properties { get; set; }
这是代码
//to use the function
public static void Main()
{
Properties = GetAll().ToArray();
}
答案 3 :(得分:-1)
尝试使用ArrayList:https://msdn.microsoft.com/en-us/library/system.collections.arraylist(v=vs.110).aspx
添加和使用对象更容易,无论何时需要数组,都可以调用.ToArray()方法。