gpt4 book ai didi

C# 对象(2 个数字)执行 2 次计算

转载 作者:太空宇宙 更新时间:2023-11-03 18:48:08 24 4
gpt4 key购买 nike

我有几个关于创建对象(2 个值)以及如何“调用”它的问题。

初始化对象:

Tweetal t1, t2, t3, t4, t5, t6;
t1 = new Tweetal(); //a: 0 , b = 0
t2 = new Tweetal(-2); //a: -2, b = -2
t3 = new Tweetal(5, 17); //a: 5, b = 17
t4 = new Tweetal(t3); //a:5, b = 17

Console.Write("t1 = " + t1);
Console.Write("\tt2 = " + t2);
Console.Write("\tt3 = " + t3);
Console.Write("\tt4 = " + t4);
Console.WriteLine("\n");
t1 = t1.Som(t2);
t4 = t2.Som(t2);
//......

现在我想用这个对象做的两件事是获取 SUM 和 SUMNumber:Sum:t4 = t2.sum(t3);(这将导致 t4:a:3 (-2+5), b: 15(-2+17)SumNumber:t1 = t3.sum(8)(这将导致 t1:a:13,b:25)

Sum -> 参数,例如 t3、t2 等... SumNumber -> 参数 7、5... 或 2 个数字 (5,7) ...

接下来是我的对象代码(在一个单独的类中),但是当我调用例如 t2 等时,我究竟如何执行简单的求和计算...

public class Tweetal: Object
{
private int a;
private int b;

public Tweetal()
{
//???
//Sum(...,...)
}
public Tweetal(int a)
{
//???
//Sum(...,...)
}
public Tweetal(int a, int b)
{
//???
}
public Tweetal(Tweetal //....) // to call upton the object if i request t1, t2, t3,... insteed of a direct number value)
{
// ????
}


public void Sum(int aValue, int bValue)
{
//a = ???
//b = ???
//Sum(...,...)
}

public void SumNumber(int aValue, int bValue)
{

}


public override string ToString()
{
return string.Format("({0}, {1})", a, b);
}/*ToString*/
}

最佳答案

好吧,构造部分是三个重载的问题(假设您不想使用 C# 4 中的可选参数):

public Tweetal() : this(0, 0)
{
}

public Tweetal(int a) : this(a, a)
{
}

public Tweetal(int a, int b)
{
this.a = a;
this.b = b;
}

然后您需要更改您的 Sum 方法以返回另一个 `Tweetal``:

public Tweetal Sum(Tweetal other)
{
return new Tweetal(a + other.a, b + other.b);
}

不过,我个人会称它为 Plus 而不是 Sum,并且可能会添加一个运算符重载:

public static Tweetal operator +(Tweetal first, Tweetal second)
{
return first.Plus(b);
}

然后你可以写:

t1 = t1 + t2;

等但是,您应该在上面的代码中添加对空参数的检查 - 并且可能在适当的地方抛出 ArgumentNullException

关于C# 对象(2 个数字)执行 2 次计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2571366/

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