Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按行和逗号拆分多行字符串,并将部分放入DataGridView_C#_.net_Winforms_Datagridview_Split - Fatal编程技术网

C# 按行和逗号拆分多行字符串,并将部分放入DataGridView

C# 按行和逗号拆分多行字符串,并将部分放入DataGridView,c#,.net,winforms,datagridview,split,C#,.net,Winforms,Datagridview,Split,我想将一个多行字符串从一个DataGridView(dgvObs)拆分并转置到另一个DataGridView(dgvSm)中分离行和列。 这段代码可以工作,但是-也许有更好的解决方案: object val = dgvObs.Rows[0].Cells[2].Value; if (val == null) return; string text = val.ToString(); using (StringReader sr = new StringReader(text)) { str

我想将一个多行字符串从一个DataGridView(dgvObs)拆分并转置到另一个DataGridView(dgvSm)中分离行和列。
这段代码可以工作,但是-也许有更好的解决方案:

object val = dgvObs.Rows[0].Cells[2].Value;
if (val == null) return;

string text = val.ToString();
using (StringReader sr = new StringReader(text))
{
   string line;
   while ((line = sr.ReadLine()) != null)
   {
      string[] divLine = line.Split(',');
      dgvSm.Rows.Add(divLine);
   }
}

你怎么说?试试这个:

var a = dgvObs.Rows[0].Cells[2].Value;

if (a == null) return;

foreach (String s in a.ToString().Split(','))
{
   dgvSm.Rows.Add(s);
}
评论编辑:

这将读取多行,通过正则表达式将其拆分,然后执行我的原始代码所做的操作。只需添加
dgvSm.Rows.add行插入嵌套的foreach语句中

var a = @"I'm a cat, woof.
                    bombs, away";

var result = Regex.Split(a, "\r\n|\r|\n");

foreach (var z in result)
{
   foreach (String sString in z.Split(','))
   {
      var asaa = sString.Trim();
   }
}

我不知道是否有更好的方法,但不管是什么类或函数,将文本转换成数据网格,或多或少都会做同样的事情。我的想法是,既然这样做了,就不会有对象/类声明的开销。例如:foreach(分割线…)。。。dgvSm.Rows.Add(…).KreepN-起始字符串是多行的,每行中都有逗号分隔的值。目标是将每一行放入dgvRow,将每一个逗号分隔的值放入dgvColumn。代码为每个csv而不是每行创建dgvRow。无论如何,谢谢。如果您希望根据您的评论看到代码的修改版本,请检查编辑。