更新:
这个问题不是功课.而且不是很防水......我想讨论一下内部表征.当然:add1000应该加1000.
**请回答这个问题的精神......使这个防水会使这个问题更长,没有任何理由..**你可以击败纯十进制 表示在运行时更改内部表示 更新2:看到
创建一个实现此接口的类型:
interface INumber
{
void add1000();
void SetValue(decimal d);
decimal GetValue();
}
Run Code Online (Sandbox Code Playgroud)
所以我在这个for循环中尽可能快地从0到100亿(十亿美元,直到10e9)迭代:
private static void DoSomeAdding(INumber n)
{
Debug.Assert(n.GetValue()==0);
for (long i=0; i<10000000000; i += 1000)
{
n.add1000();
}
Debug.Assert(n.GetValue() == 10000000000);
}
Run Code Online (Sandbox Code Playgroud)
所以你可以称之为:
DoSomeAdding(new YourNumberClass());
Run Code Online (Sandbox Code Playgroud) c# ×1