You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用C# LINQ从MongoDB含空值学生数组提取非空名称

解决MongoDB Students数组名称拼接问题

你的代码生成,Rahul,Raj的原因是没有过滤Students数组中的null元素——当x为null时,x?.name返回null,string.Join会将null转换为空字符串,导致拼接结果开头多了一个逗号。

直接用LINQ链式调用即可解决,无需循环:

// 仅过滤null的学生对象
var names = string.Join(",", students.Where(x => x != null).Select(x => x.name));

如果需要额外处理name为空的情况(比如部分学生没有name字段),可以再加一层过滤:

// 同时过滤null对象和空name
var names = string.Join(",", students.Where(x => x != null && !string.IsNullOrEmpty(x.name)).Select(x => x.name));

这个写法先通过Where剔除无效的null元素,再提取有效学生的name,最后完成拼接,结果就是你需要的Rahul,Raj。

内容的提问来源于stack exchange,提问作者vicky

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 09:41:12