1 名前:デフォルトの名無しさん [2008/02/09(土) 23:51:34 ] VisualStudio2008より追加された便利で強力な機能 統合言語クエリ (LINQ : Language Integrated Query) ちょっと使ってみると、意外と難しいし、テクニック的にも奥が深いものです。 関数型言語にしかないような機能ラムダ式(Lambda式)などはオブジェクト指向とは一味違う機能です。 DataBaseの操作にも、Xmlの操作にも、さらにもっと単純な配列なコンテナにさえ機能する 言語共通・高汎用な統合言語クエリを皆で一緒にマターリ勉強しましょう。 質問、便利なマイテクニックの発表、いろいろやっちゃってください。
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("anal") 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のメンバ関数を勉強してみます