c# - 这个语句可以用 ?? 来简化?或者 ?。运营商?
问题描述
我想知道是否可以使用??
or来简化以下内容?.
。
private static Stream OpenData(string filename)
=> Loader == null ? throw new Exception("...") : Loader.GetStream(filename);
请注意,我不关心可读性。
解决方案
如果在 null 的情况下仍然抛出异常,为什么不直接调用该方法呢?
Loader.GetStream(filename);
如果Loader为null,则抛出空引用异常,否则成功调用该GetStream
方法。
在旁注 -Loader
看起来像type
(基于命名约定)......我会假设它是一个实例变量,因为编译器会阻止type
与null
.
推荐阅读
- scala - 使用相同的方法生成派生特征,但在 Scala 中的每个方法中没有第一个参数
- c - c - 如何将命令行参数重定向到函数?
- php - 从一个 php 函数更新全局值并使其可用于同一类中的另一个函数
- javascript - discord.js ubuntu 未连接到网关
- python - 对 JSON 对象的 SQL 查询
- css - Angular Prime-ng p-tree,如何更改缩进?
- python - 这段代码有问题吗?还是我的电脑?
- kubernetes - 我可以使用容器文件系统并避免使用 Kubernetes 卷吗?
- google-bigquery - BiqQuery GEOGRAPHY 聚类列 - 最大限制为 1024 字节?
- python - 在 anaconda 中安装软件包时权限被拒绝