如何向此数组添加新项



我有一个类 -

public class PropertyModel
{
    public string Name { get; set; }
    public string Value { get; set; }
}

这是数组,它是我的请求模型的一部分

public PropertyModel[] Properties { get; set; }

此数组由用户填充,有时也可能为空。

无论它是否被填充 - 我想添加一个名称/值对 - ["Origin", "WEB"]总是到这个数组。

如何进行此数组添加?我应该先将其转换为List,添加然后将其转换回数组吗?

这一次,您应该将List<PropertyModel>用于PropertyModel[]。 由于您不知道集合的最终大小,因此用户可能会在以后的某些时间点向集合添加新项。所以我建议你像这样定义属性:

private List<PropertyModel> _Properties = new List<PropertyModel>();
public List<PropertyModel> MyProperty
{
   get { return _Properties; }
   set { myVar = _Properties; }
}

当您遇到同样的困惑时,请记住以下几点:

  • 如果您知道集合的最终大小,您可以使用 T[] 或列表。
  • 如果您不知道决赛大小(集合大小不一(,使用列表。

有很多方法可以实现此目的,但如果您只想添加一个项目,请尝试此代码。

 PropertyModel[] arr = {};
 var toAdd = new PropertyModel() { Name = "Origin", Value = "WEB" };
 arr = arr.Concat(new PropertyModel[] { toAdd }).ToArray();

您可以使用 List 而不是 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;
}

您可以使用 .ToArray(( 方法 的 List 为

public PropertyModel[] Properties { get; set; }

这是代码

//to use the function
    public static void Main()
    {
       Properties = GetAll().ToArray();
    }

尝试使用 ArrayList : https://msdn.microsoft.com/en-us/library/system.collections.arraylist(v=vs.110(.aspx

添加和使用对象更容易,每当需要数组时,都可以调用 .ToArray(( 方法。

相关内容

  • 没有找到相关文章

最新更新