배열을 사용하는 코드가 있는데, 불행히도 형식을 변경할 수 없습니다. 할 수 있다면 ArrayLists 나 simliar를 사용하여 필요한 작업을 수행 할 수는 있지만 그렇게 할 수는 없습니다. 기본적으로 정적 배열에서 객체를 추가하고 제거하는 최선의 방법을 찾고 있습니다. 즉석에서 항목을 배열에 추가하려면 이전 배열보다 큰 하나의 요소 인 새 배열을 만들고 이전 배열의 항목을 새 배열에 복사 한 다음 새 항목을 추가해야합니다. 이런 식으로 ...거기에 ArrayList와 같은 C# 정적 배열을 처리하는 방법은 무엇입니까?
public partial class dataStruct
{
private myObject[] myStaticArray;
};
private void AddItemToMyArray()
{
int oldLength = dataStruct.myStaticArray.Length;
myObject[] newMyObjectArray = new myObject[oldLength + 1];
for (int i = 0; i < oldLength; i++)
newMyObjectArray [i] = dataStruct.myStaticArray[i];
dataStruct.myStaticArray[oldLength] = new myObject();
dataStruct.myStaticArray = newMyObjectArray;
}
항목을 삭제하는 경우 동일한 작업을 수행하며 하나만 작게하는 새 배열을 만듭니다. 이것은 정말로 비효율적이라고 느낀다. 누구든지 더 좋은 접근법을 제안 할 수 있습니까? 또는 다른 생각?
미리 감사드립니다.
. NET 2.0 이후로 배열 대신 List을 사용할 수 있습니다. –
mmmmmmmm