前提・実現したいこと
テキストデータを読み込んでコンソール画面に表示するだけのコードですが、
非同期処理を勉強中で、以下に書いてみました。
コンソール画面に何も表示されなく、データを読み込めていないのか、
それとも非同期処理の記述がまちがっているのか、わかりません。
そもそも非同期処理の書き方が出来ているか疑問ですが…
c#勉強中の初心者ですが、教えて頂けたらと思います。
よろしくお願いいたします。
発生している問題・エラーメッセージ
コンソール画面に読み込んだデータが表示されない
該当のソースコード
c#
1using System.Threading.Tasks; 2using System.IO; 3using System.Text; 4using System; 5using System.Linq; 6using System.Collections.Generic; 7 8public class CSV 9{ 10 public static Task<string[]> Data() 11 { 12 var Task = new Task<string[]>(() => 13 { 14 List<string> list = new List<string>(); 15 16 StreamReader Sr = new StreamReader(Path, Encoding.UTF8); 17 18 while(Sr.ReadLine() != null) 19 { 20 string[] line = Sr.ReadLine().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).ToArray(); 21 foreach (string s in line.Take(0)) 22 { 23 list.Add(s); 24 } 25 } 26 return list.ToArray(); 27 }); 28 Task.Start(); 29 return Task; 30 } 31 public static async void Print() 32 { 33 string[] x = await Data(); 34 Console.Write("{0}",x[0]); 35 } 36 public static void Main() 37 { 38 Print(); 39 } 40}
試したこと
補足情報(FW/ツールのバージョンなど)
Visual Studio Community 2017
.Net FrameWork 4.6.1
これ、コンパイル通りませんねー。ツッコミどころはいくつもあるけど
回答3件
あなたの回答
tips
プレビュー