
C#中“未将对象引用设置到对象的实例”什么意思?
usingSystem;usingSystem.Collections.Generic;usingSystem.Text;namespaceSimpleStudentSc...
using System;
using System.Collections.Generic;
using System.Text;
namespace SimpleStudentScore
{
class Program
{
struct A
{
public int i;
public string[] str;
}
static void Main(string[] args)
{
A[] s = new A[3];
s[0].str[0] = "a";
Console.WriteLine(s[0].str);
}
}
}
------------------------------------------------------
编译器没有报错,但在调试的时候出现
"未将对象引用设置到对象的实例"
如何修改? 展开
using System.Collections.Generic;
using System.Text;
namespace SimpleStudentScore
{
class Program
{
struct A
{
public int i;
public string[] str;
}
static void Main(string[] args)
{
A[] s = new A[3];
s[0].str[0] = "a";
Console.WriteLine(s[0].str);
}
}
}
------------------------------------------------------
编译器没有报错,但在调试的时候出现
"未将对象引用设置到对象的实例"
如何修改? 展开
4个回答
展开全部
空引用,A中的str这个数组没有初始化,所以s[0].str为null所以[0]就会抛异常,在
public string[] str=new string[10];需要初始化,具体语法查查
public string[] str=new string[10];需要初始化,具体语法查查
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你没有实例化某个对象,导致对象在编译出现这个问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
class Program
{
public struct A
{
public int i;
public string[] str;
public A(int i, string[] str)
{
this.i = i;
this.str = str;
}
}
static void Main(string[] args)
{
string[] aa=new string[1];
A s=new A(3,aa);
s.str[0] = "a";
Console.WriteLine(s.str[0]);
Console.Read();
}
}
{
public struct A
{
public int i;
public string[] str;
public A(int i, string[] str)
{
this.i = i;
this.str = str;
}
}
static void Main(string[] args)
{
string[] aa=new string[1];
A s=new A(3,aa);
s.str[0] = "a";
Console.WriteLine(s.str[0]);
Console.Read();
}
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
s[0]未初始化
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询