Как сделать go из DataTable в CSV одного столбца - PullRequest
1 голос
/ 27 апреля 2020

Я пытаюсь взять один столбец в моей DataTable и превратить значения в строку CSV. Я знаю, что могу oop через DataTable для каждого, но я бы хотел сделать это с Linq классно.

Я бы хотел, чтобы в таблице CSV содержались все имена клиентов в таблице.

Например:

"Tom,Mary,Tad,Lad,Ben"

https://dotnetfiddle.net/bmkCxk

class Program
{
    static void Main(string[] args)
    {
        DataTable dt = new DataTable("MyDataTable");

        dt.Columns.Add("Id", typeof(int));
        dt.Columns.Add("CustomerName", typeof(string));

        dt.Rows.Add(1, "Tom");
        dt.Rows.Add(2, "Mary");
        dt.Rows.Add(3, "Tad");
        dt.Rows.Add(4, "Lad");
        dt.Rows.Add(5, "Ben");

        Console.WriteLine($"{dt.Rows[0]["CustomerName"]}");

        var result = dt.Rows.OfType<DataRow>().Select(x => x["CustomerName"].ToString());
        Console.WriteLine($"CSV display {result}");
    }
}

1 Ответ

1 голос
/ 27 апреля 2020

Вы почти на месте, просто используйте string.Join, чтобы завершить его.

var yourCsvLine = string.Join(",", dt.Rows.OfType<DataRow>().Select(x => x["CustomerName"].ToString()));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...