How to set array length in c# dynamically

后端 未结 9 972
长情又很酷
长情又很酷 2020-12-30 23:45

I am still new to C# and I\'ve been struggling with various issues on arrays. I\'ve got an array of metadata objects (name value pairs) and I would like to know how to creat

9条回答
  •  甜味超标
    2020-12-31 00:31

    InputProperty[] ip = new InputProperty[nvPairs.Length]; 
    

    Or, you can use a list like so:

    List list = new List();
    InputProperty ip = new (..);
    list.Add(ip);
    update.items = list.ToArray();
    

    Another thing I'd like to point out, in C# you can delcare your int variable use in a for loop right inside the loop:

    for(int i = 0; i

    And just because I'm in the mood, here's a cleaner way to do this method IMO:

    private Update BuildMetaData(MetaData[] nvPairs)
    {
            Update update = new Update();
            var ip = new List();
    
            foreach(var nvPair in nvPairs)
            {
                if (nvPair == null) break;
                var inputProp = new InputProperty
                {
                   Name = "udf:" + nvPair.Name,
                   Val = nvPair.Value
                };
                ip.Add(inputProp);
            }
            update.Items = ip.ToArray();
            return update;
    }
    

提交回复
热议问题