写法一:
var result = _cache.Exists(key) ? await func1(cacheKey) : await func2(uid);
写法二:
var result = await (_cache.Exists(key) ? func1(cacheKey) : func2(uid));
以上编译通过,一样吗?
// 写法一:
if(_cache.Exists(key))
await func1(cacheKey);
else
await func2(uid);
// 写法二:
Task task;
if(_cache.Exists(key))
task = func1(cacheKey);
else
task = func2(uid);
await task;
看起来没有区别
_cache.Exists 如果這個不是異步方法
執行流程會是一樣的
应该是一样的