無差別に技術をついばむ鳥

情報処理技術全般を気まぐれにつつくゆるいブログです

VB.NETを咥えてLINQをつつく1−型推論。そこまで指定しなくてもわかるよね?

今回はLINQをつつくピヨ。 この記事は LINQをつつく2−匿名型。型推論。細かい事言わさないで! の記事と連動しているから詳しい説明はそっちを見てね。
じゃあ早速シンプルなコードご覧あれ!


//明示的型宣言
Dim result as IEnumerable(Of String) result =  _ 
     Enumerable.Select(Of String, String)(oresult, func2);

//型推論
Dim result =  _ 
     Enumerable.Select(Of String, String)(oresult, func2);


先に注意事項を言って置くよ。 記事執筆時点ではローカル変数専用ピヨ。 フィールドの宣言には使えないんだ。 それで、肝心の構文だけどこれは極めて単純。 型名とAsキーワードを省略するだけなんだ。ボクはD言語とかスクリプト言語を連想したよ。別に目新しい機能ではないけど、LINQには絶対に必要な機能ピヨ。だから、基本的にはLINQ以外での使用を避けよう。そうしないと、デバッグに余分な時間がかかるぞ。実務ではコーディングよりデバッグ&テスト時間の方が長いからこれは重要ピヨ。
それに、VB.NETの場合はすごく重要な事があるピヨ。VB.NETには前から<厳密型指定(Option Strict)というものがあるピヨ。VB.NET使いの人達は毎度おなじみだよね? これと、この型推論(Option Infer)を混同しちゃ駄目だよ。 非常に紛らわしいピヨ。Option StrictをOffにしていれば意図しない結果を招きやすいからもうONにしてしまおう。実務ではデバッグ時間の方が長いので、こんな機能を使用するのは止めてしまおう。そうしないと、型推論との連携ですごくわかりにくいバグを生むピヨ。 ボクの忠告は聞いておいた方がいいと思うピヨ。

「本日の教訓」
Option Strict、Option Infer、両方ONにしろっ♪
常にアンテナ張り巡らせ♪
名札が無いとあんた誰♪
あの型(゚.゚*)どの型、その型か(*゚.゚)♪
デバッグ迷宮、ここは何処♪
一時の怠惰よりも未来の怠惰だYOYO♪
それがプログラマの美徳【怠惰】だPYO♪
※インドリは音痴です
別窓 | VB.NET | コメント:0 | トラックバック:0 | ∧top | under∨
<<中の人の徒然草62 | 無差別に技術をついばむ鳥 | C#を咥えてLINQをつつく1−型推論。そこまで指定しなくてもわかるよね?>>

この記事のコメント

∧top | under∨

コメントの投稿

 

管理者だけに閲覧
 

この記事のトラックバック

∧top | under∨
| 無差別に技術をついばむ鳥 |