C#にはVisual StudioというIDEがあるとはいえ、試しにこんなコードを書いてみたいという場合にはプロジェクトを新規作成したりしなければならないなど、手間です。
PaizaでもC#には対応してますが、言語に最適化していないため物足りない。
StackBlitzとかScatieのように、C#専用でOnline上で動かせるエディタないの?
と探したら、見つけたのがこれ。
C# Online Compiler | .NET Fiddleです。
開いて、目を引くのはNuGet Packageでしょう。
いいですね。.NET言語に特化したエディタならではでしょう。
CsvHelperを使って、下記のようなコードを書いてみることにしました。
using System; using System.Net; using CsvHelper; using System.Collections.Generic; using System.Text; using System.IO; public class Program { public static void Main() { string url = "https://raw.githubusercontent.com/chainer/chainer/master/examples/glance/mushrooms.csv"; WebClient client = new WebClient(); string html = client.DownloadString(url); using(var textReader = new StringReader(html)) { using(var reader = new CsvReader(textReader)) { while (reader.Read()) { var dictionary = reader.GetRecord<dynamic>() as IDictionary<string, object>; var stringBuilder = new StringBuilder(); foreach (var pair in dictionary) { stringBuilder.Append(pair.Key + "->" + pair.Value + ","); } Console.WriteLine(stringBuilder.ToString()); } } } } }
というコードです。
書いていて気づいたのですが、.NET Framework v4.5であること。これは変更できないようです。
最新版のCsvHelperがバージョン依存により、動作しませんでした。
その他の機能
機能は豊富ですし、良いのですが、WebClientクラスの名前空間なんて覚えてるわけないので、自動的に補完してくれないのがストレス。
それくらいであれば、Visual Studio使えよ、なのかも。
共通ライブラリは、自動的にサジェストして補完してくれるといいなーとは思いました。