这是一个设计问题,我无法想象任何优雅的解决方案,您将如何创建所描述的类,因此,作为利用的示例,在实例化时您可以调用打印函数,如果它是 int,则只打印数字,如果它为空,则不会执行任何操作,如果它是一个数组,则打印该数组的第 i 个(我猜是内部迭代器)元素。这里什么都没有,提前谢谢!
感谢大家提出的答案,更具体地说明要求。
举个例子:[[1,2,3], null, 4, 5, [6,null,7]]这里的所有元素都是MyIntOrArray包括主数组本身的类型,因此当调用 print 7 次时,您将得到诸如“1”“2”“3”“4”“5”之类的输出“6” “7”
无论如何,我对Print功能不那么感兴趣,但对如何创建此类需求的实现/结构/类更感兴趣。
public class MyIntOrArray
{
public int? Value { get; set; }
public MyIntOrArray[] Values { get; set; }
private bool AmIArray { get; set; }
private int InnerIndex { get; set; }
public MyIntOrArray(int? value)
{
Value = value;
AmIArray = false;
}
public MyIntOrArray(int size, bool isArray)
{
Values = new MyIntOrArray[size];
AmIArray = true;
}
public bool …Run Code Online (Sandbox Code Playgroud)