ゆるふわで雑な日記

Microsoft系の技術情報を中心にゆるふわに綴っていく予定です

とっくに言い尽くされているけど、改めて今言いたいこと…

単にIListってどう使うべき? っていう話なんですけどね(言い尽くされている) 今かかわている案件(コードは書いていない)で(共通部分や業務FWに)結構使われているんだけど、 どうも使っている方がIListを理解していない感が… お使いになっている言語はC#(一部VB)ですよと(他の言語のことはあまり知らないので)いうお話

続きを読む

VisualStudioが無料になったので、今さらHello World C#で書いてみた!

いくらか条件はありますが、前からExpressとかありましたが、 これからはPro相当の機能が無料(結構すごい!) そんなこともあり、きっと今までC#書いたことない人が大挙押し寄せるはず(願望込) てことで、Hello World書いてみたよ。

続きを読む

C#er meet VB(こなみかん&駄文な羅列)

愚痴に近い何かになりそうな予感しかしませんが、仕事でよくVBを書く機会に遭遇するので、戸惑いと文句を備忘録的に書いてみる(よくあるやつ)

  1. Dimが通常宣言と型推論を兼ねてて何が何だかわからない。(VB派の方、何が正解ですか?Dim i As Integer = 0 or Dim i = 0 もっとわからないのは Dim h As New Hoge() or Dim h = Hoge())
  2. NameSpaceがPropertiesに隠蔽されてて闇(隠蔽されてるのを書いても無視されて更に闇)
  3. using ImportsがPropertiesに隠蔽されてて…以下略
  4. Iteratorが使えない!と思っていたらVS2012(Framework4.5)からMethodやPropertyだけでなくラムダ式でも使えるようになった…う、うらやましくなんか!!
  5. ラムダ式型推論ができるが、そもそも宣言が冗長
  6. RaiseEventはnullチェックとかしなくていい
  7. そもそもnullがNothing
  8. a Is bで参照の等価判定
  9. 代入も比較も「=」演算子を使うので何が何だか…
  10. 代入は文(式ではない)ので値を返さない
  11. using Importsにstatic class Moduleが指定できる(C#6.0より対応)あ!!VBなら某Linq to BigQueryの冗長さも一足先に解放(VBラムダ式がそもそも冗長)
  12. volatile is どこ? = ない(lock SyncLockで代用する)
  13. 整数型同士の除算の結果が浮動小数点型(double)になる(\演算子で除算するとC#と同じ結果(切捨て))
  14. AnonymousTypeの要素にKeyが指定でき、自動実装される値の等価とGetHushCodeに考慮される(Keyの等価が値の等価で、KeyからHushCodeが生成される)これは少しうらやましい
  15. コンストラクタがSub New()!
  16. コンストラクタチェーンで呼び出す他のコンストラクタの呼び出しタイミングが自由
  17. PropertyにIndexersみたいに添字が指定できる

他はよくわかりませんが…あ! Catch Whenとかもあったな…

まあ、よくわからんのですが、何とかやってますという話。