この件名が繰り返し公開されていることを知っているので、私に親切にしてください。私はちょうどそれの周りに私の脳を得ることができません。私は本当に簡単な仕事をしています:ファイルのリストを見て、それぞれを処理します。それらがすべて終了するのを待ってから、Finalizeルーチンを実行します。呼び出しの結果にAwait演算子を追加するよう警告を表示しています。私はこの権利をしていますか?ここに私のコードです:シンプルなC#Async Await - 非同期にプロセスリスト
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;
}
}
}
}
downvoteとコメントは何ですか?私は時間をかけてこれを読んで何かを試して何時間も過ごしましたが、私はまだまだ立ち往生しています。それは助けのためではないですか? – Missy