【VB.NET】LINQ友の会【C#, C♯, C#】at TECH
【VB.NET】LINQ友の会【C#, C♯, C#】 - 暇つぶし2ch708:デフォルトの名無しさん
12/02/24 22:06:01.26
アイドルが同じ名前を使ってるけど、
これって、商標権的にどうなの?
URLリンク(ja.wikipedia.org)

709:デフォルトの名無しさん
12/02/25 02:33:39.10
LISPとかもいましたし

710:デフォルトの名無しさん
12/02/25 02:42:37.61
>>708
これは酷い

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

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

713:デフォルトの名無しさん
12/02/25 13:12:39.82
LINQが考えなしのアイドル?だかに汚された

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

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

とかありえんだろ

715:デフォルトの名無しさん
12/02/25 14:45:19.45
最初は良スレだったのにネタが尽きたか

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

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


717:デフォルトの名無しさん
12/02/29 00:20:54.78
【消しゴム】MONOを使ってみるスレ4【じゃない】
スレリンク(tech板)

718:デフォルトの名無しさん
12/02/29 19:50:47.06
アイドルはLinQでMSのはLINQだ

719:デフォルトの名無しさん
12/03/04 00:59:43.14
URLリンク(theinterviews.jp)
LINQネタにも返してくれてるしそんなに怒るなよw

720:デフォルトの名無しさん
12/03/04 01:34:42.96
アイドルも大変だなw

721:デフォルトの名無しさん
12/03/04 04:23:02.45
律儀に返してるのかw

722:デフォルトの名無しさん
12/03/04 10:01:16.95
ステマスレとして終息か

723:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/06/27 11:03:37.78
サーバー一緒か?
いずれにしてもクエリーフックしてどう違うかみて、そのクエリーを単体でやったらどうなるかとかより切り分けれ

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

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

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

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

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

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

728:デフォルトの名無しさん
12/06/29 09:49:47.53
なってしまうじゃねえよ死ねカス

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

730:デフォルトの名無しさん
12/06/29 19:48:13.25
結局はVMのせいか。なんでCPUって思ったんだろうね。

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

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

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

734:デフォルトの名無しさん
12/07/06 19:23:41.81
>>732
VBにもラムダ式あるだろ

735:デフォルトの名無しさん
12/07/06 20:07:38.46
そうだが、なにを言ってるんだおm

736:デフォルトの名無しさん
12/07/06 20:34:12.10
ミッドチルダ式とベルカ式どっちが好き?

737:デフォルトの名無しさん
12/07/06 21:51:23.02
オギノ式

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

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

740:デフォルトの名無しさん
12/07/30 23:57:33.89
うん

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

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

743:デフォルトの名無しさん
12/08/06 19:02:00.50
ほうほう。なるほど。㌧

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

745:デフォルトの名無しさん
12/08/07 05:22:08.32
異なるURLに対して一斉にHTTPでデータ取ってくる処理とかかな

746:デフォルトの名無しさん
12/08/08 00:47:56.74
>>745
そういうのはParallelでやっちゃダメ。

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

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

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


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

750:デフォルトの名無しさん
12/08/09 16:02:22.16
Zelda対応はいつになりますか?

751:デフォルトの名無しさん
12/08/09 21:01:37.80
一瞬なにかと…。リンクね。Legend of Zelda なら店頭へ

752:デフォルトの名無しさん
12/09/14 12:08:02.54
オフィシャルなドキュメントってURLリンク(msdn.microsoft.com)
なんですか?何か右欄のスペースが凄い見にくい・・・。

753:デフォルトの名無しさん
12/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 = "URLリンク(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:デフォルトの名無しさん
12/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:デフォルトの名無しさん
12/09/14 22:57:50.31
>>754
ありがとうございます!
「let」句を使うのですね。使い方もちゃんと調べておきます。

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

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

758:デフォルトの名無しさん
12/09/15 10:43:41.46
>>723

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

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

760:デフォルトの名無しさん
12/09/17 14:19:32.69
c++でも使えるだろ

761:デフォルトの名無しさん
12/10/09 17:16:21.87
>>759
Ovenとかどうよ
URLリンク(p-stade.sourceforge.net)

762:デフォルトの名無しさん
12/10/20 04:17:21.52
where区で条件を動的にする方法はありませんか?

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

のどれなんだろうな

764:デフォルトの名無しさん
12/10/20 10:17:54.51
変数と変数の比較なら動的じゃないか。

765:デフォルトの名無しさん
12/10/20 18:39:25.06
三項演算子使えばいけそうだな

766:デフォルトの名無しさん
12/10/20 21:37:04.90
誰もが通るスパゲッティ率最高のSQL組立

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

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

768:デフォルトの名無しさん
13/02/01 16:52:24.22
>>767
foreachで列挙しつつ、AddRange

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

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

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

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

771:デフォルトの名無しさん
13/03/30 21:04:48.54
アイエヌュムェラボー
アイクェリャボー

772:デフォルトの名無しさん
13/04/01 15:49:06.61
愛イニュメラブル
愛クエリアブル

773:デフォルトの名無しさん
13/04/03 23:53:18.12
アイナマーエーブル
イクォータブル

774:デフォルトの名無しさん
13/04/04 11:04:11.27
INumerable?
Equatable?

775:デフォルトの名無しさん
13/04/05 01:05:00.06
from x in xvideos where x.tag.Contains(&quot;anal&quot;) select x; /* 夜プログラミング部 */
スレリンク(poverty板)

776:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/18 11:45:38.06
配列のイテレータは順番が保障されている。
Whereはフィルタだけで順番の変更はしない。
並べ替えたいならOrderBy

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

778:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/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:デフォルトの名無しさん
13/04/22 08:47:25.25
LINQ関係ないな
あとinpdataが空っぽのままだ

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

782:デフォルトの名無しさん
13/08/29 17:17:19.92
linqは結局流行らなかったね

783:デフォルトの名無しさん
13/08/29 18:16:40.42
>>782

784:デフォルトの名無しさん
13/09/04 20:35:45.77
where節とかで何個溜まったらそこまでって出来ないのかな?

785:デフォルトの名無しさん
13/09/04 21:03:51.88
ちょっと意味が分からんが
Takeのことか?

786:デフォルトの名無しさん
13/09/04 21:05:58.53
TakeWhile使え

787:デフォルトの名無しさん
13/09/05 22:02:37.88
ありがとうござます
そんな関数もあるのですね

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


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch