C#小白求问,为什么不让我把 .value赋值给我的二维数组呢?

图片说明
以下是部分代码:

     int i = 1,j=0;

        for (int r = 0; r < q; r++)
        {
            string[] data5 = new string[0];
            string[][] ff = new string[data3.Length][];
            ListViewItem a = new ListViewItem();               
            if (g3_1.IsMatch(data3[r]))
                {
                    string data6 = data3[r].Replace("DEP-", "cDEP-");
                    data5 = data6.Split(new char[] { 'c' });
                  Match group3_1 = Regex.Match(data5[1], "[A-Z]{3}");
                    Match group7_1 = Regex.Match(data5[1], "([A-Z]{3}\\d{1,4}/[A][0-7]{4})|([A-Z]{3}\\d{1,3}[Q-Z])|([A-Z]{3}\\d{1,4})");
                    Match group9_1 = Regex.Match(data5[1], "([0-9]{0,2}\\w{2,4})/[HML]");
                    Match group13_1 = Regex.Match(data5[1], "[A-Z]{4}[0-9]{4}");

                    Match group16a_1 = Regex.Match(data5[1], "(-[A-Z]{4}-)");
                    Match group16_1 = Regex.Match(group16a_1.Value, "([A-Z]{4})");
                ff[j][0] = i.ToString();
                ff[j][1] = group3_1.Value;
                ff[j][2] = group7_1.Value;
                ff[j][3] = group9_1.Value;
                ff[j][4] = group13_1.Value;
                ff[j][6] = group16_1.Value;
            }
                        }

5个回答

正则表达式没有匹配到呗,如果是你正则的问题,你要贴出原始的字符串,和你要做什么帮你看下。
如果你正则没错,但是数据可能有少量不合法,先用IsMatch判断下,或者try catch跳过。

因为group3-1的值为null,你要一步一步跟踪你的代码调试一下看看group3-1是不是你预期的值

空指针,打个断点看一下就ok了,兄弟

正则没有匹配到数据,所以group3_1等等这些变量的值都是null,所以一直报空指针错误

谢谢各位大佬,虽然我最后换了个办法。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问