Use ToArray()
extension method to generate string[]
instead of IEnumerable<string>
var csv = (from line in lines
select (from piece in line
select piece).ToArray()).ToArray();
Because you're calling ToArray()
twice - within inner and outer query, your csv
variable will be jagged array of strings: string[][]