Copy an array into another array. : Array Util « Collections Data Structure « C# / C Sharp






Copy an array into another array.

  

#region License and Copyright
/*
 * Dotnet Commons Reflection
 *
 * This library is free software; you can redistribute it and/or modify it 
 * under the terms of the GNU Lesser General Public License as published by 
 * the Free Software Foundation; either version 2.1 of the License, or 
 * (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful, but 
 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License 
 * for more details. 
 *
 * You should have received a copy of the GNU Lesser General Public License 
 * along with this library; if not, write to the 
 * Free Software Foundation, Inc., 
 * 59 Temple Place, 
 * Suite 330, 
 * Boston, 
 * MA 02111-1307 
 * USA 
 * 
 */

#endregion

using System;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Runtime.Serialization.Formatters.Binary;
using System.Text;

namespace Dotnet.Commons.Reflection
{
  /// -----------------------------------------------------------------------
  /// <summary>  
  /// This utility class contains a rich sets of utility methods that perform operations 
  /// on objects during runtime such as copying of property and field values
  /// between 2 objects, deep cloning of objects, etc.  
  /// </summary>
  /// -----------------------------------------------------------------------
  public abstract class ObjectUtils
  {

    /// ------------------------------------------------------------------------
    /// <summary>
    /// Copy an array into another array.
    /// </summary>
    /// <param name="src">source array</param>
    /// <param name="dest">destination array</param>
    /// <returns>copied array</returns>
    /// ------------------------------------------------------------------------
    public static object[] CopyArray(object[] src, object[] dest)
    {
      for (int i = 0; i < src.Length; i++)
      {

        Type ICloneType = src[i].GetType().GetInterface( "ICloneable" , true );
        MemberInfo[] mi = src[i].GetType().GetMember("Clone");

        if (src[i].GetType().IsPrimitive)
          dest[i] = src[i];

        // reference type
        else if( ICloneType != null )
        {
          //Getting the ICloneable interface from the object.
          ICloneable IClone = (ICloneable)src[i];

          dest[i] = IClone.Clone();

        }
        else if ((mi != null) && (mi.Length > 0))
        {
          dest[i] = src[i].GetType().InvokeMember("Clone", BindingFlags.InvokeMethod, null, src[i],null);
        }
        else  // copy reference
          dest[i] = src[i];
      
      }
      return dest;
    }
    }
}

   
    
  








Related examples in the same category

1.Return the average of the given values
2.Return the percentage of a given value.
3.return the min value in the list of double
4.return the max value in the list of double
5.Returns a string representation of the sbyte array
6.Returns a string representation of the char array
7.Returns a string representation of the double array
8.Returns a string representation of the float array
9.Returns a string representation of the int array
10.Returns a string representation of the long array
11.Returns a string representation of the object array
12.Returns a string representation of the short value array
13.Returns a string representation of the bool value array
14.Ensures that the sbyte array cannot hold more than maxCapacity elements.
15.Ensures that the char array cannot hold more than maxCapacity elements.
16.Ensures that the double array cannot hold more than maxCapacity elements.
17.Ensures that the float array cannot hold more than maxCapacity elements.
18.Ensures that the int array cannot hold more than maxCapacity elements.
19.Ensures that the long array cannot hold more than maxCapacity elements.
20.Ensures that the object array cannot hold more than maxCapacity elements.
21.Ensures that the short array cannot hold more than maxCapacity elements.
22.Ensures that the bool array cannot hold more than maxCapacity elements.
23.Swap two elements in a array
24.Generic Growable Array
25.foreach is used to display the contents of an array of integers.
26.Are two arrays equal.
27.Are thos two arrays having the save contents
28.Convert object array to string
29.Get array size
30.Convert array content to generic type array
31.Searches for the specified object and returns the index of the first occurrence within the entire one-dimensional System.Array.
32.Creates a new array with just the specified elements.
33.Array 2D
34.Get a array of object from a enum datatype.
35.Reinitializes an int array to the given value in an optimized way: intArraySet
36.Returns a Boolean indicating whether the Array is Empty (is Null or has a length of zero).
37.Places elements from an enumerable into an array.
38.Bit Array 2D
39.Counting the distribution of the values in an array.
40.Collection of static methods for operations on arrays
41.Char Array Writer
42.Computes the indices
43.Compare Array
44.Remove element from Array
45.Concatenate Array
46.Get the array slice between the two indexes
47.Find subarray in the source array.
48.Check if the array contains needle on specified position