◆ JavaScript のコードを C# でも動くようにした
◆ すべてのコードが動くってことではありません 

これの続き
http://var.blog.jp/archives/47330525.html

ここにコードがあります
var csv = "1,2,3,4,5\n2,3,4,5,6\n3,4,5,6,7";
var val = csv.split("\n").map(e => {
    return e.split(",").reduce((a, b) => a + parseInt(b), 0);
}).join(",");

csv
1,2,3,4,5
2,3,4,5,6
3,4,5,6,7
があって 各行の合計値を1行の csv にしたのを出力するものです

JavaScript っぽいコードですよね
JavaScript で実行してみます


val の値は
15,20,25

となりました





では 次に C# で実行してみましょう
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace test
{
    static class Program
    {
        static public string join<T>(this IEnumerable<T> strs, string separator)
        {
            return String.Join(separator, strs);
        }

        static public List<string> split(this string str, string separator)
        {
            return str.Split(new string[] { separator }, StringSplitOptions.None).ToList();
        }

        static public IEnumerable<TR> map<T, TR>(this IEnumerable<T> list, Func<T, TR> fn)
        {
            return list.Select(fn);
        }

        static public TR reduce<T, TR>(this IEnumerable<T> list, Func<TR, T, TR> fn, TR acc)
        {
            return list.Aggregate(acc, fn);
        }

        static public int parseInt(string str)
        {
            return int.Parse(str);
        }

        static public void Main()
        {
            var csv = "1,2,3,4,5\n2,3,4,5,6\n3,4,5,6,7";
            var val = csv.split("\n").map(e => {
                return e.split(",").reduce((a, b) => a + parseInt(b), 0);
            }).join(",");

            Console.WriteLine(val);
        }
    }
}
15,20,25

JavaScript と同じメソッドを使えるように色々定義していますが Main 関数のところは同じコードです

この調子でメソッドを色々追加すればほぼ JavaScript 風に実行できるような気がします