在 C# 中声明一个对象数组

Muhammad Zeeshan 2023年10月12日
  1. C# 中的对象数组
  2. C# 中声明具有字符串数据类型的对象数组
  3. C# 中声明具有浮点和整数数据类型的对象数组
在 C# 中声明一个对象数组

本文将介绍如何声明或初始化对象数组。使用对象数组允许我们访问每个对象的类方法。

C# 中的对象数组

对象数组可以以多种方式使用;它们将多种组件放在一个集合中。对象引用可以引用任何派生类型实例。

以下是 C# 中对象数组声明的一些示例。

C# 中声明具有字符串数据类型的对象数组

语法:

employee[] e = new employee[3];
e[0] = new employee();
e[1] = new employee();
e[2] = new employee();

例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1 {
  class employee {
    private string empName;

    private int empId;

    private string empDesig;

    public void EmpInfo(string empName, int empId, string empDesig) {
      this.empId = empId;
      this.empDesig = empDesig;
      this.empName = empName;
    }
    public void showEmployeeDetails() {
      Console.WriteLine("\nEmployee Record: ");
      Console.WriteLine("\t    Emp Name: " + empName);
      Console.WriteLine("\t        Id  : " + empId);
      Console.WriteLine("\tDesignation : " + empDesig);
    }
  }

  class EmployeeTest {
    public static void Main() {
      employee[] e = new employee[3];
      e[0] = new employee();
      e[1] = new employee();
      e[2] = new employee();
      e[0].EmpInfo("Shan", 132, "Manager");
      e[0].showEmployeeDetails();
      e[1].EmpInfo("Casper", 131, "CEO");
      e[1].showEmployeeDetails();
      e[2].EmpInfo("Olga", 139, "Team Leader");
      e[2].showEmployeeDetails();
    }
  }
}

输出:

Employee Record:
	    Emp Name: Shan
	        Id  : 132
	Designation : Manager
Employee Record:
	    Emp Name: Casper
	        Id  : 131
	Designation : CEO

Employee Record:
	    Emp Name: Olga
	        Id  : 139
	Designation : Team Leader

按照这些步骤,我们可以声明一个对象数组。

  1. 首先,我们必须导入以下库,它们是必需的。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
  1. 现在,创建一个名为 employee 的类,在该类中,我们将声明 employee 的 3 个私有数据成员。
class employee {
  private string empName;
  private int empId;
  private string empDesig;
}
  1. employee 类中创建一个名为 EmpInfo() 的构造函数,并分别传递名为 empNameempIdempDesig 的 3 个参数。EmpInfo() 是设置 employee 对象的私有变量值的 setter 方法,在 employee 类之外无法访问这些值。
public void EmpInfo(string empName, int empId, string empDesig) {
  this.empId = empId;
  this.empDesig = empDesig;
  this.empName = empName;
}
  1. 我们在 employee 类中构建了 showEmployeeDetails() 函数来显示’员工’的详细信息。我们构建了这个方法来在控制台上显示 employee 数据,因为 employee 变量在类外不可用。

由于此函数的可用性,我们可以直接在我们的 employee 对象上调用 showEmployeeDetails() 以在控制台中显示 employee 数据。

public void showEmployeeDetails() {
  Console.WriteLine("\nEmployee Record: ");
  Console.WriteLine("\t    Emp Name: " + empName);
  Console.WriteLine("\t        Id  : " + empId);
  Console.WriteLine("\tDesignation : " + empDesig);
}
  1. 我们将在 Main 类中创建一个对象数组。employee 类的所有对象都将存储在我们构建的数组中。然后我们将创建并初始化两个对象。

之后,我们将调用我们之前在 employee 类中创建的构造函数,并为我们的两个对象的每个变量分配一个值。

然后,在我们的 employee 类中,我们将调用 showEmployeeDetails() 来打印我们在前面的代码块中分配的每个 employee 的值。

class EmployeeTest {
  public static void Main() {
    employee[] e = new employee[3];
    e[0] = new employee();
    e[1] = new employee();
    e[2] = new employee();
    e[0].EmpInfo("Shan", 132, "Manager");
    e[0].showEmployeeDetails();
    e[1].EmpInfo("Casper", 131, "CEO");
    e[1].showEmployeeDetails();
    e[2].EmpInfo("Olga", 139, "Team Leader");
    e[2].showEmployeeDetails();
  }
}

C# 中声明具有浮点和整数数据类型的对象数组

语法:

object[] num = new object[5];

num[0] = 2.15;
num[1] = 'S';
num[2] = 27;

例子:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

class DeclareObjectArray {
  static public void Main() {
    object[] num = new object[5];
    // float value
    num[0] = 2.15;
    // Character
    num[1] = 'S';
    // integer value
    num[2] = 27;
    // null value
    num[3] = null;
    // system object
    num[4] = new object();

    foreach (var Items in num) {
      Console.WriteLine(Items);
    }
  }
}

输出:

2.15
S
27

System.Object

Main 类中,我们将为此示例创建一个对象数组。

我们创建的数组将保存 num 类的所有对象。然后我们将制作 5 个对象并设置它们。

之后,我们将执行我们之前创建的构造函数,并为所有实例的每个变量设置一个值。

Muhammad Zeeshan avatar Muhammad Zeeshan avatar

I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.

LinkedIn

相关文章 - Csharp Array