📜  C#中的对象和动态数组

📅  最后修改于: 2021-05-29 22:44:01             🧑  作者: Mango

数组是一组由通用名称引用的相似类型的变量。每个数据项都称为数组的元素。元素的数据类型可以是任何有效的数据类型,例如char,int,float等,并且这些元素存储在连续的位置。

对象数组

对象数组用于将不同类型的元素存储在单个数组中。在C#中,对象引用可以指向任何派生类型实例。

对象数组的缺点:

  • 它使代码更加复杂。
  • 它减少了程序的运行时间。

例子:

// C# program to illustrate the
// concept of object array
using System;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating and initializing 
        // object array
        object[] arr = new object[6];
  
        arr[0] = 3.899;
        arr[1] = 3;
        arr[2] = 'g';
        arr[3] = "Geeks";
  
        // it will display 
        // nothing in output
        arr[4] = null;
  
        // it will show System.Object
        // in output
        arr[5] = new object();
  
        // Display the element of 
        // an object array
        foreach(var item in arr)
        {
            Console.WriteLine(item);
        }
    }
}
输出:
3.899
3
g
Geeks

System.Object

动态阵列

动态数组提供动态内存分配,添加,搜索和排序数组中的元素。动态数组克服了静态数组的缺点。在静态数组中,数组的大小是固定的,而在动态数组中,数组的大小是在运行时定义的。 List 是C#中的动态数组。

例子:

// C# program to illustrate the
// concept of dynamic array
using System;
using System.Collections;
using System.Collections.Generic;
  
class GFG {
  
    // Main method
    static public void Main()
    {
  
        // Creating and initializing 
        // the value in a dynamic list
        List myarray = new List();
        myarray.Add(23);
        myarray.Add(1);
        myarray.Add(78);
        myarray.Add(45);
        myarray.Add(543);
  
        // Display the element of the list
        Console.WriteLine("Elements are: ");
        foreach(int value in myarray)
        {
            Console.WriteLine(value);
        }
  
        // Sort the elements of the list
        myarray.Sort();
  
        // Display the sorted element of list
        Console.WriteLine("Sorted element");
        foreach(int i in myarray)
        {
            Console.WriteLine(i);
        }
    }
}
输出:
Elements are: 
23
1
78
45
543
Sorted element
1
23
45
78
543