is there any way to read a csv file into a matrix, so every square in the file will be a cell in the matrix?
There is a text reader in the VisualBasic namespace that can be used in C# and handles even horrible CSV files very well:
TextFieldParser
Just add a reference to Microsoft.VisualBasic in your project.
Microsoft.VisualBasic