首页 > 解决方案 > 从对象列表中创建一个逗号分隔的字符串

问题描述

我有这些对象的列表

public class OsloProverModel
{
    public string PersonalNumber { get; set; }
    public string SchoolCode { get; set; }
    public string Email { get; set; }
}

我正在尝试用这些记录制作一个逗号分隔的文件。所以例如像这样的东西

PN1,SC1,E1
PN2,SC2,E2
....

我正在尝试循环和连接。在Linq中有没有办法可以做到这一点?

标签: c#string

解决方案


覆盖ToString()

public class OsloProverModel
{
    public string PersonalNumber { get; set; }
    public string SchoolCode { get; set; }
    public string Email { get; set; }

    public override string ToString()
    {
        return string.Join(",", new[] { PersonalNumber, SchoolCode, Email });
    }
}

这样你就可以

OsloProverModel opmItem = new OsloProverModel()
{
    PersonalNumber = "PN1",
    SchoolCode = "SC1",
    Email = "E1"
};
string result = opmItem.ToString(); //"PN1,SC1,E1"

https://dotnetfiddle.net/7l1G2S


或者在一个List<OsloProverModel>和一个文件的情况下:

List<OsloProverModel> opvItems = GetValues();
System.IO.File.WriteAllLines(@"c:\myfile.csv", opvItems.Select(x => x.ToString()));

推荐阅读