2 qq 21121821 qq_21121821 于 2016.03.14 22:05 提问

C#交叉数组出现未将对象引用设置到对象的实例 问题

代码其实很简单,创建一个C#窗体应用程序,运行时输入“妈妈和小女孩在动物园看熊猫”,但总是报错,却又解决不了。求解

```using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string[][] data = new string[25][];

        data[0] = new string[] { "妈妈", "麻麻", "老妈", "老麻", "母亲", "娘", "老娘", "阿姨", "女士", "女人", "姐姐", "婶婶", "女朋友", "老婆", "女性", "她" };

        data[1] = new string[] { "书房", "房间", "工作室", "家里", "工作间" };

        data[3] = new string[] { "工作", "学习", "看书" };

        data[4] = new string[] { "电话", "手机" };

        data[4] = new string[] { "书架", "书柜", "书橱", "书桌" };

        data[5] = new string[] { "翻阅", "查阅", "阅览", "查找", "查询", "查找", "查", "阅读" };

        data[6] = new string[] { "开灯", "照亮", "光明" };

        data[7] = new string[] { "水族馆", "海底世界", "大海", "水里", "水下", "水中", "海中", "深海" };

        data[8] = new string[] { "鲸", "鲸鱼" };

        data[9] = new string[] { "鲨", "鲨鱼", "大白鲨" };

        data[10] = new string[] { "水母" };

        data[11] = new string[] { "动物园", "动物世界" };

        data[12] = new string[] { "小女孩", "女孩", "女子", "女纸", "女生", "女森", "女儿", "妹妹" };

        data[13] = new string[] { "熊猫", "大熊猫" };

        data[14] = new string[] { "竹", "竹子" };

        data[15] = new string[] { "草", "草原", "草丛" };

        data[16] = new string[] { "马", "马匹", };

        data[17] = new string[] { "鱼", "鱼群" };

        data[18] = new string[] { "珊瑚", "珊瑚海", "珊瑚礁" };

        data[19] = new string[] { "章鱼", "乌贼" };

        data[20] = new string[] { "鼠标" };

        data[21] = new string[] { "台灯", "灯" };

        data[22] = new string[] { "熊" };

        data[23] = new string[] { "虎" };

        data[24] = new string[] { "狮子" };

         string[] resource;
        resource = new string[25];

        resource[0] = "x-010100";
        resource[1] = " x-010200";
        resource[2] = " x-010300";
        resource[3] = " x-010400";
        resource[4] = " x-010500";
        resource[5] = " x-010600";
        resource[6] = " x-010700";
        resource[7] = " x-010800";
        resource[8] = " x-010900";
        resource[9] = " x-020100";
        resource[10] = " x-020200";
        resource[11] = " x-020300";
        resource[12] = " x-020400";
        resource[13] = " x-020500";
        resource[14] = " x-020600";
        resource[15] = " x-020700";
        resource[16] = " x-030100";
        resource[17] = " x-030200";
        resource[18] = " x-030300";
        resource[19] = " x-030400";
        resource[20] = " x-030500";
        resource[21] = " x-030600";
        resource[22] = " x-030700";
        resource[23] = " x-040100";
        resource[24] = " x-040200";





        string information;
        information = Console.ReadLine();        //获取查询的字符串
        string statics;
        for (int i = 0; i < data.Length; i++)
        {
            for (int j = 0; j < data[i].Length; j++)
            {
                Regex reg = new Regex(data[i][j]);
                if (reg.IsMatch(information))
                {

                    statics = resource[i] + " ";
                    Console.WriteLine("你要的代码串为{0}", statics);

                }
            }
        }
        Console.ReadKey();
    }

}

}




2个回答

caozhy
caozhy   Ds   Rxr 2016.03.14 22:41
已采纳

data[1] = new string[] { "书房", "房间", "工作室", "家里", "工作间" };
data[3] = new string[] { "工作", "学习", "看书" };
明显data[2]没有赋值,你循环的时候就null了

qq_21121821
qq_21121821 回复caozhy: thanks
2 年多之前 回复
u012097590
u012097590   2016.03.18 14:56

楼上已解,初学者,凡事需谨慎

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
为数组赋值时提示”未将对象引用设置到对象的实例“
我的情况是这样的,将数据库中的数据提出,动态的赋值到一个数组里面去,但是出现错误“未将对象引用设置到对象的实例”。 首先,我以为错误是因为我数据库返回的值为空,因为出现这个错误,一个原因就是对象为null,但是我却去使用它,所以VS傲娇了,不让我过。 其实,是因为我的数组没有赋初值,就去调用它的函数。此处我调用的是SetValue函数,满心以为它会为我的动态数组赋初值。 数组若未赋初
C# 未将对象引用设置到对象的实例--可能出现的问题总结
未将对象引用设置到对象的实例--可能出现的问题总结
C#未将对象引用设置到对象的实例
原文地址:C#未将对象引用设置到对象的实例作者:andrew 解决办法 出现“未将对象引用设置到对象的实例” 错误,一般是下面的原因: 1、ViewState 对象为Null。 2、DateSet 为空。 3、sql语句或Datebase的原因导致DataReader空。 4、声明字符串变量时未赋空值就应用变量。 5、未用new初始化对象。 6、
C# 未将对象引用设置到对象的实例
C#中报: 未将对象引用设置到对象的实例这个错误一般都是对象为null产生的,下面几个简单的例子: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //string str1 = "";
C# winform界面在线程中使用委托不断刷新界面 异常 使用委托{"未将对象引用设置到对象的实例。"}
解决方法: 在线程不断刷新的控件中添加一下代码             this.SetStyle(ControlStyles.UserPaint, true);             this.SetStyle(ControlStyles.OptimizedDoubleBuffer, true);             this.SetStyle(ControlStyles.AllP
ConfigurationManager:未将对象引用设置到对象的实例
<br />今天搭建ADO.NET三层结构,在App.Config中,如下配置数据库连接字符串 <br /><connectionStrings> <br />          <add name="MySchoolConnectionString" connectionString="Data Source=.;database=MySchool;User ID=sa;Password=123456" providerName="System.Data.SqlClient"/><br /></conne
winform中出现错误“未将对象引用设置到对象的实例”的原因
一般情况下出现“未将对象”
关于DropDownList未将对象引用设置到对象的实例
今天做项目时给DropDownList绑定默认值得时候出现了未将对象引用设置到对象的实例的错误。 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Session["SysUser"] !=
C#未将对象引用设置到对象的事例原因及解决办法
string par1 = "";  if(Request.QueryString["par1"]!=null&&Request.QueryString["par1"]!="")  {    par1=Request.QueryString["par1"].ToString();  }  未将对象引用设置到对象的事例,大致有以下几种情况。 System.NullRefe
c#出错:System.NullReferenceException: 未将对象引用设置到对象的实例
System.NullReferenceException: 未将对象引用设置到对象的实例这个错误在以下代码中经常出现:一、string id = Request.QueryString["XXX"].ToString();二、string session = Session["XXXX"].ToString();三、string viewState = ViewState["XX