繁体   English   中英

在 c# 中创建一个类数组

[英]creating an array of classes in c#

我是 c# 的绝对初学者,我需要一些帮助来创建一系列类。

class container {
    public string name;
    string details;
    string destination;

    public void get_all(){
      Console.WriteLine(name + "\n" + details + "\n" + destination);
    }
    public void set_name() {
      Console.WriteLine("enter name : ");
      name = Console.ReadLine();

      Console.WriteLine("enter details : ");
      details = Console.ReadLine();

      Console.WriteLine("enter destination: ");
      destination = Console.ReadLine();
    }
  }

主要的:

class MainClass {
    public static void Main(string[] args) {
       
      for (int i=0 ; i<10 ; i++){
        var cont[i] = new container();
      }

      cont[1].set_name();
      cont[1].get_all();


    }

我想声明一个容器数组并设置数组的第二个容器(如您在最后 3 行中所见),但我做不到,您能帮帮我吗?

创建“容器”数组并为第二个容器设置值。

public class MainClass 
{
  public static void Main(string[] args) 
  {
    var containers = new container[10];
    for (int i=0 ; i<10 ; i++)
    {
      containers[i] = new container();
    }

    containers[1].set_name();
    containers[1].get_all();
  }
}

如果您从一开始就遵循 c# 编码约定,那就太好了。 IT 对我们的代码风格保持一致非常重要,因为现在我们在团队中工作。

例如,遵循通用命名约定,您的代码将如下所示

public class Container 
{
  public string Name { get; set; }
  private string _details;
  private string _destination;

  public void GetAll()
  {
    Console.WriteLine(Name + "\n" + _details + "\n" + _destination);
  }

  public void SetName() 
  {
    Console.WriteLine("enter name : ");
    Name = Console.ReadLine();

    Console.WriteLine("enter details : ");
    _details = Console.ReadLine();

    Console.WriteLine("enter destination: ");
    _destination = Console.ReadLine();
  }
}

public class MainClass 
{
  public static void Main(string[] args) 
  {
    var containers = new Container[10];
    for (int i=0 ; i<10 ; i++)
    {
      containers[i] = new Container();
    }

    containers[1].SetName();
    containers[1].GetAll();
  }
}

要声明一个数组,您可以编写

Container[] cont = new Container[10];

您也可以使用var

var cont = new Container[10];

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM