C#DataGrid CSV导入是否将任意大小的数组移动到定义的柱网中?

C#DataGrid CSV导入是否将任意大小的数组移动到定义的柱网中?,c#,function,datagrid,C#,Function,Datagrid,我有一个函数,数组中有大量CSV导入的分割数据。我目前将其设置为下面的代码,但是我在将数据放入单独的列而不是单个列时遇到了一些问题。我想要实现的是一种非冗余的方法,即为函数提供任意大小的字符串数组,并定义在将数据作为行添加到DataGrid之前必须读取的数据列数 private string csvtogrid(string input, columns) { input = input.Replace("\r", ",").Substring(2).TrimEn

我有一个函数,数组中有大量CSV导入的分割数据。我目前将其设置为下面的代码,但是我在将数据放入单独的列而不是单个列时遇到了一些问题。我想要实现的是一种非冗余的方法,即为函数提供任意大小的字符串数组,并定义在将数据作为行添加到DataGrid之前必须读取的数据列数

    private string csvtogrid(string input, columns)
    {
        input = input.Replace("\r", ",").Substring(2).TrimEnd(',').Trim().Replace("\n", ",").Replace(",,,", ",").Replace(",,",",");
        string[] repack = input.Split(',');
        string[] cell = new string[columns];
        int rcell = 0;
        for (int counter = 1; counter < repack.Length; counter++)
        {
            if (rcell < columns)
            {
                cell[rcell] = repack[counter];
                rcell++;
            }
            //MessageBox.Show(cell[0] + cell[1] + cell[2]);
            procgrid.Rows.Add(cell[0], cell[1], cell[2]);
            rcell = 0;
        }
        return null;
    }
私有字符串csvtogrid(字符串输入,列)
{
input=input.Replace(“\r”,“,”)。子字符串(2)。TrimEnd(“,”).Trim()。Replace(“\n”,“,”)。Replace(“,,”,”)。Replace(“,”,”);
string[]repack=input.Split(',');
字符串[]单元格=新字符串[列];
int rcell=0;
用于(int计数器=1;计数器<重新打包长度;计数器++)
{
if(rcell<列)
{
单元[rcell]=重新打包[计数器];
rcell++;
}
//MessageBox.Show(单元格[0]+单元格[1]+单元格[2]);
procgrid.Rows.Add(单元格[0],单元格[1],单元格[2]);
rcell=0;
}
返回null;
}

我发现在csv文件中读取最可靠、最简单的方法是类。它位于Microsoft.VisualBasic.FileIO名称空间中,因此如果您使用c,defaukt可能不会引用它,但它应该在gac中供您引用。

好吧,我的问题实际上不是导入CSV文件,而是将检索的数据转换为CSV格式并存储在字符串中。我想要完成的是向函数传递一个字符串,并告诉它一个特定的datagrid有多少列。该函数只需填充行上的单元格,然后移动到下一行即可。例如,列名“fname、lname、address”。如果我告诉函数有3列,我希望它用CSV格式的字符串/数组中的数据填充每一行,因为它们是以这种方式排序的。