protected void GenerateString()
{
if (m_list != null)
{
StringBuilder sb = new StringBuilder();
IEnumerator enumerator = this.m_list.GetEnumerator();
bool first = true;
while (enumerator.MoveNext())
{
if (!first)
sb.Append( m_separators[0] );
else
first = false;
String currentString = (String)enumerator.Current;
if (currentString != null)
{
int indexOfSeparator = currentString.IndexOf( m_separators[0] );
if (indexOfSeparator != -1)
sb.Append( '\"' );
sb.Append( currentString );
if (indexOfSeparator != -1)
sb.Append( '\"' );
}
}
m_expressions = sb.ToString();
}
else
{
m_expressions = null;
}
}
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); }