我想获取一个可枚举的第一个实例,然后对找到的实例(如果存在!= null)执行一些操作。有没有一种方法可以通过C#7模式匹配来简化访问?请从以下起点开始:IEnumerable<Client> clients; /// = new List<Client> {new Client()};Client myClient = clients.FirstOrDefault();if (myClient != null){ // do something with myClient}我可以将呼叫FirstOrDefault与以下内容结合起来if statement吗:if (clients.FirstOrDefault() is null myClient){ // do something with myClient}我没有在MSDN模式匹配或堆栈溢出的其他地方看到任何类似的示例
2 回答

喵喔喔
TA贡献1735条经验 获得超5个赞
您可能会使用以下空传播方法替代RB的答案。
var client = clients.FirstOrDefault();
var implement = client?.PerformImplementation();
尽管语法试图利用该代码,但这将自动执行null检查。一段不错的语法糖,浓缩了代码并且仍然相当富有表现力。
- 2 回答
- 0 关注
- 180 浏览
添加回答
举报
0/150
提交
取消