3

我有以下两个课程;

public class CarModels
{
    public List<Model> Model{ get; set; }

    public CarModels()
    {
        Model = new List<Model>();
    }
}

public class Model
{
    public int ModelId { get; set; }
    public string Name { get; set; }
    public bool Enabled{ get; set; }
}

如何将数据提取为如下格式

(ModelId,Name,Enabled),(ModelId,Name,Enabled),(ModelId,Name,Enabled) 等

4

2 回答 2

4
String.Join(",", models.Select(m => String.Format("({0},{1},{2})", m.ModelId, m.Name, m.Enabled)));

这将为您提供带有FalseTrue作为 Enabled 值的字符串。如果您愿意Enabled,请Disabled使用:m.Enabled ? "Enabled" : "Disabled"格式化模型字符串时。


完整示例(使用 NBuilder 创建示例模型):

IEnumerable<Model> models = Builder<Model>.CreateListOfSize(3).Build();
Func<Model, string> formatModel = 
    m => String.Format("({0},{1},{2})", m.ModelId, m.Name, m.Enabled);
string result = String.Join(",", models.Select(formatModel));

输出:

(1,Name1,False),(2,Name2,True),(3,Name3,False)

于 2013-08-05T13:45:07.667 回答
0

尝试这个:

var models = carModels.Model.Aggregate<Model, string>("", (s, m) =>
{
    return s + String.Format(",({0},{1},{2})", m.ModelId, m.Name, m.Enabled);
}).Substring(1);
于 2013-08-05T13:50:23.067 回答