[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 2chのread.cgiへ]
Update time : 10/10 23:29 / Filesize : 217 KB / Number-of Response : 788
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

【VB.NET】LINQ友の会【C#, C♯, C#】



1 名前:デフォルトの名無しさん [2008/02/09(土) 23:51:34 ]
VisualStudio2008より追加された便利で強力な機能

  統合言語クエリ (LINQ : Language Integrated Query)

ちょっと使ってみると、意外と難しいし、テクニック的にも奥が深いものです。
関数型言語にしかないような機能ラムダ式(Lambda式)などはオブジェクト指向とは一味違う機能です。
DataBaseの操作にも、Xmlの操作にも、さらにもっと単純な配列なコンテナにさえ機能する
言語共通・高汎用な統合言語クエリを皆で一緒にマターリ勉強しましょう。
質問、便利なマイテクニックの発表、いろいろやっちゃってください。


708 名前:デフォルトの名無しさん mailto:sage [2012/02/24(金) 22:06:01.26 ]
アイドルが同じ名前を使ってるけど、
これって、商標権的にどうなの?
ja.wikipedia.org/wiki/LinQ

709 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 02:33:39.10 ]
LISPとかもいましたし

710 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 02:42:37.61 ]
>>708
これは酷い

711 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 08:30:57.04 ]
>グループ名のLinQは"Love in 九州"からの造語であり、またアイドル活動を通じて様々なものを"リンク"するという意味も込められている。
それならLinKにしろよ。。。

712 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 08:58:56.23 ]
九州の意味でQを使うのは、ローカルSFコンベンションの「Qコン」とか、
わりと古くから歴史がある(あの米澤さんも参加したことがある大会、のはず)。

713 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 13:12:39.82 ]
LINQが考えなしのアイドル?だかに汚された

714 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 14:34:17.58 ]
>>708
専門家ではないが、分野が異なれば(明らかに別物と分かるので)問題ないはず
この場合だと、

LINQの技術書買おうとして間違って写真集買ってしまう

とかありえんだろ

715 名前:デフォルトの名無しさん mailto:sage [2012/02/25(土) 14:45:19.45 ]
最初は良スレだったのにネタが尽きたか

716 名前:デフォルトの名無しさん mailto:sage [2012/02/26(日) 08:35:59.17 ]
昔秋葉原の楽器屋にORACLE Masterの参考書が売ってて
なんでかなと思ったらSOLってソフトの本と間違えてたみたい。

NoSQL系でLINQネイティヴ対応のが出れば流行るかねー
MS以外にポートしないとダメか




717 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 00:20:54.78 ]
【消しゴム】MONOを使ってみるスレ4【じゃない】
toro.2ch.net/test/read.cgi/tech/1329023778/

718 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 19:50:47.06 ]
アイドルはLinQでMSのはLINQだ

719 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 00:59:43.14 ]
theinterviews.jp/linq/3146658
LINQネタにも返してくれてるしそんなに怒るなよw

720 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 01:34:42.96 ]
アイドルも大変だなw

721 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 04:23:02.45 ]
律儀に返してるのかw

722 名前:デフォルトの名無しさん mailto:sage [2012/03/04(日) 10:01:16.95 ]
ステマスレとして終息か

723 名前:デフォルトの名無しさん mailto:sage [2012/06/27(水) 07:12:16.27 ]
特定PCのみ、LINQ to EntitiesのLINQのクエリ構文だと
単純なクエリでもtimeoutするくらい遅いのですが、
なにか分かりますか?ExecuteStoreQueryなら同等でも一瞬なんです。

・遅い
Using context As New Entities
  Dim hoge = (From a In context.hoge Where a.hoge = "xx").ToList()
End Using

・速い
Using context As New Entities
  Dim hoge = context.ExecuteStoreQuery(Of hoge) _
         ("select * from hoge where hoge = 'xx')
End Using

前者だと高い確率で以下が出ます。後者は全く出ません。Entitiesは同じものです。

{"Timeout に達しました。操作が完了する前にタイムアウト期間が過ぎたか、またはサーバーが応答していません。
現在のコマンドで重大なエラーが発生しました。結果は破棄しなければなりません。
サーバーから結果を受信しているときに、トランスポート レベルのエラーが発生しました。 (provider: Session Provider, error: 18 - ピアによって接続が閉じられました)"}

724 名前:デフォルトの名無しさん mailto:sage [2012/06/27(水) 11:03:37.78 ]
サーバー一緒か?
いずれにしてもクエリーフックしてどう違うかみて、そのクエリーを単体でやったらどうなるかとかより切り分けれ

725 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 10:55:47.07 ]
>>724
サーバーも一緒です。接続文字列は変えていません。
ToTraceStringでクエリを抜きだしてみましたが、後者のクエリに全てのフィールドを
指定しているくらいで、他は同等でした。

ただ、SSMSで実行してみると、同様の現象は再現できました。・・のでEFは関係なさそうです・・
実行する度にレスポンスが返るのが遅くなります。
1回目:0秒、2回目:2秒、3回目:8秒、4回目:24秒、5回目:60秒・・というように。。
* だと実行を何度連打しても0秒で返ります。

DBの専用スレで聞いてきた方が良いですよね。。ありがとうございました。

726 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 13:03:56.26 ]
件数がアホみたいに多いとかじゃないの
ToListしてるってことは即時全結果返すってことだから



