LoginSignup
8
10

More than 5 years have passed since last update.

C#を使って驚いたこと

Posted at

あるよね

  • ラムダ式完備
  • Linqが便利すぎる
  • Dictionary
  • Action+ラムダ式でスコープを柔軟に変更できるメソッドを作れる

ラムダ式はJavaに慣れすぎててすごく自然に書かれてたのを見てびっくりした ここまで普通に使われていたとは...

Action利用例

 Action<string> addText = (s) =>
            {
                App.Current.Dispatcher.Invoke(new Action(() =>
                {
                    listbox1.Items.Add(s);
                    listbox1.SelectedIndex = listbox1.Items.Count;
                }));
            };

これを呼び出すのはaddText.run(s)でもなくaddText.exec(s)でも無く、addText(s)というJavaではありえない仕様。この仕様のお陰でメソッド内でのみ利用可能などのスコープの柔軟性を作っているのは非常に便利だと思う。
このaddTextメソッド(?)で利用したApp.Current.Dispatcher.Invoke(Action)はWPFフォームのコントロールを別スレッドから呼び出す際に使用するらしい。
JavaとCsでのスレッドの利用法が微妙に違うのは今後慣れるしかなさそう

個人的に残念なのはコードフォーマットのデフォルトのスタイルが気に入らないだけなのでなんとか設定でねじ伏せようと思います。

8
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
10