protected AddSingleExpressionNoDuplicates ( String expression ) : void | ||
expression | String | |
return | void |
protected void AddSingleExpressionNoDuplicates( String expression )
{
int index = 0;
m_expressionsArray = null;
m_expressions = null;
if (this.m_list == null)
this.m_list = new ArrayList();
while (index < this.m_list.Count)
{
if (StringSubsetString( (String)this.m_list[index], expression, m_ignoreCase ))
{
this.m_list.RemoveAt( index );
}
else if (StringSubsetString( expression, (String)this.m_list[index], m_ignoreCase ))
{
return;
}
else
{
index++;
}
}
this.m_list.Add( expression );
}
public StringExpressionSet Intersect(StringExpressionSet ses) { if (this.IsEmpty() || ses == null || ses.IsEmpty()) { return(this.CreateNewEmpty()); } this.CheckList(); ses.CheckList(); StringExpressionSet stringExpressionSet = this.CreateNewEmpty(); for (int i = 0; i < this.m_list.Count; i++) { for (int j = 0; j < ses.m_list.Count; j++) { if (this.StringSubsetString((string)this.m_list[i], (string)ses.m_list[j], this.m_ignoreCase)) { if (stringExpressionSet.m_list == null) { stringExpressionSet.m_list = new ArrayList(); } stringExpressionSet.AddSingleExpressionNoDuplicates((string)this.m_list[i]); } else if (this.StringSubsetString((string)ses.m_list[j], (string)this.m_list[i], this.m_ignoreCase)) { if (stringExpressionSet.m_list == null) { stringExpressionSet.m_list = new ArrayList(); } stringExpressionSet.AddSingleExpressionNoDuplicates((string)ses.m_list[j]); } } } stringExpressionSet.GenerateString(); return(stringExpressionSet); }