【发布时间】:2022-01-11 13:25:22
【问题描述】:
我有一个方法:
public cancelOperation(OperationId: string): Promise<void>
{
// some calls
}
我从另一个方法获得 OperationId:
let operationId = GetOperationId() {}
返回可为空的 OperationId,
operationId?: string;
所以当传递从 GetOperationId() 接收到的 OperationId 时,我收到 operationId 可以为空的错误,因此不能在方法 cancelOperation() 中使用
那么有没有 C# 等价于
operationId .Value
或
operationId .HasValue
Typescript 中的方法,所以我可以去做。
虽然我们可以选择检查 operationId,例如:
cancelOperation(playAudioResult.operationId ? playAudioResult.operationId : "")
但我不想使用它。
我需要一个类似的解决方案: cancelOperation(operationId.?????)
【问题讨论】:
-
let operationId = GetOperationId() {}看起来语法不正确。 -
@ShamPooSham 好的,我已经改了
-
你没有改变我说的那一行
-
但是如果你的意思是
operationId的类型是string | undefined,如果你在@987654333中调用cancelOperation,打字稿会很聪明地从类型中删除| undefined@ -
没有,因为 typescript 和 C# 以非常不同的方式工作。但我认为这实际上做了同样的事情:如果定义了值,它将被使用。您还可以使用非空断言运算符 (
!) typescriptlang.org/docs/handbook/release-notes/…
标签: javascript c# typescript conditional-operator null-check