私はC#の新しいキーワードasync
とawait
キーワードを見て、それらの感触をつかもうとしています。
私はMSDNのFileStream.WriteAsync()
例を見ていますが、何かを理解できるかどうかわかりませんでした。
例は次のとおりです。
using System;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.IO;
namespace WpfApplication1
{
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private async void Button_Click(object sender, RoutedEventArgs e)
{
UnicodeEncoding uniencoding = new UnicodeEncoding();
string filename = @"c:\Users\exampleuser\Documents\userinputlog.txt";
byte[] result = uniencoding.GetBytes(UserInput.Text);
using (FileStream SourceStream = File.Open(filename, FileMode.OpenOrCreate))
{
SourceStream.Seek(0, SeekOrigin.End);
await SourceStream.WriteAsync(result, 0, result.Length);
}
}
}
}
私が得られないのは、の配置ですawait
。Task
返されるアイテムはWriteAsync()
、常に構文エラーが発生するため、取得できないようです。したがって、これをコンパイルする唯一の方法はawait
、を呼び出したままにすることです。
しかし、これを行うと、通話が終了するのを待ちませんか?これはそれをあまり非同期にしません...