我非常理解 ConcurentQueue 集合。如果 T 是类或结构,如何在 ConcurrentQueue 中使用 Contains 方法?
我的代码:
namespace lab2Form
{
struct DomainName
{
public string domainName;
public ulong domainNameCounter;
}
class LogStruct
{
public ConcurrentQueue<DomainName> domainNameQueue;
//some code
public LogStruct()
{
domainNameQueue = new ConcurrentQueue<DomainName>() { };
//some code
}
}
class CLogParser
{
LogStruct m_logStruct;
public CLogParser()
{
m_logStruct = new LogStruct();
}
public void ThreadProc(object param)
{
//...
string line;
while ((line = file.ReadLine()) != null)
{
var space_pos = line.IndexOf(' ');
if (space_pos > 0)
{
string[] parameters = line.Split(new Char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
string domainName = parameters[0];
if (m_logStruct.domainNameQueue.Contains<DomainName>(domainName))//I can't understand how to build this code-string correctly
{
}
//...
}
如何正确使用并发队列中的包含方法?