C#でasync awaitを使う時、メソッドを掘り下げていくのに、普通に書くと、async,awaitを何度も書くことになります。
そうすると、そのたびに速度が遅くなるのでもったい無いです。
例えば、
public async Task<bool> Buy(double price, double size)
{
return await Order(true, price, size);
}
public async Task<bool> Sell(double price, double size)
{
return await Order(false, price, size);
}
public async Task<bool> Order(bool isBuy, double price, double size)
{
bool success = false;
// 省略 オーダー処理
return success;
}
というコードがあった時、
Buy,Sellのasync,awaitを外して
public Task<bool> Buy(double price, double size)
{
return Order(true, price, size);
}
public Task<bool> Sell(double price, double size)
{
return Order(false, price, size);
}
public async Task<bool> Order(bool isBuy, double price, double size)
{
bool success = false;
// 省略 オーダー処理
return success;
}
この様に書くと、同じ動きで若干速くなります。