summaryrefslogtreecommitdiff
path: root/ThirdParty/CsvHelper-master/src/CsvHelper.Website/input/examples/reading/reading-by-hand/index.md
blob: 66bba95748865758db6f62446883c341d90a686e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# Reading by Hand

Sometimes it's easier to not try and configure a mapping to match your class definition for various reasons. It's usually only a few more lines of code to just read the rows by hand instead.

###### Data

```
Id,Name
1,one
```

###### Example

```cs
void Main()
{
    using (var reader = new StreamReader("path\\to\\file.csv"))
    using (var csv = new CsvReader(reader, CultureInfo.InvariantCulture))
    {
        var records = new List<Foo>();
		csv.Read();
		csv.ReadHeader();
		while (csv.Read())
		{
			var record = new Foo
			{
				Id = csv.GetField<int>("Id"),
				Name = csv.GetField("Name")
			};
			records.Add(record);
		}
    }
}

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