◆ var や 無名関数 や メソッドチェーン
  C# でも JavaScript みたいなコードで書けるんです

delegate 関連で C# を調べたときに意外と C# って JavaScript ぽく書けるじゃないかと思いました

まず オブジェクト指向で 「.」 でメソッドアクセスできるので PHP よりも JavaScript に近い形でメソッドチェーンできます
また var で変数宣言ができますし 型推論されるので 型を書かなくてすみます
無名関数(ラムダ式)だって () =>{} でかけます

すごく似てますよね
ということで 少しコードを書いてみました

まずは var を使ってみます
var a = "1,2,3,4,5";
var b = a.Split(',');
var c = b.Select(x => int.Parse(x) * int.Parse(x));
var d = c.Aggregate((x, y) => x + y);
Console.Write(d.ToString());
JavaScript などの map Select reduce Aggregate という名前なようです
なんか独特です

では これをメソッドチェーン版にしてみます
Console.Write(
"1,2,3,4,5"
.Split(',')
.Select(x => int.Parse(x) * int.Parse(x))
.Aggregate((x, y) => x + y)
.ToString()
);
すごく JavaScript 感でてますね!

では最後に JavaScript のコードです
console.log(
"1,2,3,4,5"
.split(',')
.map(x => parseInt(x) * parseInt(x))
.reduce((x,y) => x + y)
.toString()
);

すごく そっくりですよー
コレクションメソッドが使えるっていいですね

ただ map などに対応するのは あったんですが forEach の対応するのはないらしいです
map (Select) を使って値を返さなきゃいいか とも思いますが やっぱりあってほしいですよね

全部の要素を 順に出力したい時とか forEach が欲しい時ってあると思うんです
一応 PHP ライクな構文として あるみたいなのでそっち使えってことなんでしょうか?
メソッドチェーンを切らずに繋げられるのが重要なのに


C# のコードを少しでもみたことあると知ってると思いますが JavaScript のように グローバルに直接 ↑のようなコードを書いても動かないです
最初に using 書いて クラス作って Main メソッド書いて とちょっとしたコードを動かすのでもいろいろ書かないとダメなので 注意です
こんなのですね
using System;
using System.Linq;

public class Program
{
public static void Main()
{
// your code goes here
}
}
といっても プログラム中に埋め込むなら 上に書いたとおりのを貼り付けるだけで動きます
ちょっと動き確認したい じゃなくて プログラム中に普通にコード書くなら JavaScript と似た感じでOKってことです