C# | Copying the Hashtable elements to an Array Instance Last Updated : 11 Jul, 2025 Comments Improve Suggest changes Like Article Like Report Hashtable.CopyTo(Array, Int32) Method is used to copy the elements of a Hashtable to a one-dimensional Array instance at the specified index.Syntax: public virtual void CopyTo (Array array, int arrayIndex); Parameters: array : The one-dimensional Array that is the destination of the DictionaryEntry objects copied from Hashtable. The Array must have zero-based indexing.index : The zero-based index in array at which copying begins. Exceptions: ArgumentNullException : If the array is null.ArgumentOutOfRangeException : If the index is less than zero.InvalidCastException : If the type of the source Hashtable cannot be cast automatically to the type of the destination array.ArgumentException : If array is multidimensional OR the number of elements in the source Hashtable is greater than the available space from arrayIndex to the end of the destination array. Below programs illustrate the use of Hashtable.CopyTo(Array, Int32) Method:Example 1: CSharp // C# code to copy the Hashtable // elements to a one-dimensional Array // instance at the specified index. using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Hashtable named myhash Hashtable myhash = new Hashtable(); // Adding key/value pairs in myhash myhash.Add("A", "Apple"); myhash.Add("B", "Banana"); myhash.Add("C", "Cat"); myhash.Add("D", "Dog"); myhash.Add("E", "Elephant"); myhash.Add("F", "Fish"); // Creating a one-dimensional Array named myArr DictionaryEntry[] myArr = new DictionaryEntry[myhash.Count]; // copying the Hashtable entries // to a one-dimensional Array instance // at the specified index myhash.CopyTo(myArr, 0); for (int i = 0; i < myArr.Length; i++) Console.WriteLine(myArr[i].Key + " --> " + myArr[i].Value); } } Output: B --> Banana C --> Cat A --> Apple F --> Fish D --> Dog E --> Elephant Example 2: CSharp // C# code to copy the Hashtable // elements to a one-dimensional Array // instance at the specified index. using System; using System.Collections; class GFG { // Driver code public static void Main() { // Creating a Hashtable named myhash Hashtable myhash = new Hashtable(); // Adding key/value pairs in myhash myhash.Add("A", "Apple"); myhash.Add("B", "Banana"); myhash.Add("C", "Cat"); myhash.Add("D", "Dog"); myhash.Add("E", "Elephant"); myhash.Add("F", "Fish"); // Creating a one-dimensional Array named myArr DictionaryEntry[] myArr = new DictionaryEntry[myhash.Count]; // copying the HybridDictionary entries // to a one-dimensional Array instance // at the specified index // This should raise "ArgumentOutOfRangeException" // as index is less than 0 myhash.CopyTo(myArr, -2); for (int i = 0; i < myArr.Length; i++) Console.WriteLine(myArr[i].Key + " --> " + myArr[i].Value); } } Runtime Error: Unhandled Exception: System.ArgumentOutOfRangeException: Non-negative number required. Parameter name: arrayIndex Note: The elements are copied to the Array in the same order in which the enumerator iterates through the Hashtable.To copy only the keys in the Hashtable, use Hashtable.Keys.CopyTo.To copy only the values in the Hashtable, use Hashtable.Values.CopyTo.This method is an O(n) operation, where n is Count. Reference: https://learn.microsoft.com/en-us/dotnet/api/system.collections.hashtable.copyto?view=netframework-4.7.2 Create Quiz Comment K Kirti_Mangal Follow 0 Improve K Kirti_Mangal Follow 0 Improve Article Tags : C# CSharp-method CSharp-Collections-Hashtable CSharp-Collections-Namespace Explore IntroductionC# Tutorial 2 min read Introduction to .NET Framework 6 min read C# .NET Framework (Basic Architecture and Component Stack) 6 min read C# Hello World 2 min read Common Language Runtime (CLR) in C# 4 min read FundamentalsC# Identifiers 2 min read Data Types in C# 6 min read C# Variables 4 min read C# Literals 5 min read Operators in C# 7 min read C# Keywords 5 min read Control StatementsC# Decision Making (if, if-else, if-else-if ladder, nested if, switch, nested switch) 5 min read C# Switch Statement 4 min read Loops in C# 4 min read C# Jump Statements (Break, Continue, Goto, Return and Throw) 4 min read OOP ConceptsClass and Objects in C# 4 min read Constructors in C# 5 min read C# Inheritance 3 min read Encapsulation in C# 2 min read C# Abstraction 4 min read MethodsMethods in C# 4 min read Method Overloading in C# 4 min read Method Parameters in C# 4 min read Method Overriding in C# 7 min read Anonymous Method in C# 2 min read ArraysArrays in C# 6 min read Jagged Arrays in C# 4 min read Array Class in C# 5 min read How to Sort an Array in C# | Array.Sort() Method Set - 1 8 min read How to find the rank of an array in C# 2 min read ArrayListArrayList in C# 6 min read ArrayList Class in C# 4 min read C# | Array vs ArrayList 2 min read StringStrings in C# 6 min read C# Verbatim String Literal - @ 5 min read C# String Class 9 min read C# StringBuilder 2 min read C# String vs StringBuilder 3 min read TupleC# Tuple 7 min read C# Tuple Class 3 min read C# ValueTuple 7 min read C# ValueTuple Struct 4 min read IndexersC# Indexers 5 min read C# Multidimensional Indexers 5 min read C# - Overloading of Indexers 3 min read Like