Требование: У меня есть приложение для Windows, написанное на C #, которое в настоящее время будет искать только файл .CSV по значению 1 Corp (например: Поиск по Corp: 160), и я хочу, чтобы он искал несколько значений Corpразделенные запятыми (например: Поиск по Corp: 160, 220, 310, 550, 610).
Проблема: Как найти несколько значений corp, разделенных запятыми ??(напр .: Поиск по Corp: 160, 220, 310, 550, 610).Строка должна быть разделена по значению запятой, а значение каждой строки должно быть установлено равным x + 1 # переменных (например: Corp1, Corp2, Corp3), когда есть x # запятых (например, Corp1, Corp2, Corp3имеет 2 запятых, поэтому необходимо определить 3 переменные), а затем выполнить цикл поиска x + 1 раз для каждого из значений corp
Вот соответствующий код в MainForm.cs коде, гдеопределено значение corp:
private SearchCriteria GetSearchCriteria()
{
// Initialize Search Parameters object
SearchCriteria sc = new SearchCriteria(textBoxCorp.Text,
textBoxOrderNumber.Text,
textBoxCampaign.Text,
textBoxCity.Text,
comboBoxState.Text,
textBoxZip.Text,
folderBrowserDialog1.SelectedPath,
folderBrowserDialog2.SelectedPath,
radioButtonAny.Checked,
radioButtonAll.Checked);
return sc;
}
private void textBoxCorp_TextChanged(object sender, EventArgs e) { }
Вот соответствующий код в SearchProcess.cs , куда вводится и проверяется значение corp, чтобы проверить, соответствует ли оно поиску:
// Function runs in worker thread and emulates long process.
public void Run()
{
m_sc = (SearchCriteria)m_form.Invoke(m_form.m_DelegateGetSearchCriteria);
// Display parameters
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on Corp: " + m_sc.get_Corp() });
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on OrderNumber: " + m_sc.get_OrderNumber() });
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on Campaign: " + m_sc.get_Campaign() });
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on City: " + m_sc.get_City() });
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on State: " + m_sc.get_State() });
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on Zip: " + m_sc.get_Zip() });
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on Source Path: " + m_sc.get_SourcePath() });
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search on Target Path: " + m_sc.get_TargetPath() });
if (m_sc.get_SearchAND()==true)
{
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search for All" });
}
else
{
m_form.Invoke(m_form.m_DelegateAddString, new Object[] { "Search for Any" });
}
// Found should be true if ANY of the criteria are met.
// This is an OR logic gate
// If any of the given fields do match then it is a true
if (m_sc.get_SearchOR().Equals(true))
{
// Check for the Corp type match
if (m_sc.get_Corp() != "" && String.Compare(AgentID, m_sc.get_Corp()) == 0)
{
found = true;
}
}
// Copy the file if ANY of the search criteria have been met
if (found)
{
m_form.Invoke(m_form.m_DelegateAddString, new Object[] {"FOUND: Order_No: " + Order_No +
" barcode: " + barcode +
" MailerCode: " + MailerCode +
" AgentID: " + AgentID +
" City: " + City +
" State: " + State +
" ZIP: " + ZIP});
//passes values to TransferFile
TransferFile(directory, barcode, AgentID, ZIP);
}
} // end for that finds each matching record
Любая помощь будет принята с благодарностью!Спасибо!!!