如何从另一个类访问数组并在控制台打印该数组?
解决方案
首先需要解决Parties类中FormRestaurant实例的访问权限问题——当前f是私有字段,外部无法直接访问其AllTables数组。可以通过在Parties类中添加公共属性暴露该数组,再在Main方法中实例化对象并打印数组内容。
修改后的完整代码如下:
public class Program { public static void Main() { Parties p = new Parties(); // 方式1:将数组元素拼接为字符串一行输出 Console.WriteLine(string.Join(", ", p.RestaurantTables)); // 方式2:循环遍历逐个输出每个元素(每行一个) foreach (int table in p.RestaurantTables) { Console.WriteLine(table); } } } public partial class FormRestaurant { public int[] AllTables = { 3, 5, 6, 3 }; } public class Parties { int length; FormRestaurant f; // 添加公共属性,暴露内部的AllTables数组 public int[] RestaurantTables => f.AllTables; public Parties() { f = new FormRestaurant(); length = f.AllTables.Length; } }
关键说明:
- 在
Parties类中新增RestaurantTables属性,通过它对外提供访问AllTables数组的入口。 Main方法中必须实例化Parties对象(原代码仅声明变量未实例化,会导致运行错误)。- 两种打印方式可按需选择:
string.Join适合将数组元素按指定分隔符拼接成单行输出,示例输出为3, 5, 6, 3。foreach循环适合逐个输出元素,每个元素单独占一行。
内容的提问来源于stack exchange,提问作者Amjad Hani
相关产品推荐
相关产品推荐

