###前提・実現したいこと
CSVファイルを読み込んで出力するLinqを作成しております。
クエリ構文では記述ができたのですが、
メソッド構文で記述する場合はどのようになるのでしょうか?
###該当のソースコード
var baseDirectory = new DirectoryInfo(@"C:"); IEnumerable<string> results = from path in baseDirectory.Flatten( directory => directory.GetDirectories(), directory => directory.GetFiles("*.csv")) from fields in CSVFiled.Context(path.FullName, ",", Encoding.GetEncoding(932)) select string.Format("〒{0} {1}{2}{3}", fields[2], fields[6], fields[7], fields[8]); //Flatten //public static IEnumerable<U> Flatten<T, U>(this T node, Func<T, IEnumerable<T>> predictBySubNode, Func<T, IEnumerable<U>> predictByNode) //ファイルのパスを返すイテレーター //CSVFiled.Context //public static IEnumerable<string[]> Context(string path, string separator = ",", Encoding encoding = null) //CSVファイルを読み込んでカンマ区切りの配列を返すイテレーター
###試したこと
下記で実行した場合、1行よくわからない文字列が出力されただけでした。 var results2 = baseDirectory.Flatten( directory => directory.GetDirectories(), directory => directory.GetFiles("*.csv")) .Select(path => CSVFiled.Context(path.FullName, ",", Encoding.GetEncoding(932))) .Select(fields => fields.Select(field => string.Format("〒{0} {1}{2}{3}", field[2], field[6], field[7], field[8])));
###補足情報(言語/FW/ツール等のバージョンなど)
C# 7.0
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/03 21:51