2 votes

Ne citer que les chaînes de caractères dans csvhelper

Je comprends que je peux citer tous les champs dans csvhelper en utilisant des éléments comme ceux qui suivent, mais comment citer tous les champs de type chaîne de caractères ? Dans les Filehelpers, vous avez l'annotation de données.

Est-ce que l'aide csv a quelque chose comme ceci

[Citation]
public string mystring {get;set;}

void Main()
{
    var records = new List<Foo>
    {
        new Foo { Id = 1, Name = "one" },
        new Foo { Id = 2, Name = "two" },
    };

    using (var writer = new StringWriter())
    using (var csv = new CsvWriter(writer))
    {
        csv.Configuration.ShouldQuote = (field, context) => true;
        csv.WriteRecords(records);

        writer.ToString().Dump();
    }
}

public class Foo
{
    public int Id { get; set; }
    public string Name { get; set; }
}

2voto

Aleks Points 1539

Selon ce problème Github Il a ajouté que cette fonctionnalité avait été envisagée et rejetée comme étant un cas limite.

Pour obtenir ce que vous recherchez, vous pourriez écrire votre propre convertisseur pour traiter ces champs selon les besoins. Si vous le faites, tenez compte de la remarque concernant le champ Configuration.QuoteNoFields = true dans ce numéro de Github.

Il existe un exemple de convertisseur de type aquí

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X