未将对象引用设置到对象实例

liulangdeyuyu 2010-11-12 02:41:18
class LockObject
{
public string lockname="";
public object lockobject=new object();
}


LockObject[] lockobjects;
public LockHelp(DataTable dt)
{
for (int i = 0; i < dt.Rows.Count; i++)
{
lockobjects[i].lockname = dt.Rows[i]["id"].ToString();
}
}

执行到红色部分时抛错

...全文
141 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
liulangdeyuyu 2010-11-12
  • 打赏
  • 举报
回复
解决了,谢谢!

改为struct就好了!
caomin9989 2010-11-12
  • 打赏
  • 举报
回复
class LockObject
{
public string lockname ;
public object lockobject;
public LockObject()
{
lockname = "";
lockobject = new object();

}
}


public LockHelp(DataTable dt)
{
lockobjects = new LockObject[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
lockobjects[i] = new LockObject();
lockobjects[i].lockname = dt.Rows[i]["id"].ToString();
}
}


sprc_lcl 2010-11-12
  • 打赏
  • 举报
回复
如果还错就是 id这个字段不存在
liulangdeyuyu 2010-11-12
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 sprc_lcl 的回复:]

C# code
public LockHelp(DataTable dt)
{
lockobjects = new LockObject[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
lockobjects[i] = new LockObject();
lockob……
[/Quote]

已经试过了,抛同样的错
caomin9989 2010-11-12
  • 打赏
  • 举报
回复
在同一个单元中不需要加public
改过之后报什么错?
无心雨云 2010-11-12
  • 打赏
  • 举报
回复

public class LockObject
{
public string lockname="";
public object lockobject=new object();
}
sprc_lcl 2010-11-12
  • 打赏
  • 举报
回复
  public LockHelp(DataTable dt)
{
lockobjects = new LockObject[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
lockobjects[i] = new LockObject();
lockobjects[i].lockname = dt.Rows[i]["id"].ToString();
}
}
liulangdeyuyu 2010-11-12
  • 打赏
  • 举报
回复
lockobjects 数组怎么初始化?
gaomeng320 2010-11-12
  • 打赏
  • 举报
回复
或者数据库id为大写?
无心雨云 2010-11-12
  • 打赏
  • 举报
回复
public class LockObject
porschev 2010-11-12
  • 打赏
  • 举报
回复
那我在多补点吧。。

一般为出现这种问题

1.XX对象为Null。。。比如viewstate datareader session等等
2.变量未赋值就使用
3.没用初始化对象就使用
4。对控件赋变量值,值又不存在
5、FindControl时找控件时
等等。。。一下只能想这么多了
flyerwing 2010-11-12
  • 打赏
  • 举报
回复
lockobjects 的初始化代码在哪?
liulangdeyuyu 2010-11-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 ronaldinyan 的回复:]

空异常,dt.Rows[i]["id"]这个为空,toString()必然会报错嘛。
[/Quote]

检查过dt了,dt没错
liulangdeyuyu 2010-11-12
  • 打赏
  • 举报
回复
LockObject[] lockobjects;
public LockHelp(DataTable dt)
{
lockobjects = new LockObject[dt.Rows.Count];
for (int i = 0; i < dt.Rows.Count; i++)
{
lockobjects[i].Lockname = dt.Rows[i]["id"].ToString();
}
}

改后仍然抛错
RonaldinYan 2010-11-12
  • 打赏
  • 举报
回复
空异常,dt.Rows[i]["id"]这个为空,toString()必然会报错嘛。
porschev 2010-11-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 phil999 的回复:]
lockobjects 的初始化代码在哪?
[/Quote]


让我情何以堪
porschev 2010-11-12
  • 打赏
  • 举报
回复
lockobjects对象在哪里初始化的?
phil999 2010-11-12
  • 打赏
  • 举报
回复
lockobjects 的初始化代码在哪?



110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