質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

Q&A

解決済

2回答

2044閲覧

LINQ 記述の仕方

ranran

総合スコア85

VB

VB(ビジュアルベーシック)はマイクロソフトによってつくられたオブジェクト指向プログラミング言語のひとつで、同社のQuickBASICが拡張されたものです。VB6の進化版といわれています。

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

.NET Framework

.NET Framework は、Microsoft Windowsのオペレーティングシステムのために開発されたソフトウェア開発環境/実行環境です。多くのプログラミング言語をサポートしています。

0グッド

0クリップ

投稿2015/03/08 09:24

編集2015/03/09 05:20

お世話になります。

ふと思ったのですがLINQを使う祭、メソッドの形式で扱うのとクエリの形式で扱うのどちらがいいのでしょうか?

例、

Dim tmpNumData As Integer() = New Integer() {3, 5, 6, 8, 10, 13}

Dim tmpOne = tmpNumData.Where(Function(emt As Integer) emt Mod 2 = 1).Select(Function(emt As Integer) emt.ToString & "です!")
Dim tmpTwo = From emt As Integer In tmpNumData Where emt Mod 2 = 1 Select emt.ToString & "です!"

動作的には変わらないと思いますが、こちらのほうがいい!
とご意見ありましたらご教授ください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sho_cs

2015/03/09 04:23

LINQの構文はメソッド構文とクエリ構文です。
ranran

2015/03/09 05:21

指摘ありがとうございます。
guest

回答2

0

ベストアンサー

メソッド構文のほうがパフォーマンスが良くなる場合があったり、機能が豊富です。
ただし、クエリ構文のほうがシンプルに書ける場合(Joinや多重from)が有り、一概にどちらがいいとはいえません。

私は、基本的にはメソッド構文で記述しますが、記述が複雑になりだしたらクエリ構文での記述を検討してみます。

投稿2015/03/09 04:22

sho_cs

総合スコア3541

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ranran

2015/03/09 05:33

確かにクエリ構文の方がシンプルで見やすいですね! 見やすさも重要なのでバランスよく使い分けたいと思います 公式でも確認しましたし、ご指摘いただいたことに不満があるわけではなく 今後恥をかかずに済むこと嬉しく思うのですが ステートメントでも間違っていないのでは? と思ってしまいます。 ステートメントの一部として、クエリ構文の形式があるのではないかなと思ったのですがいかがでしょう? ご気分を害してしまい大変申し訳ないです。
sho_cs

2015/03/09 07:23

ステートメントとはプログラムの処理の単位のことです。 メソッド構文でもクエリ構文でもプログラムを書く上では変わりません。 そもそも「ステートメントの形式」と書いて他の人に正しく伝わるでしょうか? メソッド構文のことを「ステートメント式」と呼ぶ人もいます。(この書き方も正しいとは思いません。) http://vsug.jp/tabid/209/Default.aspx MSDNでの記述の通り「Query Syntax(クエリ構文)」、「Method Syntax(メソッド構文)」を用いるのが確実に伝わる方法だと考えます。
ranran

2015/03/09 08:14

回答ありがとうございます! ステートメントを勘違いしておりました、 Dim,for,Whileそういったキーワードのことだと思っておりました。 そうではなく処理、命令の単位だったのですね。 身の程をわきまえぬ発言お許しください。 大変勉強になりました、ありがとうございました!
guest

0

LINQに限らない一般的な話ですが、バグが枯れている関数やメソッドを使う方がテスト工数は減ります。
ステートメント(構文)の場合は、自前でロジックを組んでいるのでテストが必要となり、バグる確率も高くなります。

投稿2015/03/08 13:29

osmoc-1970

総合スコア124

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ranran

2015/03/08 13:38

なるほど! そのような捕らえ方があるのですね 今はまだコードを記述することでいっぱいいっぱいな状態で意識が回りませんでした 人の手を返したものでありそこには、バグが介在する。 フレームワークとして提供されているものは等しく安全だと思っていました! 回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問