从逗号分隔的字符串在 C# 中设置对象

麦克风

我正在遍历 Umbraco 节点列表并使用每个节点上的属性值设置我的类的属性

foreach (var node in listOfNodeWithProperty)
{
    var faqProperties = new Faq
    {
        Question = node.GetPropertyValue<string>("question"),
        Answer = node.GetPropertyValue<string>("answer"),
        Schemes = node.GetPropertyValue<string>("schemes")
    };

    faqCollection.faqs.Add(faqProperties);

}

我的常见问题类如下

internal class Faq
{
    public string Question { get; set; }
    public string Answer { get; set; }
    public string Schemes { get; set; }
    public IEnumerable<SchemeTypes> SchemeTypes { get; set; } 
}

internal class SchemeTypes
{
    public string SchemeType { get; set; }
}

对于字符串来说,一切都很简单,但我想要填充 SchemeTypes 对象的值是一个逗号分隔的字符串。我如何获取这个字符串并创建一个数组来填充 SchemeTypes?

我想要 SchemeTypes 作为对象,因为我的最终输出将是 JSON

乔恩·斯基特

听起来您只想拆分逗号并将其投影到SchemeTypes对象:

SchemeTypes = node.GetPropertyValue<string>("schemeTypes")
                  .Split(',')
                  .Select(t => new SchemeTypes { SchemeType = t })
                  .ToList() // Materialize the result

但是,SchemaTypes当它表示单个类型时,我会警告将其用作类型名称我会考虑这样的事情:

internal class SchemeType
{
    public string Name { get; set; }
}

那是如果你真的需要一个类。你可以只在 中有一个IEnumerable<string>属性Faq,它会生成 JSON

schemeTypes = [ "a", "b", "c" ]

而有了额外的课程,你会得到

schemeTypes = [
   { "name": "a" },
   { "name": "b" },
   { "name": "c" }
]

您确定要使用后一种格式吗?

如果您对属性为 感到满意,则IEnumerable<string>可以坚持使用以下结果string.Split

var faqProperties = new Faq
{
    Question = node.GetPropertyValue<string>("question"),
    Answer = node.GetPropertyValue<string>("answer"),
    Schemes = node.GetPropertyValue<string>("schemes"),
    SchemeTypes = node.GetPropertyValue<string>("schemeTypes").Split(',')
};

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#-以逗号分隔的字符串中的姓氏,名字

在C中解析逗号分隔的字符串

C#:检查字符串中是否包含用逗号分隔的字符串

逗号分隔的字符串以分隔数组 c# 中的值

如何在C中创建将逗号分隔的字符串转换为字符串数组的方法

在C#中从逗号分隔的字符串中删除一个值

拆分逗号分隔的字符串并在C#中添加引号-优雅的解决方案

C ++-将用逗号分隔的用户输入字符串存储到向量中

从C中的txt文件中提取逗号分隔的字符串

C - 从文件中提取逗号分隔的字符串到数组中 - 分段错误

对象以逗号分隔的字符串

MySQL:IN()中的逗号分隔字符串

从逗号分隔的字符串中删除@,$

删除逗号分隔的字符串中的字符串

从逗号分隔的字符串中删除结尾的逗号

用C#中的short []数组中的数字创建逗号分隔的字符串的最佳方法是什么?

从Python中的字符串对象读取逗号分隔的值

在每行中以R分隔逗号分隔的字符串

C将逗号分隔的字符串转换为数组

逗号分隔的字符串为双C#

Scala对象列表以逗号分隔的字符串

逗号分隔的字符串到 JSON 对象

在C#中设置对象的默认“字符串”值

从逗号分隔的字符串SQL Server中删除值

如何在 Oracle 中拆分逗号分隔的字符串

SQL 在查询逗号分隔字符串中的使用

从逗号分隔的字符串javascript中删除空值

创建基于逗号分隔的字符串在java中的json?

如何扫描字符串中以逗号分隔的元素?