gpt4 book ai didi

C# 单链表求和方法

转载 作者:行者123 更新时间:2023-12-02 01:30:49 25 4
gpt4 key购买 nike

我想求一个简单列表的总和。但我无法创建没有参数的方法 Sum() 。请提出可能的解决方案。

void Main()
{
var chain1 = new Add(5)).Append(new Add(10)).Append(new add(15));
var sum = chain.Sum();
}

public abstract class Strategy
{
private Strategy _next;
public Strategy Append(Strategy next)
{
if(_next == null){
_next = next;
} else {
_next.Append(next);
}

return this;
}
}

public class Add : Strategy
{
int _num;
public Add(int num) => _num = num;

public int Sum()
{
....
}
}

最佳答案

@marsze 是正确的,有更好的方法可以做到这一点......但我能够对其进行一些修改,最终得到了这个非战斗强化的代码:

public abstract class Strategy
{
protected Strategy _next;

public Strategy Append(Strategy next)
{
if (_next == null)
{
_next = next;
}
else
{
_next.Append(next);
}

return this;
}

public abstract int Sum();
}

public class Add : Strategy
{
int _num;
public Add(int num) => _num = num;

public override int Sum()
{
if (_next == null)
{
return _num;
}

return _num + _next.Sum();
}
}

关于C# 单链表求和方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73364266/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com