读书人

无法向Queuelt;Tgt;添加数据解决办法

发布时间: 2012-01-15 22:57:48 作者: rapoo

无法向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

读书人网 >C#

热点推荐