Go语言占位符变量的C#替代方案是什么?
C#中替代Go忽略参数写法的方案
在Go语言中,我们可以用_作为参数占位符,明确表示不需要使用该参数:
func isAvailableForUser(_ context.Context) bool { return true; }
但在C#里,_是合法的变量名,并非类似Go的占位符。要实现类似的忽略参数效果,有以下几种可行方案:
使用
_作为参数名并忽略它
这是最简洁的写法,虽然_是变量名,但只要不在方法体内使用它,就能达到和Go占位符一样的效果。即使编译器开启了未使用变量的警告,代码依然可以正常编译:private bool IsAvailableForUser(IContext _) => true;使用明确的“未使用”参数名
如果觉得_不够清晰,可以给参数起一个明确表示未使用的名字,比如unusedContext,同样不在方法体内使用即可:private bool IsAvailableForUser(IContext unusedContext) => true;修改方法签名(若场景允许)
如果该方法不需要实现特定接口或适配委托,完全可以直接移除不需要的参数,简化方法定义:private bool IsAvailableForUser() => true;
内容的提问来源于stack exchange,提问作者GettingPleasure
相关产品推荐
相关产品推荐