727 名前:デフォルトの名無しさん mailto:sage [2012/06/28(木) 13:13:47.69 ]
>>725
100件程度です。問題になる件数ではないと思います。First()でも同様でした。

あとsqlserverの専用スレで聞いてきましたのでマルチポストになってしまいますし、
こちらは閉め切ります。ありがとうございました。

728 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 09:49:47.53 ]
なってしまうじゃねえよ死ねカス

729 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 10:11:31.00 ]
聞いてくるって事前に書いたろうが。失せろクズ

730 名前:デフォルトの名無しさん mailto:sage [2012/06/29(金) 19:48:13.25 ]
結局はVMのせいか。なんでCPUって思ったんだろうね。

731 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 14:48:44.96 ]
VBだとFunction(x)とかの記述キチガイじみてるけど
デバッグ中に他の箇所修正できるとこは
使い捨てプログラム作るときはうらやましいな

732 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 14:54:02.15 ]
俺はC#の方がキチガイに見えるw x=>とか象形文字かよソレ。
なんか調べてるとき、vb読みに脳内変換するのがツライです・・

733 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 16:13:40.13 ]
そのうちIDE上でVB/C#のリアルタイム切り替えができる時代が来る

734 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 19:23:41.81 ]
>>732
VBにもラムダ式あるだろ

735 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 20:07:38.46 ]
そうだが、なにを言ってるんだおm

736 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 20:34:12.10 ]
ミッドチルダ式とベルカ式どっちが好き?



737 名前:デフォルトの名無しさん mailto:sage [2012/07/06(金) 21:51:23.02 ]
オギノ式

738 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:30:23.44 ]
LINQは必ず全部探索するのが嫌
木構造のグラフがあるとき条件を満たしたら早期打ち切り、
みたいな処理が書けない

739 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 22:57:56.60 ]
Any() みたいなのは見つかった時点でやめてるんじゃね?

740 名前:デフォルトの名無しさん mailto:sage [2012/07/30(月) 23:57:33.89 ]
うん

741 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:01:26.34 ]
AsParallelってCPUリソース食う以外のデメリットってある?あんまり見ないなと・・

742 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 18:16:29.27 ]
並列化させると結果の順番が保証できない。
オプションで保証できるけどそれだと並列化の効果が落ちる。

743 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 19:02:00.50 ]
ほうほう。なるほど。d

744 名前:デフォルトの名無しさん mailto:sage [2012/08/06(月) 22:38:59.20 ]
結局要件次第なわけだけども…
そこまで強烈に並列性を求められて、かつ、並列化に向いてる処理ってのが、業務とかだとほとんどないはず。

745 名前:デフォルトの名無しさん mailto:sage [2012/08/07(火) 05:22:08.32 ]
異なるURLに対して一斉にHTTPでデータ取ってくる処理とかかな

746 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 00:47:56.74 ]
>>745
そういうのはParallelでやっちゃダメ。

Task.WaitAll もしくは、4.5で入る Task.WhenAll でやらないと効率悪い。



747 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 01:03:58.30 ]
横から補足すると
ParallelはCPU負荷が低いと並列度を上げるために新しいスレッドを立ち上げる。
そのためネットワークIO待ちで使うと数十のスレッドが次々と作られて非効率的。
スレッドの立ち上げは重い処理だし、メモリ使うし、切り替えにもオーバーヘッドかかるしでいい事ないよ。

748 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 10:13:12.64 ]
すべてのクエリ文はobj.Where(〜).Select(〜〜)みたいなメソッドチェーンに置き換え可能なんですか?


749 名前:デフォルトの名無しさん mailto:sage [2012/08/08(水) 16:38:48.52 ]
>>748
そりゃ、仕様書にそう明記されてるからなぁ。
クエリ式はメソッドチェーンへの置き換えで実装しますって。

750 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 16:02:22.16 ]
Zelda対応はいつになりますか?

