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

Yah*_*ein 4 c# linq

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

public class Rule
{
    public bool IsValid { get; set; }
    public string RuleName { get; set; }
    public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

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

string.Join(", ", list.Select(rule=> new { rule.RuleName, rule.IsValid }))
Run Code Online (Sandbox Code Playgroud)

当前输出采用以下格式:

{ RuleName = name1, IsValid = True}, { RuleName = name2, IsValid = False }
Run Code Online (Sandbox Code Playgroud)

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

name1 is True, name2 is False
Run Code Online (Sandbox Code Playgroud)

Tim*_*ter 8

它很简单String.Join,Enumerable.Select并且字符串插值(C#6):

string.Join(", ", list.Select(r=> $"{r.RuleName} is {r.IsValid}"));
Run Code Online (Sandbox Code Playgroud)