C# new 出来对象有时为空 public class QueueCmd{ public QueueCmd() { }}QueueCmd qcmd = new QueueCmd();什么情况下 qcmd =null; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 LZ什么意思??new出来的是类的一个实例,这个空是什么意思??new后就为它分配了空间》。。学习中 QueueCmd qcmd = null;//直接赋值null QueueCmd qcmd = new QueueCmd();qcmd 是局部变量 也没付过值创建以后加入到一个全局的队列中 取出来时有时候为null public class QueueCmd { /// <summary> /// 命令队列 /// </summary> public QueueCmd() { } public QueueCmd(Client cl ,string Message) { this.Client = cl; this.CommandMessage = Message; } public QueueCmd(string Message) { this.Client = new Client(null); this.CommandMessage = Message; } public QueueCmd(string[] array) { this.Client = new Client(null); this.CommandMessage = Utility.Append(array); } public QueueCmd(Client cl, string [] array) { this.Client = cl; this.CommandMessage = Utility.Append(array); } private Client _Client; public Client Client { get { return _Client; } set { _Client = value; } } private string _CommandMessage; public string CommandMessage { get { return _CommandMessage; } set { _CommandMessage = value; } } }、、、、、、、、取值 QueueCmd queueCmd = (QueueCmd)SessionHashtable.SendCmdQueue.Dequeue();加值 SessionHashtable.SendCmdQueue.Enqueue(new QueueCmd(clientSend, message)); public class QueueCmd { /// <summary> /// 命令队列 /// </summary> public QueueCmd() { } public QueueCmd(Client cl ,string Message) { this.Client = cl; this.CommandMessage = Message; } public QueueCmd(string Message) { this.Client = new Client(null); this.CommandMessage = Message; } public QueueCmd(string[] array) { this.Client = new Client(null); this.CommandMessage = Utility.Append(array); } public QueueCmd(Client cl, string [] array) { this.Client = cl; this.CommandMessage = Utility.Append(array); } private Client _Client; public Client Client { get { return _Client; } set { _Client = value; } } private string _CommandMessage; public string CommandMessage { get { return _CommandMessage; } set { _CommandMessage = value; } } }、、、、、、、、取值 QueueCmd queueCmd = (QueueCmd)SessionHashtable.SendCmdQueue.Dequeue();加值 SessionHashtable.SendCmdQueue.Enqueue(new QueueCmd(clientSend, message)); 影响效率 while 里面 关键是null 怎么进去的 与多线程访问SessionHashtable有关系吗? 你没有添加进去那取值的时候就是null呀 有添加进去SessionHashtable.SendCmdQueue 队列为空 就不去值啦 已经判断了 小少没有添加进去SessionHashtable.SendCmdQueue 队列为空 就不去值啦 已经判断了 很简单,asp.net应用程序经常重启的。放到繁忙的服务器上,比你在本机测试时,这个情况出现的几率会大上万倍。许多人不重视这个,甚至不知道asp.net应用程序会在客户端浏览器访问访问的瞬间自动重启的。 CS 结构的 C# 的 能在说具体一点 QueueCmd qcmd = new QueueCmd();qcmd=null;这样是不是您要的呢? 取值 QueueCmd queueCmd = (QueueCmd)SessionHashtable.SendCmdQueue.Dequeue();很简单,调试一下,看看你这个全局队列里都是些什么?都是QueueCmd吗?在你强制转换之前。能保证类型安全吗? 只有一个地方 对其添加值SessionHashtable.SendCmdQueue.Enqueue(new QueueCmd(clientSend, message));类型能不安全码 做过药店管理系统的朋友给一个源程序,行吗?高分等待! 网上投稿功能怎么实现 sos,非常急,在线等待__doPostBack提示缺少对象 急,把学生名单分栏打印,不知如何设计该报表 Visual Studio2005版本问题。~ 有了解过NopCommerce开源的,给小弟讲下体系结构,多谢了! 高手快来--为什么编译之后,很多功能缺少了呢,但是设置端点调试,功能又能用了? .net前后台 有关动态数组的问题! 关于 计时器的问题 ,大家给我看一下好吗? Excel2007插入单元格问题 ComponentArt的TreeView的树控件如何调用js
学习中
//直接赋值null
qcmd 是局部变量 也没付过值
创建以后加入到一个全局的队列中 取出来时有时候为null
public class QueueCmd
{
/// <summary>
/// 命令队列
/// </summary>
public QueueCmd() {
}
public QueueCmd(Client cl ,string Message)
{
this.Client = cl;
this.CommandMessage = Message;
}
public QueueCmd(string Message)
{
this.Client = new Client(null);
this.CommandMessage = Message;
}
public QueueCmd(string[] array)
{
this.Client = new Client(null);
this.CommandMessage = Utility.Append(array);
}
public QueueCmd(Client cl, string [] array)
{
this.Client = cl;
this.CommandMessage = Utility.Append(array);
}
private Client _Client; public Client Client
{
get { return _Client; }
set { _Client = value; }
}
private string _CommandMessage; public string CommandMessage
{
get { return _CommandMessage; }
set { _CommandMessage = value; }
}
}、、、、、、、、
取值 QueueCmd queueCmd = (QueueCmd)SessionHashtable.SendCmdQueue.Dequeue();
加值 SessionHashtable.SendCmdQueue.Enqueue(new QueueCmd(clientSend, message));
{
/// <summary>
/// 命令队列
/// </summary>
public QueueCmd() {
}
public QueueCmd(Client cl ,string Message)
{
this.Client = cl;
this.CommandMessage = Message;
}
public QueueCmd(string Message)
{
this.Client = new Client(null);
this.CommandMessage = Message;
}
public QueueCmd(string[] array)
{
this.Client = new Client(null);
this.CommandMessage = Utility.Append(array);
}
public QueueCmd(Client cl, string [] array)
{
this.Client = cl;
this.CommandMessage = Utility.Append(array);
}
private Client _Client; public Client Client
{
get { return _Client; }
set { _Client = value; }
}
private string _CommandMessage; public string CommandMessage
{
get { return _CommandMessage; }
set { _CommandMessage = value; }
}
}、、、、、、、、
取值 QueueCmd queueCmd = (QueueCmd)SessionHashtable.SendCmdQueue.Dequeue();
加值 SessionHashtable.SendCmdQueue.Enqueue(new QueueCmd(clientSend, message));
关键是null 怎么进去的
你没有添加进去那取值的时候就是null呀
有添加进去
SessionHashtable.SendCmdQueue 队列为空 就不去值啦 已经判断了
SessionHashtable.SendCmdQueue 队列为空 就不去值啦 已经判断了