751 名前:デフォルトの名無しさん mailto:sage [2012/08/09(木) 21:01:37.80 ]
一瞬なにかと…。リンクね。Legend of Zelda なら店頭へ

752 名前:デフォルトの名無しさん [2012/09/14(金) 12:08:02.54 ]
オフィシャルなドキュメントってmsdn.microsoft.com/ja-jp/library/vstudio/bb387098.aspx
なんですか?何か右欄のスペースが凄い見にくい・・・。

753 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 14:09:00.18 ]
<root>
<question>
<qtext>にしむらひろゆき?</qtext>
<correctid>3</correctid>
<choices>
<choice>
<choiceid>1</choiceid>
<ctext>MS</ctext>
</choice>
<choice>
<choiceid>2</choiceid>
<ctext>Apple</ctext>
</choice>
<choice>
<choiceid>3</choiceid>
<ctext>2ch</ctext>
</choice>
</choices>
</question>
</root>

上のようなXMLがあったとして
「にしむらひろゆき?:2ch」という結果を得たい場合、どのようにすれば良いでしょうか?

XDocument xdoc = XDocument.Load(@"c:\sample.xml");
XNamespace ns = "2ch.net";
var q = from n in xdoc.Descendants(ns + "question")
where (string)n.Element(ns + "correctid") == (string)n.Element(ns + "choiceid")
select (string)n.Element(ns + "qtext") + ":" + (string)n.Element(ns + "ctext");

こんな感じでは上手くいきませんでした。

754 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 22:44:52.58 ]
var x = from q in xml.Descendants("question")
        let id = (string)q.Element("correctid")
        let qt = (string)q.Element("qtext")
        from choice in q.Element("choices").Elements("choice")
        where (string)choice.Element("choiceid") == id
        select qt + ":" + (string)choice.Element("ctext");
XNamespaceは略

755 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 22:57:50.31 ]
>>754
ありがとうございます!
「let」句を使うのですね。使い方もちゃんと調べておきます。

756 名前:デフォルトの名無しさん mailto:sage [2012/09/14(金) 23:02:47.39 ]
いやlet句はこの場合楽できるぐらいの意味しかない
from句を重ねて使用するのが肝



757 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 10:41:08.80 ]
LINQ便利だけど、ローカル変数検索なんかで使う場合だと、遅いんだよね。
そろそろCLがコンパイル済みの最終実行状態を出力してくれればいいのに。。

758 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 10:43:41.46 ]
>>723

思いっきりTimeoutって書いてあるじゃねえかwww

759 名前:デフォルトの名無しさん mailto:sage [2012/09/15(土) 21:35:58.16 ]
さっき勉強したんだがLinq気持ちよすぎ精子吹いたwwwだれかC++に移植してくれ

760 名前:デフォルトの名無しさん mailto:sage [2012/09/17(月) 14:19:32.69 ]
c++でも使えるだろ

761 名前:デフォルトの名無しさん mailto:sage [2012/10/09(火) 17:16:21.87 ]
>>759
Ovenとかどうよ
p-stade.sourceforge.net/oven/doc/html/index.html

762 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 04:17:21.52 ]
where区で条件を動的にする方法はありませんか?

763 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 09:53:53.12 ]
>>762
(1)パラメータクエリで解決するケース
(2)さらに、and や or の条件が増えたり減ったりするなら、文字列をつぎはぎ
(3)実はSQL文で結合とかいろいろ熟練すれば解決するケース

のどれなんだろうな

764 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 10:17:54.51 ]
変数と変数の比較なら動的じゃないか。

765 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 18:39:25.06 ]
三項演算子使えばいけそうだな

766 名前:デフォルトの名無しさん mailto:sage [2012/10/20(土) 21:37:04.90 ]
誰もが通るスパゲッティ率最高のSQL組立



767 名前:デフォルトの名無しさん [2013/02/01(金) 13:55:35.49 ]
class Data {
public List<Item> Items = new Items();
}

List<Data> dat = new List<Data>();
// ↑のdatリストから各Itemsプロパティの中身を全て抜出し、
// 1次元配列として得るにはどうしたらいいでしょうか?

768 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 16:52:24.22 ]
>>767
foreachで列挙しつつ、AddRange

クエリ文だけで済ませるのは難しいかもね。

769 名前:デフォルトの名無しさん mailto:sage [2013/02/01(金) 17:14:16.34 ]
>>767
Item[]にしたいということなら
dat.SelectMany(x => x.Items).ToArray();

770 名前:デフォルトの名無しさん [2013/03/30(土) 19:52:58.27 ]
IEnumerableとかIQueryableとかって会話で使うとき
なんて発音してる?

