将List对象的值转换为字符串

时间:2018-02-20 14:05:59

标签: c# linq

我有一个对象列表,模型是:

public class Rule
{
    public bool IsValid { get; set; }
    public string RuleName { get; set; }
    public string Description { get; set; }
}

要从规则列表中获取RuleName和IsValid的值,我执行了以下操作:

string.Join(", ", list.Select(rule=> new { rule.RuleName, rule.IsValid }))

当前输出采用以下格式:

{ RuleName = name1, IsValid = True}, { RuleName = name2, IsValid = False }

如何在不使用循环的情况下将其转换为类似于以下的格式?

name1 is True, name2 is False

1 个答案:

答案 0 :(得分:8)

使用String.JoinEnumerable.Select和字符串插值(C#6)很简单:

string.Join(", ", list.Select(r=> $"{r.RuleName} is {r.IsValid}"));