我正在使用类的实例填充数组:
BankAccount[] a;
. . .
a = new BankAccount[]
{
new BankAccount("George Smith", 500m),
new BankAccount("Sid Zimmerman", 300m)
};
Run Code Online (Sandbox Code Playgroud)
一旦我填充这个数组,我想按余额金额对它进行排序.为了做到这一点,我希望能够检查每个元素是否可以使用排序IComparable.
我需要使用接口来做到这一点.到目前为止,我有以下代码:
public interface IComparable
{
decimal CompareTo(BankAccount obj);
}
Run Code Online (Sandbox Code Playgroud)
但我不确定这是否是正确的解决方案.有什么建议?
使用Object.Equals会导致使用相同构造函数的两个新创建的对象出现false.为什么是这样?我希望能够比较两个对象并查看它们是否相同,换句话说,我想要进行与上面相同的测试,但我希望能够在第一次测试时得到一个真实的(因为这两个对象)应该是相同的).
如何在不为任何特定类构建自己的比较方法的情况下完成此操作.
using System;
class Program
{
static void Main(string[] args)
{
Object Obj1 = new Object();
Object Obj2 = new Object();
Console.WriteLine(Obj1.Equals(Obj2));
Obj2 = Obj1;
Console.WriteLine(Obj1.Equals(Obj2));
}
}
/* This example produces the following output:
False
True
*/
Run Code Online (Sandbox Code Playgroud)
附录:
Object o1 = new Object();
Object o2 = new Object();
o1.value1 = 1;
o2.value1 = 1;
//Now I want to compare o1 and o2 and see if they are equal
//Can I do this without building my own function?
Run Code Online (Sandbox Code Playgroud)