Skip to Content
C# Cookbook
book

C# Cookbook

by Stephen Teilhet, Jay Hilyard
January 2004
Beginner to intermediate
864 pages
22h 18m
English
O'Reilly Media, Inc.
Content preview from C# Cookbook

9.8. Inserting and Removing Items from an Array

Problem

You need the ability to insert and remove items from a standard array (System.Array). When an item is inserted, it should not overwrite the item where it is being inserted; instead, it should be inserted between the element at that index and the previous index. When an item is removed, the void left by the element should be closed by shifting around the other elements in the array. However, the Array type has no usable method to perform these operations.

Solution

If possible, switch to an ArrayList instead. If this is not possible, use the approach shown in the following class. Two methods insert and remove items from the array. The InsertIntoArray method will insert an item into the array without overwriting any data that already exists in the array. The RemoveFromArray will remove an element from the array:

using System; public class ArrayUtilities { public void InsertIntoArray(Array target, object value, int index) { if (index < target.GetLowerBound(0) || index > target.GetUpperBound(0)) { throw (new ArgumentOutOfRangeException("index", index, "Array index out of bounds.")); } else { Array.Copy(target, index, target, index + 1, target.Length - index - 1); } target.SetValue(value, index); } public void RemoveFromArray(Array target, int index) { if (index < target.GetLowerBound(0) || index > target.GetUpperBound(0)) { throw (new ArgumentOutOfRangeException("index", index, "Array index out of bounds.")); } else if (index ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

C# Cookbook

C# Cookbook

Joe Mayo
C# Cookbook, 2nd Edition

C# Cookbook, 2nd Edition

Jay Hilyard, Stephen Teilhet
ASP.NET Cookbook

ASP.NET Cookbook

Michael A Kittel, Geoffrey T. LeBlond

Publisher Resources

ISBN: 0596003390Supplemental ContentCatalog PageErrata