小编Mat*_*day的帖子

异步元组返回是否有等效的 NotNullWhen C# 模式?

在具有可空类型的 C# 中,可以实现智能地进行空检查的“TryGet”,例如,

bool TryGetById(int id, [NotNullWhen(returnValue: true)] out MyThing? myThing)
Run Code Online (Sandbox Code Playgroud)

这允许调用者跳过对 out var myThing 的 null 检查。

不幸的是,异步不允许输出参数,并且使用元组返回的模式不允许这种智能的 NotNull 检查(至少,据我所知)。还有其他选择吗?

有没有办法在异步元组返回类型上使用“NotNullWhen”等效项,例如,

Task<(bool Ok, [NotNullWhen(returnValue: true)] MyThing? MyThing)> TryGetById(int id)
Run Code Online (Sandbox Code Playgroud)

c# nullable async-await

9
推荐指数
1
解决办法
1503
查看次数

替换Erlang中列表中索引处的元素

我有一个列表,需要定期更新其元素.元素没有列表键:keyreplace.它也将动态增长.这是更新列表中特定索引的元素的好方法吗?有更好的算法吗?

List = [1,2,3,4],
Index = 3,
NewElement = 5,
{HeadList, [_|TailList]} = lists:split(Index-1, List),
[1,2,5,4] = lists:append([HeadList, [NewElement|TailList]]).
Run Code Online (Sandbox Code Playgroud)

erlang

4
推荐指数
1
解决办法
2408
查看次数

标签 统计

async-await ×1

c# ×1

erlang ×1

nullable ×1