C# 根据属性调整数组大小
如果我想调整这个数组的大小,那么我的第一个想法是:C# 根据属性调整数组大小,c#,arrays,resize,C#,Arrays,Resize,如果我想调整这个数组的大小,那么我的第一个想法是: private T[] Elements { get; set; } 但是我不认为这是调整数组大小的最有效的方法 谢谢你分享你的意见 PS:我的目标是创建一个动态数组,而不使用列表,您可以尝试这样处理它: T[] tempContainer = new T[Capacity*2]; Array.Copy(Elements, tempContainer, Capacity);
private T[] Elements { get; set; }
但是我不认为这是调整数组大小的最有效的方法
谢谢你分享你的意见
PS:我的目标是创建一个动态数组,而不使用列表,您可以尝试这样处理它:
T[] tempContainer = new T[Capacity*2];
Array.Copy(Elements, tempContainer, Capacity);
Elements = tempContainer
此外,您当前的“复制”版本应该会失败,因为两个数组都不够长(对于tempContainer always和元素,如果Capacity*2
Elements.Length
),请参阅
还有,为什么不将
元素
声明为字段?您可以尝试这样处理它:
T[] tempContainer = new T[Capacity*2];
Array.Copy(Elements, tempContainer, Capacity);
Elements = tempContainer
此外,您当前的“复制”版本应该会失败,因为两个数组都不够长(对于tempContainer always和元素,如果Capacity*2
Elements.Length
),请参阅
还有,为什么不将
元素
声明为字段?谢谢您的评论!我仍在学习计算机科学,不幸的是我不知道什么是一个领域。“请随意告诉我如何使用一个‘场地’,祝你有愉快的一天。”大师。基本上删除{get;set;}
谢谢您的评论!我仍在学习计算机科学,不幸的是我不知道什么是一个领域。“请随意告诉我如何使用一个‘场地’,祝你有愉快的一天。”大师。基本上删除{get;set;}
var tempContainer = Elements;
Array.Resize(ref tempContainer, Capacity*2);
Elements = tempContainer;