C#中如何将Island类实例的成员值添加到数组中?
如何将Island实例的成员值存入数组(C#)
嘿,我来帮你搞定这个问题!首先我得先假设你的Island类大概是这样的(毕竟你没贴完整的类定义)——应该有个公开的属性或者字段来存储需要提取的集装箱数量:
public class Island { // 假设这个是存储要提取的集装箱数量的公开属性 public int RequiredContainers { get; } public Island(int requiredContainers) { RequiredContainers = requiredContainers; } }
接下来给你几种简单的实现方式,按需选择就行:
方法1:手动逐个赋值
如果你的Island实例是单独命名的(比如is1到is7),可以先创建一个对应长度的数组,再逐个把每个实例的成员值填进去:
// 创建一个长度为7的int数组,用来存各个岛屿的集装箱数量 int[] islandContainerCounts = new int[7]; // 逐个赋值 islandContainerCounts[0] = is1.RequiredContainers; islandContainerCounts[1] = is2.RequiredContainers; islandContainerCounts[2] = is3.RequiredContainers; islandContainerCounts[3] = is4.RequiredContainers; islandContainerCounts[4] = is5.RequiredContainers; islandContainerCounts[5] = is6.RequiredContainers; islandContainerCounts[6] = is7.RequiredContainers;
方法2:数组初始化时直接填充
这种方式更简洁,直接在创建数组的时候把所有实例的成员值列出来:
int[] islandContainerCounts = new int[] { is1.RequiredContainers, is2.RequiredContainers, is3.RequiredContainers, is4.RequiredContainers, is5.RequiredContainers, is6.RequiredContainers, is7.RequiredContainers };
方法3:用LINQ批量提取(更灵活)
如果之后可能需要调整实例数量,或者想让代码更简洁,可以先把所有Island实例放到一个集合里,再用LINQ批量提取成员值:
注意:这种方式需要在代码顶部引用using System.Linq;
// 先把所有Island实例存入一个数组或者List Island[] allIslands = new Island[] { is1, is2, is3, is4, is5, is6, is7 }; // 用LINQ提取每个实例的RequiredContainers值,转成int数组 int[] islandContainerCounts = allIslands.Select(island => island.RequiredContainers).ToArray();
关键注意点
要确保Island类中存储集装箱数量的成员是可访问的(比如public修饰的属性或字段)。如果这个成员是私有的,你需要给Island类添加一个公开的属性或者方法来获取这个值,比如:
public class Island { private int _requiredContainers; // 私有字段 public Island(int requiredContainers) { _requiredContainers = requiredContainers; } // 公开的属性用来获取私有字段的值 public int RequiredContainers => _requiredContainers; }
内容的提问来源于stack exchange,提问作者Aaa
相关产品推荐
相关产品推荐

