【问题标题】:C#: Change List<PictureBox> into an Array [duplicate]C#:将 List<PictureBox> 更改为数组 [重复]
【发布时间】:2014-07-15 09:23:50
【问题描述】:

我正在为我的一个项目重新创建 Space Invaders,并为我的所有入侵者和其他东西使用了一个 List,但我需要使用一个数组来代替。如何将此列表更改为数组,我不熟悉它们。请参阅下面的代码。

List<PictureBox> listInvaders;

public Form1()
    {
        InitializeComponent();
        InvaderAnim.Start();

        listInvaders = new List<PictureBox> {invader1, invader2, invader3, invader4, etc};

非常感谢!

【问题讨论】:

  • listInvaders.ToArray() 是答案,-1 表示缺乏研究。

标签: c# arrays list picturebox


【解决方案1】:

使用 System.Collections.Generic 命名空间中定义的ToArray() 方法:

InitializeComponent();
InvaderAnim.Start();

listInvaders = new List<PictureBox> {invader1, invader2, invader3, invader4, etc};
var resultingArray = listInvaders.ToArray();

你也可以使用array initializer,像这样:

var resultingArray = new PictureBox[] { invader1, invader2, invader3, invader4, etc }

【讨论】:

    【解决方案2】:

    试试这个,类型的编译器解析会推断出数组类型。

    var listInvaders = new[] {invader1, invader2, invader3, invader4, etc};
    

    否则,使用 ToArray() 将预先存在的列表转换为相同类型的数组。

    【讨论】:

      【解决方案3】:

      如何将此列表更改为数组

      怎么样

      var result = listInvaders.ToArray();
      

      为什么不首先创建数组而不是列表。将节省内存和时间

      var result = new PictureBox[] {invader1, invader2, invader3, invader4, etc};
      

      【讨论】:

        猜你喜欢
        • 2018-02-04
        • 1970-01-01
        • 2014-01-07
        • 2023-03-17
        • 1970-01-01
        • 1970-01-01
        • 2018-08-27
        • 2014-01-24
        相关资源
        最近更新 更多