Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

630
Views
How to make FileHelpers ignore columns after the defined columns? (i.e. ignore columns at the end)

Suppose I have the following FileHelpers Record definition:

[DelimitedRecord(",")]
[IgnoreEmptyLines]
public class TestRecord
{
    [FieldCaption("A")]
    [FieldQuoted(QuoteMode.OptionalForBoth)]
    public string A;

    [FieldCaption("B")]
    [FieldQuoted(QuoteMode.OptionalForBoth)]
    public string B;

    [FieldCaption("C")]
    [FieldQuoted(QuoteMode.OptionalForBoth)]
    public string C;
}

I am only interested in columns A,B,C. Any columns that follow them can be ignored. So for example, I would like it to be possible to handle data like this:

A,B,C,D,E
TestA1,TestB1,TestC1,TestD1,TestE1
TestA2,TestB1,TestC1,TestD1,TestE1

or:

A,B,C,D
TestA1,TestB1,TestC1,TestD1
TestA2,TestB1,TestC1,TestD1

or:

A,B,C
TestA1,TestB1,TestC1
TestA2,TestB1,TestC1
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Just add an extra string[] field to the end of your class and mark it [FieldOptional].

[DelimitedRecord(",")]
[IgnoreEmptyLines]
public class TestRecord
{
    [FieldCaption("A")]
    [FieldQuoted(QuoteMode.OptionalForBoth)]
    public string A;

    [FieldCaption("B")]
    [FieldQuoted(QuoteMode.OptionalForBoth)]
    public string B;

    [FieldCaption("C")]
    [FieldQuoted(QuoteMode.OptionalForBoth)]
    public string C;

    [FieldOptional]
    public string[] EverythingElse;
}

class Program
{
    static void Main(string[] args)
    {
        var engine = new FileHelperEngine<TestRecord>();
        var records = engine.ReadString("TestA1,TestB1,TestC1,TestD1,TestE1");
        
        Debug.Assert(records.Count() == 1);
        Debug.Assert(records[0].A == "TestA1");
        Debug.Assert(records[0].B == "TestB1");
        Debug.Assert(records[0].C == "TestC1");

        Console.WriteLine("All OK");
        Console.ReadLine();
    }
}
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!