יום שני, 12 ביוני 2023

Search in list

חיפוש מחרוזת תווים בתוך מאגר מילים: - מיושם בתוכנת C# Winform:
List<string> listTemp = new List<string>();
private void textBox1_TextChanged(object sender, EventArgs e)
{
  var tmp = new List<string>();
  
  //restore source list
  if (textBox1.Text.Length == 0 || textBox1.Text.Length > 1)
    richTextBox1.Text = String.Join(" ", listTemp);
  
  if (textBox1.Text.Length > 0)
  {
    //copy from src to out-temp (happens only once)
    if (textBox1.text.Length == 1 && listTemp.Count == 0)
      listTemp = richTextBox1.Text.Split(' ').ToList();
  
    //filter
    foreach (string item in richTextBox1.Text.Split(' ').ToList())
    {
      if (item.Contains((textBox1.text))
        tmp.Add(item);
    }
    richTextBox1.Text = String.Join(" ", tmp);
  }
}

private void richTextBox1_TextChanged(object sender, EventArgs e)
{
  if (richTextBox1.Focused)
    listTemp.Clear();
}