- 1 名前:デフォルトの名無しさん mailto:sage [2016/06/29(水) 23:45:15.36 ID:EZjVZgG6.net]
- ■Visual Studio 2013 Community & Express(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/ ■コードを貼る場合はこちら ideone.com/ ■前スレ C#, C♯, C#相談室 Part88 [転載禁止]©2ch.net peace.2ch.net/test/read.cgi/tech/1437808445/ C#, C♯, C#相談室 Part89 peace.2ch.net/test/read.cgi/tech/1443271409/ C#, C♯, C#相談室 Part90 echo.2ch.net/test/read.cgi/tech/1455160063/ ■次スレは>>970が建てる事。 建てられない場合は他を指定する事。
- 855 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 12:43:39.44 ID:HHZbO6eg.net]
- >>833
> GUIの管理ツールを使えば済む話 それをいちいちインストールするのが面倒だって話
- 856 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 12:47:25.25 ID:HHZbO6eg.net]
- >>836
WinFS か いい考え方だと思うがちょっと構想が壮大すぎたな
- 857 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 13:11:04.23 ID:VXWwcrkC.net]
- ゲイツは過去にXMLは使い物にならないと言った。
WinFS、WPF・・・ゲイツはやはり生粋のプログラマである。
- 858 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 15:21:09.38 ID:iRQG5obN.net]
- WPFでXAMLにGoサインだしておいてよく言う
- 859 名前:デフォルトの名無しさん mailto:sage [2017/01/24(火) 15:39:07.83 ID:VXWwcrkC.net]
- ゲイツはVista以降はタッチしていない。
- 860 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 03:10:02.58 ID:WHRwTArY.net]
- >>847
全部読まないと一部分が取り出せないってのがデータが多くなると致命的だよね
- 861 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 07:15:37.99 ID:fntd/u0o.net]
- そこまででかいならDB使えってことでしょ
- 862 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 11:50:15.36 ID:3NBpStvW.net]
- JAVAやVB6、WPF、LINQが遅くないと暴れてるアホと同じ臭いがする。
機械語NativeとそうでないPGとに根本的な認識の断絶がある。
- 863 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 11:53:43.34 ID:2idQLFdG.net]
- 悪いけど暴れてるのは君の方だと思うw
- 864 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 11:59:10.65 ID:uJriqNlz.net]
- 同感w
- 865 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 12:27:26.41 ID:eMOc+Lms.net]
- もう一票
時代について行けてないお爺ちゃん頑張って
- 866 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 12:38:38.29 ID:obtTERoQ.net]
- そもそもVB6は割りと早かっただろうに
C#に移行するときにモッサリ感でイライラした人も多かったはずだが
- 867 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 14:12:06.66 ID:LppA2Fcl.net]
- C#も実行時は機械語だし、VB6なんて完全に機械語だろ
- 868 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 14:18:51.33 ID:7AoQtGUX.net]
- >>855
+1 >>854 +1 >>853 +1 >>852 -1
- 869 名前:デフォルトの名無しさん [2017/01/25(水) 16:32:03.08 ID:ABI1PFb6.net]
- ラムダガイジ、LINQガイジ、staticおじさん、VBガイジは巣に帰れ
- 870 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 19:30:14.67 ID:/wdbuGDr.net]
- 俺も>>853にもう一票。
ただそれ以前に暴れている奴がいないと思うが。 あとC#はnativeでは無くMSILだろ。そして必要十分な速度は出ていると思うよ。 DBについては、自前でDBモドキを作る位なら最初からDB使えって話だろ。 ただしOSは今のNTFS+検索用インデックス(現行システム)でいいと思うけどね。 大半は階層化で問題ないし、必要あればDBを動作させればいいだけ。 WPFは使ったこと無いが、中途半端なものを作るのではなく、 最初からHTMLにしとけばよかったと思う。
- 871 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 19:33:54.26 ID:G7Mt73tJ.net]
- >>860
C#は実行時はネイティブだよ Javaみたいなインタプリタとのハイブリッドとも違い、ほぼAOTな方式
- 872 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 19:34:38.55 ID:uJriqNlz.net]
- >>857が言ってるのはCPUに命令渡されるときは機械語だってような意味でしょw
- 873 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 20:00:27.57 ID:/wdbuGDr.net]
- >>861
JITと言えよ。話が余計におかしくなるだろ。 とはいえMonoは直接native吐けるようだが。
- 874 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 20:06:49.55 ID:a2fwv9ft.net]
- >>863
.NETは起動時にコンパイルだから、JavaのHotSpotみたいなのが真のJITだとするなら実質的にはAOT寄りでしょ あくまでコンパイルするタイミングの問題でしかないので、ngenや.NET Nativeみたいなのも技術的に難しくない Cのソースを実行前にコンパイルしてるようなもんだ
- 875 名前:デフォルトの名無しさん mailto:sage [2017/01/25(水) 21:03:29.96 ID:/wdbuGDr.net]
- >>864
所詮は言葉の定義だから争う意味はないんだが、 普通は「直接実行出来ない形式」(=MSIL)で配布され、 それを実行時(=CLR)に機械語に変換して実行するのなら、それはJITと言う。 MonoのAOTは見た目EXビットの対策用で、結果的にnativeが入手出来るが、それはJITより効率が悪い。 例えばJavaScript(V8)の場合は実行時にまず手抜きJITを行い、実行する。 そして何度も実行される部分だけ、最適化JITを行う。 最適化JITを最初から全面的に行わないのは、最適化にも時間がかかるから。 つまり、「JITコンパイル時間+実行時間」が最小になるように最適化している。 もちろん最適化JIT済みのnativeを吐くのも簡単なはずだが、必要ないから見たことはない。 Javaは知らんがHotJavaも同じようなコンセプトだったので、多分同じ。 結局、MonoのAOTは「常に最適化JIT」を全面的に行う分だけ効率が悪い。 ただしAOT済みのexeを配布/使用する場合はJIT時間分だけ効率がよくなる。 MonoはLinux等もターゲットにしているのでAOTが必要だが、 動的コードを実行出来る環境(windows)では必要なかった。 ここで.NET Nativeが出てきたところをも見ると、MSもJIT時間が気になっていたということではある。 .NET NativeならAOTと言っていい。 ただの.NET(MSIL)なら、やっぱりJITだよ。それは実行時(ダブルクリック以降)にコンパイルしている。 最初から全面最適化JITするという、頭の悪いJITを積んでいるだけでしかない。 ではC#は?というのはこの意味では質問が悪いが、 今のC#はMSILが主流だと思うが、 所詮大半はwindows/x86(x64)でしかないのでexeでも問題ないし、今後は変わるのかもね。 ちなみに.NET Nativeにしたら、難読化はかなり進むのかな?
- 876 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 02:07:47.45 ID:NrOKhjjD.net]
- >>865
技術が進歩したり、複合技を使うようになったから言及することにあんまり意味はないんだけどね MSILで配布してインストーラでngenをかけるソフトとか、AndroidのArtの事前コンパイルを見ればAOTというのも間違いではない
- 877 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 07:09:13.07 ID:hf6GrTPo.net]
- 今度は完全に論破しないと気がすまない奴が集まりだしたなぁ
- 878 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 09:22:35.13 ID:+HXQGO57.net]
- c#で出来たms製の製品って何がありますか?
- 879 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 09:47:45.25 ID:e+Zq8z+D.net]
- >>868
Visual Studio
- 880 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 10:33:30.90 ID:MZPXqvXg.net]
- >>869
devenv.exe cl.exe ml.exe nmake.exe link.exe こういうの全部ネイティブなんだが、C#で作ってネイティブ化してるのか?w
- 881 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 11:30:14.20 ID:Bx3m0kqD.net]
- >>870
例えばdevenv.exeとかファイルサイズが1MBすら無いけどそれだけでVS動いてんの?
- 882 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 12:08:47.81 ID:sD2fcvWW.net]
- >>871
何馬鹿なこと言ってるんだ? 今俺が起動してるVSだとntdll.dlljから数えて426モジュールロードされてるが、その中にはC#で作られてるのもあるよ VSはVSで作られてるかもしれんが、VSはC#で作られてるとは言わないだろ
- 883 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 12:13:43.88 ID:ecr0NxNG.net]
- 馬鹿はおめーだよ死ねガイジ
- 884 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 12:23:03.13 ID:A9+CgNOi.net]
- どうでもいいですよ
- 885 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 14:11:50.02 ID:+5gKaLQm.net]
- >>872
>その中にはC#で作られてるのもあるよ どのくらいの割合で?
- 886 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 14:51:13.51 ID:sD2fcvWW.net]
- >>875
このスレにいるならVSぐらい入れてるだろ。興味あるなら自分で数えろよ
- 887 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 15:46:52.91 ID:NrOKhjjD.net]
- VSはWPF製
- 888 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 15:54:26.65 ID:mfu+uciH.net]
- ガワがWPFでネイティブツール群を呼び出しているならC#製と言っていいね
- 889 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 16:25:36.23 ID:eYmqMcR3.net]
- VS2010からWPFになって激重。
- 890 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 17:41:07.76 ID:Ofw1Wwb+.net]
- SSD君登場
- 891 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 18:25:52.64 ID:BIlB42US.net]
- "PrismUnityApplication" は名前空間 "using:Prism.Unity.Windows" に存在しません。
とエラー一覧に出るようになって <prism:PrismUnityApplication に波線が付くようになったんだけどどうすれば直りますか? プログラムは何の問題もなく動きます。
- 892 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 18:38:59.08 ID:RbsnIhge.net]
- >>879
逆でしょ 偶にVS2010使うと糞重くてイライラするぐらいなのに
- 893 名前:デフォルトの名無しさん [2017/01/26(木) 20:12:45.99 ID:FrBndq/i.net]
- 質問すみません
今MVCでEntityFrameworkの勉強中なんですけど、DisplayNameの属性で日本語指定すると文字化けするんですが何が原因と思われるでしょうか
- 894 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 20:39:43.56 ID:kmw2XayL.net]
- >>883
えーっと俺も経験あるような
- 895 名前:Cがするんだが思い出せない。
どうにかしたら直ったと思う。 [] - [ここ壊れてます]
- 896 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 20:50:44.48 ID:Ofw1Wwb+.net]
- >>881
気にしない xamlのコンパイラ統合は未だみたいだね
- 897 名前:デフォルトの名無しさん [2017/01/26(木) 21:45:58.05 ID:3P/eAUHh.net]
- >>884
ありがとうございます そうですか。このあいだまでは確か普通に出来てたんですよね。。 プロジェクト変えたりweb.configでencoding書いてみてもダメでどうしたものかと
- 898 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 21:47:05.34 ID:He8RO7U3.net]
- >>866
何で君がAOTということにしたいのかよく分からんが、 俺は誤解の少ない言葉を使えと言っているだけ。 主流派がMSILならJITと言うべき。 主流派が君の言うようにnativeならAOTと言うべき。それだけ。 君がAOTだと言い張るのは自由だが、周りから見たら面倒な奴でしかない。 ただAOTは時間予算が潤沢であるところが本質的に異なる。 > しかし,AOT方式をいざ導入してみると,サイズの大きなアプリのインストールや, > 一度に複数のアプリをアップデートするような場合にコンパイルに時間がかかり, > 場合によっては20分程度かかるケースが存在していたようです。 > このインストール時間を問題と捉えて, > Android NのARTでは,JIT方式をもう一度使うことになりました。 > これまでのAOT方式を止めてしまったというワケではなく,実行のタイミングが変わり, > 端末がアイドル中かつ充電されている場合のみに変更されることになりました。 > gihyo.jp/lifestyle/clip/01/awt/201603/24 だから単純に持ってきた場合にはこういう事が起きる。 ちなみにngenも同様の仕組みは持っている。 > https://msdn.microsoft.com/ja-jp/library/6t9t5wcf(v=vs.110).aspx 最近思うのは○○言語スゲーという信者が多いこと。 C#はそういう馬鹿は比較的少ない感じだが、君がそうなら、それは止めた方がいい。 C#は開発速度を最適化した言語で、結果的に実行効率はC/C++より悪いし、よくなることはない。 これを踏まえた上で、そのアプリにとって最適な言語を選択すればいいだけのこと。
- 899 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 21:48:44.28 ID:6c1mJ3TJ.net]
- >>875
デバッガのホストのように、目的の性質上ネイティブでなければならない一部のものを除けばほぼ全て VS2010のときに全面的にC#で作り直したらしいよ VSはC#で書かれたマネージドアプリだと公言してるし
- 900 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 21:57:18.89 ID:6c1mJ3TJ.net]
- >>887
誤解の少ない言葉を使えと言いながら実行速度の話とJITをごっちゃにして不要な混乱を招くのはいかがなものか 原理的にはJITの方が実行時のプロファイルをヒントとして最適化ができる分だけ有利だ あとは起動時間や実行時にコードを差し替えるコストとのトレードオフだが、 サーバーならそこは全く問題にならないので実際JavaのHotSpotなんか(あくまでサーバー用としてはだが)すごく高性能だよ 重い処理やらせると段階的に最適化されて速くなっていくのが目に見えて、最終的には素直に書いたC++を超えるケースもある
- 901 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:14:43.93 ID:kmw2XayL.net]
- >>883
ファイルのエンコードデングが関係してないか?
- 902 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:15:11.50 ID:BIlB42US.net]
- >>885
Blendで試したらエラーもなく、デザイナーも表示されたのでこれでしのぐことにします。
- 903 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:19:59.87 ID:vDjllkLc.net]
- >>881
可也期待薄だが、俺の環境のxamlのトラブルは https://social.msdn.microsoft.com/Forums/vstudio/ja-JP/f7541527-df77-4bd7-8458-f90565bf34b4/visual-studio-2015-?forum=wpfja の一番最後の方の解決法で何とかなった こっちはblend関係だから望み薄だが、やっても害が出るものじゃないしよろしければどうぞ
- 904 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:28:27.88 ID:uLxLwJKu.net]
- >>888
> VSはC#で書かれたマネージドアプリだと公言してるし ソースある?
- 905 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:34:12.57 ID:He8RO7U3.net]
- >>889
つか、全体として何が言いたいのか分からない。 C#についてなら、俺は主流はMSILだと思っているから、JITと言う方が適切だと言っている。 俺の認識が間違いで、主流は既にnativeであれば、AOTという方が適切だ。 君がそう思っているのならそれでいい。 C#の方がC/C++よりも高速であれば、高速アプリは全てC#で開発されることになる。 実際は、高速アプリは全てC/C++で組まれてるだろ。これが現実。 速度差は仕様差から来ているから、今後ともこれは埋まらない。 > 最終的には素直に書いたC++を超えるケースもある JA馬鹿も同じ事を言うのだが、探して見つけて喜んでいる時点でゴミ。 アプリの性質を考えて、適切な言語を選択すればいいだけ。 ただ現実的にGUIも含めて全部C/C++で組むのもだるいので、 NumPyが流行るのも分かるし、実際あのアプローチがいいと思うが。 いずれにしても、C#信者ならそれは止めておけ。 それぞれ得手不得手はある。それは当たり前の話。 万能言語があったらこんなに乱立しない。
- 906 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 22:54:19.21 ID:7sPtmcfc.net]
- 長文ウゼエ
- 907 名前:デフォルトの名無しさん [2017/01/26(木) 22:57:35.93 ID:SLW9Whol.net]
- 速度はC++の方が早いよ
でも普通のアプリならそこまで問題にならない程度の差
- 908 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 23:03:14.05 ID:C8HlRM2h.net]
- なんか昨日から長文野郎が常駐してて空気が悪くなってる
- 909 名前:デフォルトの名無しさん [2017/01/26(木) 23:03:30.86 ID:GQnwZs38.net]
- >>890
ありがとうございます 確認してみます!
- 910 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 23:30:49.26 ID:NrOKhjjD.net]
- >>894
自分で争う意味はないって言ったのになんでそんなに定義にこだわるんだ? 俺を含めて、一般的にはJITと呼ぶ(個々を見るとAOT的な側面や使い方もあるね)って言ってるだけだぞ
- 911 名前:デフォルトの名無しさん mailto:sage [2017/01/26(木) 23:50:28.00 ID:NrOKhjjD.net]
- >>894
あと、>>889はJavaやC#がC++よりはやいとか優れてるなんていってないじゃん Javaも悪くはない言語選択だよっていってるのに お前は何か、みんなが前提として理解してることを延々と説明してる感じ
- 912 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:00:30.43 ID:sOrVpnzk.net]
- 高速アプリが全てC++で組まれてるというのも思い込みもいいとこだな
AmazonがC++でやっててクソ遅かった大規模データ処理が Java+Hadoopに乗り換えることで大幅に改善されたという例もある 今時言語の速度なんてあくまで要素の一つに過ぎないんだよ
- 913 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:06:54.41 ID:FPm896mM.net]
- >>901
こういう馬鹿のデスマーチの尻拭いを何度したことか。氏ね。
- 914 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:07:53.10 ID:fDORPAeX.net]
- 別に長文でもスレ違いでも参考になるようなレスなら何とも思わないけど
今のこれは実にくだらないねw
- 915 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:11:06.35 ID:a4ei9zsf.net]
- ガチのHPCだとコアはCUDAだったりFortranも現役だったりで、これまたC++とは限らない
あまりにも見識が狭すぎる
- 916 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:24:44.98 ID:QXZBJ6J+.net]
- 長文はキチガイ
- 917 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:29:28.64 ID:CH0FWDPd.net]
- >>899
おいおいすりかえんなよ。 俺はC#はJITと言う方が近いと言っている。 君はC#はAOTだと言い張っている。 俺は君が「C#はAOTだ」と言い張る理由が分からない。 C#に問題があるとしたらまずは速度だ。AOTと言い張る理由にもなる。 だからそれに言及しただけ。 では何故AOTだと言い張るのか理由をを言ってみてくれ。 俺はCUDAも使ったことあるよ。 ただそれをここで言う意味もないだろ。
- 918 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:30:54.80 ID:iNBXS39I.net]
- 申し訳ないが3行以上はNG
- 919 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:31:00.69 ID:g7nuPYvQ.net]
- >>906
.NET Native知らないの?
- 920 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 00:54:42.49 ID:9J0c8boi.net]
- 本日のNGID:CH0FWDPd
- 921 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 01:49:06.49 ID:z/+I8zAR.net]
- >>906
「JITのほうが近い、ただしAOT的な側面もある」をどうやったら「C#はAOTだ」に変換できるんだ? 多分、お前は「AOT=配布時に機械語、JITとは真逆の概念」みたいな定義にこだわりがあるから話が合わない みんなは「AOT的=実行する瞬間以外の機械語へのコンパイル」程度の認識だから、ネイティブキャッシュとかArtの事前コンパイルもAOT的と捉えてるだけだ ただ、.NET Nativeはまだしも、iOS向けUnityとXamarinがそれなりに使われてるので「C#はJIT」は誤解を招く気もするけどね
- 922 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 02:14:06.13 ID:fDORPAeX.net]
- 実にどうでもいいんだけど、そういうアーキテクチャー的な話をするんなら、
言語としてのC#と、そのWindows版.NET Framework用の実装は 一応理念的には別門だって前提で議論しないとまずいんじゃないのそもそもw
- 923 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 02:19:16.89 ID:fDORPAeX.net]
- しかしあれだね「、.NETの言語はJITだから実行環境に合わせた最適化がされるようになる」
っていううたい文句は最初の.NET1.0のころからあるけど、 これ今はちゃんと実現されてるんだっけ?
- 924 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 03:21:05.61 ID:z/+I8zAR.net]
- >>912
SSE命令関連とかは結構頑張ってるみたいだね 一応.NET NativeでAOTするのと比べて優位を保てる程度には最適化してるらしい blogs.microsoft.co.il/sasha/2014/04/28/net-native-performance-internals/ ちょっと古いから今はどちらも改善されてるかもしれんが
- 925 名前:デフォルトの名無しさん mailto:sage [2017/01/27(金) 23:51:25.19 ID:CH0FWDPd.net]
- >>910
俺が問題にしているのは>>861の > ほぼAOTな方式 についてだぞ。全然そんなこと無いだろ、という話をしている。 ただまあ、お前らが過剰に反応するのはお前ら自身も理解出来ているからだと思うが、 誤解のない表現で言い切ってしまうと以下だ。 ・C#は遅い ・C#は20年後には無くなる言語 速度面については、native化や最適化でいいところまでは行くだろうが、 仕様上、保護無し、ランタイム無しで突っ走るC/C++には勝てない。 JITガーって言う意見もあるだろうが、CでもJITしてはいけないわけではなくて、 Cでも関数ポインタが不変なら関数の中身を差し替えたところで問題はない。 だからスカスカに配置しておいて差し替えることも可能ではある。(誰もやってないが) そもそもDLLだけアップグレードすることは今でも問題ないわけだし。 速度面でC/C++に勝つ芽は今後ともない。 .NETのコンセプト、全ての言語/環境で同じフレームワーク、というのは素晴らしかった。 ただそれも過去形だ。 色々あった言語(VB/J++/VC++)も結局C#に統合されつつあるし、あとはせいぜいF#位か。 .NET compactは結果的にマーケットを取れずに失敗した。 全ての言語/環境での共通フレームワークはHTML/ブラウザでほぼ確定した。 今C#がまだ生きているのはJavaがあの体たらくだからだ。 とはいえ、見て分かるとおり結果的にC#とJavaはモロ被りだ。 そして一応Javaも動きだした。(Java8) JavaとC#のシェアでは喧嘩にならないし、Javaで済む場合にC#を選ぶ理由がない。 今現在はJavaは相変わらず糞だが、今後機能追加されてC#との差が無くなると死ぬのはC#。 C#信者はこれをちゃんと認識しておいた方がいい。 C#は差別化出来ていない。
- 926 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:01:46.77 ID:lJFdXfrP.net]
- 20年も残るなら十分
- 927 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:15:29.48 ID:vlmW/cIj.net]
- >>914 ※個人の思い込みです。
- 928 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:16:54.48 ID:rD7WeMm9.net]
- 後はbuilderスレ辺りで続きをやって下さいって事で
- 929 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:24:24.84 ID:lGyRVc7d.net]
- >>914
10年前の過去スレかと思ったわ。
- 930 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:29:22.98 ID:GpK52peC.net]
- JAVAは特許絡みで自滅しそうだけどな。
Googleも.NET Foundationに加入したことだし、脱JAVA考えてたりして。
- 931 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:33:11.09 ID:B8Cbj4aW.net]
- >>918
だなww
- 932 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 00:50:41.15 ID:cRpkhDFF.net]
- Javaは環境に排他的なところがあるからなあ
JVMの世界にどっぷり浸かってしまえば楽なんだが、 PHPやらRailsやら他にもいろいろ使ってるとJavaだけデプロイが異色すぎる その点 .NET Core は今時のWebらしいデプロイ方法を実現してるので非常に馴染みやすい Javaの置き換えというより、スクリプト+αとしてのGoに代わる選択肢の一つとして普及する可能性は高いんじゃないかな
- 933 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 01:05:26.39 ID:iWacJ3fP.net]
- .net nativeがスタティックリンクでライブラリから必要なクラスだけ取り込む仕組みなのを知らないとはね
- 934 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 03:02:12.31 ID:VlCpYCgG.net]
- >>914
それ俺じゃないし、そのレスもAOTの定義次第でしょ 君が言葉の定義にこだわりがあるのはわかったからそんなにAOTに過剰反応するな 言語の20年後は予想するだけ無駄 C/C++もgoやrustに置き換えられてるかもしれないし、Javaの代わりにKotlinがJVMの中心になってるかもしれない ハードと通信の向上で富豪プログラミングができるといいけど、ナノマシンとかの制御のために今より貧相なハードウェア要件だったりするかもね
- 935 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 06:50:26.81 ID:7LkpJPRm.net]
- C++が、FORTRAN化している。
- 936 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 07:29:56.62 ID:bLDCN2m1.net]
- >>916
妄想だろ w 本人楽しそうだしいいんじゃね?
- 937 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 09:05:59.37 ID:O0GHMxPw.net]
- VisualStudioの無いC#なんて
- 938 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 09:35:59.59 ID:O0GHMxPw.net]
- rust.NETは未だかね?
- 939 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 09:48:31.29 ID:vlmW/cIj.net]
- >>926
Windows7に標準装備されてるcsc.exeは役立ったよ 入力支援のないメモ帳でコーディングするのはちょっと面倒だったけど 小物アプリ作ったり、暇つぶしに十分だった
- 940 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 11:45:36.61 ID:QNTErMWx.net]
- >>918
確かに10年前もほぼ同じ状況だったろうね。 ただJavaはそこから全く進歩しなかった。それで延命してる。 >>919 MSは何だかんだで技術力は相当あるし、OracleではJavaを発展させられないのも事実だ。 とはいえ、周回遅れでよければ他言語のいいところを採り入れればいいだけ。 これならOracleにも出来る。 今のC#が生き残るとしたらJavaを食らうことだが、 現代のCOBOL化しつつあるJavaはもう食いきれない。 (Javaは向こう30年の需要はあるし、その後他言語に移行するメリットもない) 周回遅れであってもJavaが追いついてくる限りC#は死ぬ運命だ。 (ただし逆に、周回遅れであるうちは死にきらないとも言えるが.。) >>921 Javaが殿様商売でブラウザから外されてあたふたしていたのは事実だ。 Web系の連中はその辺も含めてJavaは嫌いかもしれないね。 とはいえC#がサーバサイド言語として君臨するとも思えない。 C#にはサーバ用途のサポートがなく、移行される理由がない。 C#の特徴はLINQだけど、それがどこの分野にフィットするかだね。
- 941 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 11:46:16.89 ID:QNTErMWx.net]
- >>923
分からないことは考えない、さすがのゆとりだな。 確実に言えるのは、今のままのC#だと生き残る芽がないこと。 もちろんMSも分かっているだろうから、色々試してはいるのだろうけど。 C#はPascalと同じでベンダーが一つだ。よってMSが辞めますといったらいきなり終わる。 C/C++はその点各社各様なので誰も終わりの号令を出せない。 機能的にもあの範囲では完成しているし、今後共、流行はしないが使われ続けるだろう。 ただし開発効率がいいとは誰も思ってないだろうし、その点色々努力は為されるはずだ。 JVM言語群はJavaの発展には寄与するだろう。 ただそれらもJavaが追いついてくれば死ぬ運命にある。もっともこれは幸せな死だが。 で、C#もランタイムが違うだけでほぼJVM言語群と立ち位置が同じだろ、という話。 お前らが「C#は永久に不滅です!」なんて思ってるのなら完全に勘違いだぞ、というだけ。 ただそこまで信者化する理由もよく分からんのだがな。 C#が死ぬ頃にはC#とJavaの差異も今より無くなっているはずで、移行は容易だ。 逆に差異がある状態ならC#が死ぬこともない。
- 942 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 11:51:01.14 ID:sBhxwabY.net]
- 次スレはふらっとみたいにワッチョイ付けてもらえるとNG楽でありがたい
- 943 名前:デフォルトの名無しさん [2017/01/28(土) 12:03:08.93 ID:PWlkAQF7.net]
- C#の心配はもういいからとりあえず病院行ってこいよ
- 944 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:09:23.15 ID:7tAJxods.net]
- もう言語の優劣とかこの後とか考えるのやめようよ
好きなの使えばいいじゃん
- 945 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:09:39.25 ID:q55sXuC9.net]
- >>926
つ SharpDevelop
- 946 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:13:41.44 ID:7tAJxods.net]
- C#なんてこの後廃れる一方だから気にするんじゃないよ
俺は使いたいから使ってるだけ コンピューターサイエンスジャンルとかじゃもうpythonに追いつけない 入門者もc#よりpy選んでるらしいし 時代遅れのc++使ってる人も流行ってるからとか他が使えないって理由じゃないでしょ 使いたいから使うでいいよ
- 947 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:29:18.26 ID:op86qfG/.net]
- >>931
あんたがNGにしやすくするためだけに 2ちゃんねるの特徴を捨て去って全員強制コテつけろというのはひどいエゴだと思う
- 948 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:36:35.24 ID:kK1HMpWm.net]
- >>929
C#にサーバー用途のサポートがないって、一体こいつはなんのことを言ってるんだ まさかどっか別のパラレルワールドの住人なのか、それともC#と言う名の別のマイナーな別言語の話をしていたのか
- 949 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:38:31.29 ID:GpK52peC.net]
- ワッチョイ付けてるスレは増えてきてるし、賛成が多ければ構わないだろ
強制コテも一週間で変わるんだし、IP表示が無ければ反対する真っ当な理由が思いつかない
- 950 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:41:01.92 ID:XpAKmUmz.net]
- >>936
みんなエゴ丸出し自己中でいくのが2ちゃんねるの特徴よ
- 951 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:41:42.84 ID:rD7WeMm9.net]
- 言語の優劣がどうでもいい訳じゃないけど
比較なら他所のスレでやってくれ C++ Builder vs C# どっちがいいか教えて echo.2ch.net/test/read.cgi/tech/1459000291/
- 952 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:42:51.15 ID:s1e/PAHl.net]
- >>938
それぞれ好きなスレ立てて使えばいいんだよ どの板でもワッチョイ有り無しでスレが分かれているのをよく見るし 逆にその手の議論で荒れだすとどこでもひどい有様になる
- 953 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:50:41.06 ID:op86qfG/.net]
- >>938
一週間で変わるというのは違うよ 3、4文字目は仕様上永久固定だし、表面上変わる1、2、5〜8文字目も簡単に逆引きできるから実質永久固定だよ
- 954 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 12:58:20.48 ID:ivgBCMum.net]
- 「SNSじゃあるまいし、なんで2chでわざわざコテハンを強制されなきゃならないのか」は真っ当な理由じゃないのかな…
- 955 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:00:33.35 ID:k4gxsyFf.net]
- 俺もワッチョイスレには書かなくなった
- 956 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:01:40.71 ID:mpmWyhNT.net]
- 明らかに不適切な発言をしない限りはコテハンでも問題ないでしょ
- 957 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:16:35.58 ID:1Ptz3K6u.net]
- そんなコテハン好きならstackoverflowにでも行けばよろしいやん
なぜ2ちゃんをコテハン化する必要があんの?
- 958 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:29:21.18 ID:yHdW8px1.net]
- 荒しがいるからだろw
- 959 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:33:06.15 ID:WlIlAAzs.net]
- >>946
よう荒らし 元気か?死ね
- 960 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:40:45.05 ID:op86qfG/.net]
- 自治厨が自分に賛同する奴以外を荒らし扱いしてるだけか
- 961 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:45:46.68 ID:Bb/tAbed.net]
- 荒らしだけならまだいいが、沸点が低いのかプライドが安いのか
煽りにのって相手を始める低脳が多過ぎる 本当に目障りでNGが面倒臭くてワッチョイもやむを得ないと考えてしまうのはこっちが原因
- 962 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:47:14.75 ID:5yCHiIBr.net]
- c#のスレで他言語の話を連投してる時点で
誰がどう見ても荒らしだと思うが
- 963 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:47:33.37 ID:6ehsSW1c.net]
- uyのスレ立て荒らし以来変なのが増えたな
- 964 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:48:54.50 ID:ktdFkm2m.net]
- そんなにNGされたくないのかな?
- 965 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:50:24.20 ID:WlIlAAzs.net]
- どう見てもそうだろ
- 966 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:53:53.44 ID:ya7J4hzr.net]
- 他言語の話なんてしてないのに荒らし扱いされて死ねって言われたんだけど
- 967 名前:デフォルトの名無しさん [2017/01/28(土) 13:55:50.40 ID:JTtKbdRr.net]
- 昔、JavaやVBで暴れてた低脳馬鹿が今はC#で暴れてるふうにしか見えない。
だって言ってることが同じだものw ○○は遅くない!! ○○で十分!!!
- 968 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:58:32.18 ID:yHdW8px1.net]
- >>948
それは酷すぎ。荒しと変わらんぞ。
- 969 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 13:59:47.36 ID:vlyo6wmu.net]
- 相手してる生ゴミがうざいって人は連鎖NGができるブラウザに変えるのはどうだろうか?
強制はできないけど…。
- 970 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:06:49.21 ID:ya7J4hzr.net]
- ワッチョイでNGが便利になるって言う人たちは、なぜかNGwordを工夫したり連鎖NGすることはできないという不思議現象
- 971 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:07:29.61 ID:y9Lbrz1V.net]
- 自分でNGできないような奴がこの板にいる方がどうかしている
無能と自白しているようなもんだろ
- 972 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:11:07.34 ID:XpAKmUmz.net]
- ごちゃごちゃ言わず、ワッチョイありなし、2つ立てて盛り上がった方を採用すりゃいんだよ
- 973 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:44:57.36 ID:k4gxsyFf.net]
- スレも無料じゃないんだぞ
節約しないと
- 974 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:48:10.28 ID:s1e/PAHl.net]
- ほらスレ違いで荒れる
このまま埋めてくれればいいよw >>961 採用っていうか使われなくなった方が消えたり過疎るだけ
- 975 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 14:53:25.19 ID:GmC+rupt.net]
- 2chの基本だけど、スレが荒れる(このスレの現状はそこまで行ってないと思うが)と
ギャーギャー騒ぎだす連中の大半は本当はギャーギャー言いたいだけの寂しい奴ではある。 要するに、本当はスレッドの趣旨にそったレスが淡々と続く状況なんか内心望んでない奴、 もっと言えばまともなレスをする能力がない奴に限って文句言ってるのね。 本当はウンコが大好物なウンコ蠅がウンコの周りを周回しながらウンコが臭いって文句言ってる図式だねw 「スレッドの平和」を本当に望んでいる人(俺もその一人)は、逆説的だけど 神経質にスレ違いの話題を咎める連中に与しない方がいいと思うよ。 それは上記の「ウンコ以上にうっとうしいウンコ蠅」をのさばらせることにしかならないからね。 まあそうは言ってもあんまりスレ違いの議論が延々続くのもうっとうしいのも確かだから、 このスレに限らずスレ違いの議論が続いた時に誘導する「何でも議論スレ」みたいのが あったらいいのかもしれないとも思う。
- 976 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 15:11:26.13 ID:VlCpYCgG.net]
- >>930
C#は永久に不滅とか信者とか、存在しない敵を叩くなよ 他の言語でも同等の処理があるLINQを特徴というのは、理解してないからか? C#もJavaも互換性最優先なので、いつか時代遅れの限界が来て、保守以外では使わない言語になる気もする 死ぬならVB6みたいな長期サポートで亡霊にならないといいんだけど
- 977 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 15:16:41.71 ID:VlCpYCgG.net]
- そういえば、llilacはどうなったのかな
LLVM化は結構需要ある気がするんだが
- 978 名前:デフォルトの名無しさん [2017/01/28(土) 16:06:14.69 ID:VlGJ2K6H.net]
- 荒れすぎだろ
投票による自治機能があるanontownに来ないか? 登録制だけどメアド不要だから簡単 https://anontown.com/
- 979 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:20:45.03 ID:BREm5bG1.net]
- >>965
いつかはそうなるだろうけど、今のところはその兆候はないな
- 980 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:41:32.14 ID:ktdFkm2m.net]
- >>964
2ちゃんにおいて三行以上の長文はマナー違反だぞ
- 981 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:44:14.69 ID:op86qfG/.net]
- 立てにいく
- 982 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 16:48:51.77 ID:op86qfG/.net]
- 次スレ
C#, C♯, C#相談室 Part92 echo.2ch.net/test/read.cgi/tech/1485589613/
- 983 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 17:45:23.05 ID:JQ2q8v+C.net]
- >>965
数年前、高速なNVRAM的な物が安価で作れるようになって コンピュータの構成が大きく変わるなんて話が一部で盛り上がってたけど、 その手のパラダイムシフトが起こらない限り、プログラミング言語の世界でも そんなガラガラポンは起こらないだろう
- 984 名前:デフォルトの名無しさん [2017/01/28(土) 19:05:48.32 ID:oY/klkah.net]
- 一体みんな誰と戦っているんだ
- 985 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 20:01:47.30 ID:XnHJw37P.net]
- >>973
オラもそう思う
- 986 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 20:12:25.54 ID:09upZDzm.net]
- 自分以外は敵というスタンスがトランプ流w
- 987 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 21:15:25.00 ID:yCMaAzsY.net]
- C#はマルチプラットフォーム化でサーバーサイドで需要がますます拡大するし
クライアントでもWPFが実用的になってくるんじゃないかな
- 988 名前:デフォルトの名無しさん mailto:sage [2017/01/28(土) 21:23:25.46 ID:buSCJS7G.net]
- 胡散臭いCMだな
- 989 名前:803 mailto:sage [2017/01/29(日) 12:03:54.50 ID:6CKnMYhm.net]
- >>818
>>819 >>831 64bitでコンパイルする 2GB内に配列を分割する などいろいろやりましたがメモリオーバーになってしまいどうしても実行できませんでした 結局、元のファイルを分割し、最後に結合する方式にしてやっと通りました 使用メモリ見ると10GB位食ってましたが一応全部実行できています ご協力ありがとうございます
- 990 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 12:28:52.14 ID:NqGwYzj0.net]
- >>978
配列に入れて何がしたいのか最後まで聞けなかったけど、FileStreamで読み書きじゃ駄目だったの?
- 991 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 12:34:03.49 ID:Be2uFNKC.net]
- 同意見
そんなもん全部メモリに読んだところで どうせシーケンシャルに処理する以外にやれることがあるとは思えない
- 992 名前:803 mailto:sage [2017/01/29(日) 13:07:42.19 ID:6CKnMYhm.net]
- >>979
BinaryWriterで挿入操作ができれば使っていたのですが 以下を見るとできないようなので使いませんでした dobon.net/vb/bbs/log3-46/27592.html
- 993 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 13:12:51.28 ID:WfZCQfEI.net]
- 一時ファイルに元のファイルの内容と挿入データを書き込む
→元のファイルを削除する →作成した一時ファイルの名前を元のファイルの名前に書き換える でできると思うけど自分の好きな方法でうまくいったのならいいんじゃね
- 994 名前:803 mailto:sage [2017/01/29(日) 13:29:04.76 ID:6CKnMYhm.net]
- >>982
>一時ファイルに元のファイルの内容と挿入データを書き込む 確かにこのやり方がスマートでした 元のコード流用しようとしたので今のやり方になってしまいました あらかじめわかっていたら・・・
- 995 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 17:25:54.20 ID:UOF0Asn0.net]
- うめ
- 996 名前:810 mailto:sage [2017/01/29(日) 22:35:39.11 ID:F8/CipCU.net]
- >>810です。反応が遅れてすいません。現在は、
クラスのインスタンスの複数のプロパティの値を比較して等価かどうか判定しているのですが データをリストに追加する際、2種類の等価比較法(IEqualityComparer)を用いています つまり追加対象のデータのうち、 まず弱い比較(少なめのプロパティだけが一致するか比較)で 既存のリストにないデータの「候補」をざっくりピックアップして、 候補たちに少々時間のかかる処理をかけてから(一部プロパティが書き換えられる)、 次に強い比較(多めのプロパティを比較)で候補の中から真に「新しい」ものをリストに追加しています PosgresやLocalDBといったデータベースでは、こういうことって簡単にできるんでしょうか ネット検索してみたところ複数のプロパティを比較すること自体は UNIQUE制約(?)というので出来そうに思ったんですが、 現在やっているような2段構えの比較法は実現可能なんでしょうか?
- 997 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 22:51:26.56 ID:M0HgmB1M.net]
- 二段構えにする必要はない
比較に必要な全てのカラムセットにuniqueインデックス張りなさい
- 998 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 22:55:35.08 ID:F8/CipCU.net]
- >>986
それだと誤判定になりませんか? 追加前のデータと実際に追加するデータでは 一部プロパティ(弱比較ではチェックしないが、強比較ではチェックするプロパティ)の値が異なっているのですが…
- 999 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:02:20.70 ID:faIlAfcC.net]
- >>987
強比較の値がDB上
- 1000 名前:に固定できるなら、最初から強比較でやっても十分な速度が出ます
取り出してから変化する性質なら、弱比較でDBから取り出し値を生成してからメモリー上で強比較で良いんじゃないの? [] - [ここ壊れてます]
- 1001 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:27:53.21 ID:F8/CipCU.net]
- >>988
すいません、「DBから取り出す」という表現が何を指しているのかよくわかりません… いま思案しているのはデータの集計作業時ではなく登録作業時の話です 各データについて、一部のプロパティの値を確定させるには処理時間がかなり必要になっています 追加登録したいデータたちについて、このプロパティ値をあらかじめすべて確定するのは非常に時間がかかるので まず弱比較でざっくりと追加可能な候補(プロパティ値を確定しなければならないデータたち)を絞っているのです 今はこんな風にしてます(実際のコードでは日本語変数じゃないです) 候補データリスト = 追加したいデータのリスト.Except(全リスト, new MyClass_WeakComparator()).ToList(); ↓ 候補データリスト について全プロパティ確定作業; //←重い ↓ 全リスト = 全リスト.Union(候補データリスト).ToList();
- 1002 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:33:19.34 ID:F8/CipCU.net]
- >989補足
Union()のところで既定の等値比較子として強比較が使われています
- 1003 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:37:15.13 ID:M0HgmB1M.net]
- >>989
insert into 処理対象テーブル select 追加後の値を得る計算式 from 処理対象テーブル where 追加対象を得る条件式 これでいいんじゃないの? 弱比較とかよくわからん言葉遣いはやめた方がいい混乱するから
- 1004 名前:デフォルトの名無しさん mailto:sage [2017/01/29(日) 23:50:32.58 ID:M0HgmB1M.net]
- なんか違うなこうか
insert into 全リスト select 任意の計算式 from 追加データ where not exists ( select * from 全リスト where 簡易な比較条件式) and 完全な比較条件式 インデックスは簡易な比較に使うカラムだけでいいよ
- 1005 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:02:56.22 ID:kb+lR8OL.net]
- >>992
やはり、条件式を2種類地道に書くしかないんですか…長くてハゲそう >インデックスは簡易な比較に使うカラムだけでいいよ アドバイスありがとうございます
- 1006 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:07:16.67 ID:YrqXkGEW.net]
- >>989
それだと「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか? >>985の書き方だと、「弱比較」で一致しても「強比較」で一致しない物があり、 それは書き込むと読める。 まあこの辺はそちらがやればいい話だが。
- 1007 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:14:31.63 ID:GO+RhKVN.net]
- 数千行のSQLとか当たり前だから!!!
そのためのDBMSでしょ!!!
- 1008 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:23:01.74 ID:RAZ09caE.net]
- 1回のクエリで完結させようとせず
1次候補抽出クエリ → ローカルで1次候補のプロパティ書き換え → 最終候補抽出&インサートのクエリ の3段構えにしてもいいんじゃないかと思うけど
- 1009 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 00:33:18.83 ID:kb+lR8OL.net]
- >>994
>「弱比較」で一致してしまった物は全部捨ててしまっているがいいのか? 詳しくは書けませんが、やりたい動作としてはその動作でOKです 985の説明はちょっと正確ではありませんでした >>995 大規模なデータベースを触ろうとするのは初めてだったので…すいません >>996 どっちみち長い比較条件を書かないといけないのは避けられそうにないので その方法でもよさそうですね
- 1010 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 01:03:13.10 ID:9w4b/GJp.net]
- >>995
SQLが数千行もあって当たり前なの?異常じゃないの?SQLだよ?
- 1011 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 02:19:40.86 ID:ty17mMxy.net]
- SQL Serverは問合せ文と制御文を1つのストアドに混在できるので複雑な工夫が容易で、
腕が良ければ数千行の複雑な処理を書くことによって物凄く高速化できることがある Oracleは混在できないため複雑な処理を書くには手間がかかり、プログラマーがあまり工夫しなくなり、 そのため腕が上がらず、結果としてSQL Serverより遅いシステムが多いらしい 現在のSQL ServerにはOracleと同じスナップショット分離(古い人は「行ロック」って言う)があるが、 2000の頃はなかった(今でもデフォルトでオフになってる)ため、高速な更新処理が必要だったことも腕に関係すると思われる (スナップショット分離があれば、ダラダラ更新しても他ユーザーの閲覧に迷惑かけない)
- 1012 名前:デフォルトの名無しさん mailto:sage [2017/01/30(月) 02:31:32.87 ID:RISpHKLn.net]
- 次スレ
C#, C♯, C#相談室 Part92 [無断転載禁止]©2ch.net echo.2ch.net/test/read.cgi/tech/1485589613/
- 1013 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|