遅延実行のナイスな活用例って
無限リストとか馬鹿でかいデーターソースしかないのかな
処理時間を確定させたくていつもToListしちゃう

771 名前:デフォルトの名無しさん mailto:sage [2013/03/30(土) 21:04:48.54 ]
アイエヌュムェラボー
アイクェリャボー

772 名前:デフォルトの名無しさん mailto:sage [2013/04/01(月) 15:49:06.61 ]
愛イニュメラブル
愛クエリアブル

773 名前:デフォルトの名無しさん [2013/04/03(水) 23:53:18.12 ]
アイナマーエーブル
イクォータブル

774 名前:デフォルトの名無しさん mailto:sage [2013/04/04(木) 11:04:11.27 ]
INumerable?
Equatable?

775 名前:デフォルトの名無しさん mailto:sage [2013/04/05(金) 01:05:00.06 ]
from x in xvideos where x.tag.Contains(&quot;anal&quot;) select x; /* 夜プログラミング部 */
engawa.2ch.net/test/read.cgi/poverty/1365090013/

776 名前:デフォルトの名無しさん [2013/04/18(木) 11:29:49.06 ]
エロい人おしえてくり。
string[] testdata = {"BT","SS","TB","MCQ","AABC","NT"};
string[] result = testdata.Where(p => p.Length == 2 ).ToArray();
だと
{"BT","SS","TB","NT"}
が帰ってくるのですが、中の順番が乱れることはないって保障されているのでしょうか?
保障されていないのなら元の順番をでSortすることは可能でしょうか?



777 名前:デフォルトの名無しさん mailto:sage [2013/04/18(木) 11:45:38.06 ]
配列のイテレータは順番が保障されている。
Whereはフィルタだけで順番の変更はしない。
並べ替えたいならOrderBy

>...ata.Where(p => p.Length == 2).OrderBy(s => s).ToAr...

778 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 07:29:14.20 ]
課題が解けずに困ってます。教えていただけませんか?
VBはスレ違いでしたらすいません。
スペースが文字化けしてしまうので-で代用しています。
Dim-;Inpdata,OutData-As-String
Dim-;RecordCnt-As-;Integer

Using-sr-As-;New-StreamReader(Text1,Shift_JIS),_
-sw-As-New-StreamWriter(Text2,Shift_JIS)
-Do-While ;Sr.Peek>=0
---RecordCnt=RecordCnt ;+ ;1
---OutData=;InpData
---sw.WriteLine(OutData)
Loop

上記コードについて以下のように処理するようコードを変更もしくは追加しなさい。
(変更or追加するところだけ教えてください)

1.変数InpDataの2桁目から4桁目の値に従い、文字属性の変数Age5に次の値を代入。
(000-004のとき01、005-009のとき02、010-014のとき03、015-019のとき04)
また出力ファイルの各レコードの末尾にAge5の値を付与して出力する。

2.変数InpDataの2桁目から4桁目の値が変数Ageと等しいレコードのレコード数(変数Cnt)をカウントする。
すべてのレコードについて処理が終了したら「該当レコード数/総レコード数」を画面に表示する。

779 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 08:27:19.55 ]
Dim Inpdata, OutData As String
Dim RecordCnt As Integer

Using sr As New StreamReader(Text1, Shift_JIS), sw As New StreamWriter(Text2, Shift_JIS)
  Do While sr.Peek >= 0
    RecordCnt = RecordCnt + 1
    OutData = InpData
    sw.WriteLine(OutData)
Loop

780 名前:デフォルトの名無しさん mailto:sage [2013/04/22(月) 08:47:25.25 ]
LINQ関係ないな
あとinpdataが空っぽのままだ

781 名前:デフォルトの名無しさん mailto:sage [2013/05/09(木) 23:35:28.70 ]
外部結合これでいいの?
ideone.com/W9XtxR
書き方が直接的じゃなくて気持ち悪いんだけど

782 名前:デフォルトの名無しさん mailto:sage [2013/08/29(木) 17:17:19.92 ]
linqは結局流行らなかったね

783 名前:デフォルトの名無しさん mailto:sage [2013/08/29(木) 18:16:40.42 ]
>>782

784 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 20:35:45.77 ]
where節とかで何個溜まったらそこまでって出来ないのかな?

785 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 21:03:51.88 ]
ちょっと意味が分からんが
Takeのことか?

786 名前:デフォルトの名無しさん mailto:sage [2013/09/04(水) 21:05:58.53 ]
TakeWhile使え



787 名前:デフォルトの名無しさん mailto:sage [2013/09/05(木) 22:02:37.88 ]
ありがとうござます
そんな関数もあるのですね

enumerableのメンバ関数を勉強してみます






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<217KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef