C#如何提取类列表指定属性值生成数组并拼接指定格式字符串
实现步骤
你可以直接借助LINQ提取属性值,再用内置的字符串拼接方法完成需求,全程不需要手动写循环遍历:
- 首先在代码文件顶部引入LINQ依赖的命名空间:
using System.Linq;
- 核心实现只需要一行代码即可完成:
string joinedResult = string.Join("_", myFields.Select(item => item.FieldValue));
代码逻辑说明
Select(item => item.FieldValue)会遍历myFields集合中的所有元素,逐个提取每个MyField实例的FieldValue属性值,生成对应的字符串序列string.Join是C#内置的字符串拼接方法,第一个参数传入分隔符_,第二个参数传入刚才提取到的字符串序列,就会自动把所有值按顺序用下划线连接,直接得到你需要的Value0_Value1格式的结果。
注意:你贴的集合初始化代码存在类型不匹配问题:声明的集合类型是
IList<MyField>,但实例化时用的是List<SpectraNameField>,初始化的元素也是SpectraNameField类型。如果SpectraNameField不是继承自MyField的子类,这里会触发编译错误,需要修正为new List<MyField>()、元素实例化为new MyField()才能正常运行。
内容的提问来源于stack exchange,提问作者miguello
相关产品推荐
相关产品推荐

