首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

无法向Queue<T>添加数据解决办法

2012-01-15 
无法向QueueT添加数据vs2005 .net2.0如下代码class Test{Queuestring _s new Queuestring()publi

无法向Queue<T>添加数据
vs2005 .net2.0
如下代码

class Test
{
Queue<string> _s = new Queue<string>();
public void Add(string s)
{
_s.Enqueue(s);//无法将s加入队列
}
public new string ToString()
{
if(_s.Count>0)
return _s.Dequeue();
return null;

}

问题就出在ToString()中引用了_s,如果ToString()中不调用_s,或者把ToString()更名的话都已能正常把数据加入队列,奇了怪了。

[解决办法]
为什么要从写tostring呢?
Queue <string> _s = new Queue <string>(); 
public void Add(string s) 

_s.Enqueue(s); //无法将s加入队列 


string value=q.Dequeue();这样就使里面的 内容了?为什么从写?



[解决办法]
我测试,正常的

 public override string ToString()
[解决办法]
ToString 是基类的方法

探讨
我测试,正常的

public override string ToString()

[解决办法]
using System;
using System.Collections.Generic;
class Test
{
Queue <string> _s = new Queue <string>();
public void Add(string s)
{
_s.Enqueue(s); //无法将s加入队列
}
public new string ToString()
{
if(_s.Count>0)
return _s.Dequeue();
return null;

public static void Main()
{
Test t = new Test();
t.Add("this");
Console.WriteLine(t.ToString());
}


运行正常
SDK 2.0
[解决办法]
看到你的类后,自己做了测试,没有任何的问题啊。
[解决办法]
很简单,那个泛型的定义是object.ToString()实现的。。。。
可能。。。
嘿嘿。
[解决办法]
....你的代码我这里没问题
没有你出现的情况..
[解决办法]
探讨
引用:
....你的代码我这里没问题
没有你出现的情况..


太妖了
太妖了
太妖了
太妖了
太妖了
太妖了
乱世必出妖孽啊

[解决办法]
3 楼已经给你正解了。 把 new 关键词换成 override
[解决办法]
你要找到这个类里面定义的Tostring

热点排行