Bitte seien Sie freundlich zu mir, wie ich weiß, dass dieses Thema wiederholt aufgeworfen wurde. Ich kann mich einfach nicht darum kümmern. Ich habe einen wirklich einfachen Job: gehe durch eine Liste von Dateien und bearbeite jede einzelne. Warten Sie, bis alle fertig sind, und führen Sie dann eine Finalize-Routine aus. Ich erhalte eine Warnung, in der ich gefragt werde, ob ich einen Anrufer für den Anrufer hinzufügen soll. Mache ich das richtig? Hier ist mein Code:Simple C# Async Warten - Prozessliste asynchron
async void btnProcess_Click(object sender, EventArgs e)
{
await processFiles();
Finalize();
}
async Task<int> processFiles()
{
int i = 0;
foreach (string fileName in listBox1.Items)
{
process(fileName);
i++;
}
return (i);
}
async Task void process(string fileName)
{ //
// read a CSV file into an SQL database
}
private void btnSelectFiles_Click(object sender, EventArgs e)
{ // get the files into the list box
string procesingDirectory = "C:\temp";
FolderBrowserDialog FBD = new FolderBrowserDialog();
FBD.SelectedPath = procesingDirectory;
FBD.Description = "Select Files";
FBD.ShowNewFolderButton = false;
listBox1.Items.Clear();
if (FBD.ShowDialog() == DialogResult.OK)
{
string[] files = Directory.GetFiles(FBD.SelectedPath);
Array.Sort(files);
foreach (string file in files)
{
if (file.IndexOf(".txt") > 0)
{
listBox1.Items.Add(file);
}
if (file.IndexOf(finder) > 0)
{
found = true;
}
}
}
}
Was ist mit dem Downvote und keinen Kommentar? Ich habe Stunden damit verbracht, darüber zu lesen und verschiedene Dinge auszuprobieren, und ich bin immer noch festgefahren. Ist das nicht SO für Hilfe? – Missy