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

如何生成C#对象属性名与属性值的两组逗号分隔字符串

解决方案

你需要分别收集属性名和属性值的集合,再将它们格式化为要求的字符串形式,修改后的代码如下:

var flags = System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.FlattenHierarchy;
System.Reflection.PropertyInfo[] infos = this.GetType().GetProperties(flags);

// 收集带双引号的属性名列表
var propertyNames = infos.Select(info => $"\"{info.Name}\"").ToList();
// 收集带双引号的属性值列表,处理null情况
var propertyValues = infos.Select(info => {
    object value = info.GetValue(this, null);
    return value != null ? $"\"{value}\"" : "\"null\"";
}).ToList();

// 拼接成最终格式:先属性名逗号分隔,换行后再属性值逗号分隔
return $"{string.Join(",", propertyNames)}{Environment.NewLine}{string.Join(",", propertyValues)}";

关键修改说明:

  • 用LINQ的Select分别提取属性名和处理后的属性值,为每个元素添加双引号以匹配示例格式
  • 通过string.Join将列表元素用逗号拼接成完整的字符串
  • 若不需要换行,直接合并成一行的话,可将返回语句改为:
    return $"{string.Join(",", propertyNames)},{string.Join(",", propertyValues)}";
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 12:03:18