トップページ⇒tech
1001コメント231KB

ふらっとVisual C#,C♯,C#(初心者用) Part109

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2013/11/28(木) 11:27:54.20
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

他のスレッドでは書き込めないような低レベルな質問。
質問者自身なんだか意味がよく分からない質問。
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。

内容に応じて、他スレ・他板へ行くことを勧められることがあります、ご了承下さい。

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっとVisual C#,C♯,C#(初心者用) Part108
http://toro.2ch.net/test/read.cgi/tech/1383867970/

■関連スレ
C#, C♯, C#相談室 Part81
http://toro.2ch.net/test/read.cgi/tech/1381134494/

■コード貼るなら↓使ってください
http://ideone.com/
0369デフォルトの名無しさん2013/12/09(月) 14:24:05.34
こういう話題は荒れるから
今後禁止な
テンプレ追加決定
0370デフォルトの名無しさん2013/12/09(月) 15:06:18.35
世界平和より持論が大事なクソガキの群れに何いっても無駄ですよ
いい加減悟っていただけないでしょうか
0371デフォルトの名無しさん2013/12/09(月) 15:19:41.46
配列に関してはうちの環境だとこんな感じでした
http://ideone.com/VewfYv

10000 x 10000
jagged : 00:00:23.4685876
square : 00:00:16.7713101

100 x 100
jagged : 00:00:00.0005807
square : 00:00:00.0006616

昔のCLRだとラージオブジェクトの扱いが
うまくなかったので2次元配列が不利だったのかと
予想してみる。
0372デフォルトの名無しさん2013/12/09(月) 15:37:44.08
二次元配列の速度、改善されたどころかジャグ配列より早くなってたのか
知らなかったは
0373デフォルトの名無しさん2013/12/09(月) 15:43:48.24
http://d.hatena.ne.jp/EmK/20081130/1228025602
http://schima.hatenablog.com/entry/20091118/1258518836

この辺りだとジャグの方が早いになってたのに・・・いつの間にw
0374デフォルトの名無しさん2013/12/09(月) 15:47:33.77
>>372-373
だから言っただろ
ジャグ配列の方が早いって言ってたキチガイは反省しろよ
0375デフォルトの名無しさん2013/12/09(月) 16:12:50.39
>>371をうちのノートPCでやってみたら、
10000 x 10000だと、ジャグで7秒くらい、普通ので5秒くらいでした
100 x 100は同じくらいだったけども、PC遅くね?w
0376デフォルトの名無しさん2013/12/09(月) 16:25:57.97
あと、unsafeでポインタにしたらもう少し早くなった
0377デフォルトの名無しさん2013/12/09(月) 17:44:56.59
>>369
書き方は荒いけど、内容は悪くないだろ。
2次元配列よりジャグ配列だと思い込んでたから勉強になったわ。
0378デフォルトの名無しさん2013/12/09(月) 18:18:43.65
論拠になるソースやコードが出てくれば検証はしやすいわな
0379デフォルトの名無しさん2013/12/09(月) 18:19:15.74
そういうのがいるからeglibcが出来たんだろうな
唾棄すべきだよそういうのは
0380デフォルトの名無しさん2013/12/09(月) 18:27:33.53
普段はコードも数字も出さずに速いと思う思わないで喋ってるのに珍しいね
風邪でも引いてるのか?
0381デフォルトの名無しさん2013/12/09(月) 22:20:33.16
TcpClientででかいデータを一発でやりとりすんのってどうやってやるんですか?
0382デフォルトの名無しさん2013/12/09(月) 22:21:16.11
でかいってどのくらいよ
0383デフォルトの名無しさん2013/12/09(月) 22:21:36.12
>>377
なんで思い込みで人に教えるかな・・・
おまえみたいなのがいるから>>361みたいなあほが沸いてくるんだよな
0384デフォルトの名無しさん2013/12/09(月) 22:26:33.20
レベル2だからひけらかしたい
0385デフォルトの名無しさん2013/12/09(月) 22:28:02.23
まあ>>361こそ荒らしだったってことがわかったんだからいいじゃない
0386デフォルトの名無しさん2013/12/09(月) 22:28:57.87
変な荒らしと無自覚な荒らし
またはそのコラボレーション
0387デフォルトの名無しさん2013/12/09(月) 22:30:21.72
如何におまえらが普段適当なことを言ってるのかが露わになったなww
0388デフォルトの名無しさん2013/12/09(月) 22:33:17.28
このスレを信じる方がバカだろ
0389デフォルトの名無しさん2013/12/09(月) 22:35:01.60
どぶ臭い犬がいまさら何か言ってる
0390デフォルトの名無しさん2013/12/09(月) 22:37:12.64
>>363
キチガイ涙拭けよwwwwwwwwwwwwwwwwwww
0391デフォルトの名無しさん2013/12/09(月) 22:40:01.28
普通に考えたら2次元配列の方が早いってわかるだろ
0392デフォルトの名無しさん2013/12/09(月) 23:04:32.96
普通に考えなくてもジャグとか異端は覚える価値なしバグの元
0393デフォルトの名無しさん2013/12/09(月) 23:12:13.92
>>368
そこはvectorじゃなくdequeを使うとこなんじゃないの?
0394デフォルトの名無しさん2013/12/09(月) 23:15:21.24
そんなほんのすこしの差のために2次元配列なんか今どきやる奴はバカだよ
0395デフォルトの名無しさん2013/12/09(月) 23:58:57.64
そんな風に方針変えてもお前が一味違う馬鹿だって過去は消えません
0396デフォルトの名無しさん2013/12/10(火) 00:03:04.27
引くに引けない悲しいプライドなのさー
0397デフォルトの名無しさん2013/12/10(火) 00:07:28.03
IEnumerable<T>も実装してないもの使うとか
というかコレクションのコレクションとして自然に型システムに溶け込むジャグ配列に対して
2次元配列の奇形具合がわからないとかセンスないねとしか
0398デフォルトの名無しさん2013/12/10(火) 00:09:29.38
あっそうよかったね(笑)
0399デフォルトの名無しさん2013/12/10(火) 00:16:04.02
それで君の溜飲が下がるならいくらでも言ってくれていいさ。
どうぞどうぞ。止めないぜ。
0400デフォルトの名無しさん2013/12/10(火) 00:45:05.79
行データのリストとして使うなら行にカスタム型を用意すべき
ピボットテーブルなら2次元配列のが直接的
C#でジャグ配列の使い道なんてないよ
0401デフォルトの名無しさん2013/12/10(火) 00:50:41.94
だからなんでわざわざIEnumerable<T>もない前時代の遺物を無理やり使おうとしてんの
Lengthの扱いもイレギュラー 行の入れ替えもまともに出来ないようなもんをさあ
Cで脳みそ止まってるんじゃないの
0402デフォルトの名無しさん2013/12/10(火) 01:13:20.36
ジャグ配列よりn次元配列の方が直接的っていうのは言葉遣いには突っ込まないにしても
よく理解できない発想だけど、そんな人いるんだね。

大昔のBASIC上がりの人なんかねw
たぶん配列をメモリーじゃなくてデカルト座標的に把握してるんだろうな。
0403デフォルトの名無しさん2013/12/10(火) 04:46:51.10
cpuがそれに最適化されていて爆速だから使う
0404デフォルトの名無しさん2013/12/10(火) 06:49:37.89
初期化でわざわざ繰り返し処理をしたくない
0405デフォルトの名無しさん2013/12/10(火) 10:39:10.21
正真正銘のジャグ配列キチガイが発狂してるようだな
0406デフォルトの名無しさん2013/12/10(火) 11:34:40.56
おれの名を言ってみろ
0407デフォルトの名無しさん2013/12/10(火) 11:42:10.35
よほど怒り心頭なんだろう
staticおじさんの方が自分を省みるだけマシだな
0408デフォルトの名無しさん2013/12/10(火) 11:59:44.95
毒薬さん
0409デフォルトの名無しさん2013/12/10(火) 12:01:32.74
嘘ばかり書いてるキチガイがいるから注意。
0410デフォルトの名無しさん2013/12/10(火) 12:43:14.32
class MyclassA
{
string str;

}
0411デフォルトの名無しさん2013/12/10(火) 12:54:24.23
>>406
ジャグ
0412デフォルトの名無しさん2013/12/10(火) 19:28:21.61
DataAdapterのUpdateってADOの時みたいに
自動で更新追加削除のコマンドを組み立ててくれるオプションはないんすか?
0413デフォルトの名無しさん2013/12/10(火) 19:36:31.50
DbCommandBuilderを作ってAdapterにDataAdapterを設定すればいい
0414デフォルトの名無しさん2013/12/10(火) 19:43:52.90
ジャグの利点をあえて考えてみると、列単位で長さ変更出来るくらい?
0415デフォルトの名無しさん2013/12/10(火) 19:58:51.34
長さが一定でないなら配列じゃなくてリストにするけどね
0416デフォルトの名無しさん2013/12/10(火) 20:37:17.05
>>413
ども
0417デフォルトの名無しさん2013/12/10(火) 21:09:52.29
ジャグ配列キチガイ = ジャグキチ
0418デフォルトの名無しさん2013/12/10(火) 21:27:21.76
OleDbConnectionでACCESSにデータベースするとき
コネクションプーリングって有効になるの?
ぐぐってもオラクルだのSQLServerなら効くってのばっかりでよくわからん。
ACCESSだとコネクションを閉じないで再利用した方が効率いいのかな?
0419デフォルトの名無しさん2013/12/10(火) 21:29:55.82
OleDb コネクションプーリング
で検索すれば真っ先に引っかかったんだが
0420デフォルトの名無しさん2013/12/10(火) 21:51:48.90
OleDbConnectionの接続プールはデフォルトで有効みたいだね。
0421デフォルトの名無しさん2013/12/10(火) 23:13:33.44
C#でストアドプロシージャを記述できるDBMSってありませんか?
T-SQLではめんどくさすぎて気が狂いそうです
0422デフォルトの名無しさん2013/12/10(火) 23:30:17.24
SQL CLR
0423デフォルトの名無しさん2013/12/11(水) 00:17:12.03
ストアドプロシージャなんていまどき使うなよ
0424デフォルトの名無しさん2013/12/11(水) 09:30:38.82
またキチガイか。
0425デフォルトの名無しさん2013/12/11(水) 10:47:23.35
ベンチもせず言いたい放題いった挙げ句
自分が不利になるとセンスが無いだの難癖つけに走る超超超クズがこのスレにいるのでご注意
0426デフォルトの名無しさん2013/12/11(水) 11:20:57.81
このスレもそろそろ閉鎖だな
0427デフォルトの名無しさん2013/12/11(水) 13:38:48.96
TaskCompletionSource.Task.Statusを
CreatedからRunningに移行させる方法はありませんか?

またはdelegateによらず、Taskの状態を
操作できる他のクラスはありませんか?
0428デフォルトの名無しさん2013/12/11(水) 14:35:47.40
リストと配列だと、どっちが早いの?
0429デフォルトの名無しさん2013/12/11(水) 14:42:30.92
>>428
配列に決まってんだろ
初心者でも知ってるぞ
0430デフォルトの名無しさん2013/12/11(水) 15:04:35.29
>>428
釣りだろ
ちょっと調べればすぐわかる
0431デフォルトの名無しさん2013/12/11(水) 15:58:08.91
treeView1.Nodes.Clear();
TreeNode sNode = new TreeNode();
sNode = treeView1.Nodes.Add("unko", "unko");// 1
sNode = treeView1.Nodes.Add("Unko", "Unko");// 2
sNode = treeView1.Nodes["Unko"].Nodes.Add("po", "po");// 3

3を2の子ノードに設定しようとしたら1の子ノードになってしまいます。
stringキーは大文字小文字の区別はしないのか?
0432デフォルトの名無しさん2013/12/11(水) 16:04:33.92
ドキュメント読め
0433デフォルトの名無しさん2013/12/11(水) 16:29:36.62
大文字小文字で区別するなって言われなかったか?
0434デフォルトの名無しさん2013/12/11(水) 16:52:28.13
フォームアプリ作成で左側にデスクトップを頂点としたエクスプローラのような、ツリービューを作りたいんですが
調べた結果、下記のサイトを見つけ、
ttp://ari-it.doorblog.jp/archives/28674070.html
shell32.dllとIShellFolderインターフェイス使うらしいのですが、まるで分かりません
どう使って実装していけばいいのか、教えて下さいお願いします
0435デフォルトの名無しさん2013/12/11(水) 18:16:55.81
言っちゃ悪いけど割と高度ですよ多少COMを知らないといけないからね
http://www.codeproject.com/Articles/3551/C-does-Shell-Part-1

C#1年未満なら2年生になってから出直してきて
0436デフォルトの名無しさん2013/12/11(水) 18:57:41.07
http://www.forest.impress.co.jp/library/img/review/10325/html/prcsxplorer.jpg.html
見たいなリストとツリーが合体したようなコントロールってどこにあるの?

GUIはC#が楽だという噂だが、みつからん
0437デフォルトの名無しさん2013/12/11(水) 19:00:17.20
見つかるわけない
作らなければないから
0438デフォルトの名無しさん2013/12/11(水) 19:14:40.88
作るならグリッドをベースにしてこんな感じか?
ソート無効
CollapseはRowのDelete
ExpandはRowのReject
子レコードはList<DataRow>列で管理
0439デフォルトの名無しさん2013/12/11(水) 19:32:36.22
>>434
Windows API Code Packを使うと、割と簡単にできる
0440デフォルトの名無しさん2013/12/11(水) 21:04:54.80
>>434
IShellFolder, IEnumIDListといくつかのShellAPIを使えばできるにょ

COMインターフェイスの定義はPInvoke.netでみつかるにょ
コピペして自分のソースに貼り付けれはいいにょ
.netだとCOMはタイプライブラリをインポートするか定義を自分で書くかだにょ
馬鹿にはコピペが一番だにょ
0441デフォルトの名無しさん2013/12/11(水) 21:06:52.44
馬鹿みたいな語尾もコピペなんですね
0442デフォルトの名無しさん2013/12/11(水) 21:07:43.19
IMallocって使わないよね?
Marshal.AllocCoTaskMemとMarshal.FreeCoTaskMemしか使わない
0443デフォルトの名無しさん2013/12/11(水) 21:13:58.16
自分で使うことはないね
0444デフォルトの名無しさん2013/12/11(水) 22:26:06.63
Marshalってどういう意味なん?
0445デフォルトの名無しさん2013/12/11(水) 22:47:22.20
元は軍人の階級
転じて(兵を)整列させる、誘導するって意味
0446デフォルトの名無しさん2013/12/11(水) 22:50:23.17
格闘技の事だよ
0447デフォルトの名無しさん2013/12/11(水) 22:53:30.11
それはMartial
0448デフォルトの名無しさん2013/12/11(水) 23:15:49.05
>>445
すげー物知りですね、ありがとうございます!
だからTask関係あるんですね、よく理解できました
やっぱ英語わかるとはかどるんだろうなー
0449デフォルトの名無しさん2013/12/12(木) 00:01:29.95
納得していいのかなあw
そもそもmarshalingっていう言い方そのものがあんまり適切じゃないようにも思うけど。

たぶん.NETはましな方だと思うけど、それでも妙な用語とか命名とか他にも結構あるよ。
例えばPredicate<T>って一体全体どの辺りがpredicateなんだろうねw
0450デフォルトの名無しさん2013/12/12(木) 00:11:57.92
そんな不自然とも思えないけど

c〔+目的語+of+(代)名詞〕〈…を〉〔…の〕属性であると断定する.
用例
He predicated rationality of humankind. 彼は合理性は人間の属性である[人間は生来合理的である]と断言した.
0451デフォルトの名無しさん2013/12/12(木) 00:12:25.56
論理学のpredicateだろ
カラスは黒い
みたいなもん
0452デフォルトの名無しさん2013/12/12(木) 00:17:50.28
xは1より大きい→ x => 1 < x
どう見ても述語だろ?
0453デフォルトの名無しさん2013/12/12(木) 00:21:52.19
>>450
思いっきり不自然だよ。

Predicate<T>の値に期待される機能は、T型の値を評価してboolを返す機能。
こういうの普通は断言とか術語とか言わないでしょ。
0454デフォルトの名無しさん2013/12/12(木) 00:28:20.07
5は1より大きい なら主語+述語だろ
この5を任意に指定できるように xは1より大きい x => 1 < x
とすれば、この式は述語だけを取り出したものと考えられるわけだ
0455デフォルトの名無しさん2013/12/12(木) 00:31:31.96
1より大きい5
0456デフォルトの名無しさん2013/12/12(木) 00:34:14.86
5 is more than 1
0457デフォルトの名無しさん2013/12/12(木) 00:38:10.62
>>453
え、もろに述語っていうだろ。論理型プログラミングやったことないのん?

How to define a predicate in prolog
http://stackoverflow.com/questions/1843899/how-to-define-a-predicate-in-prolog
0458デフォルトの名無しさん2013/12/12(木) 00:39:10.09
>>454
何言ってるのかよく分からないけど数学の話とごっちゃになってない?

同じ「x > 1」でも、

[数学の世界の意味]
xは1より大きい(x > 1デアル)

[C#の世界の意味]
xが1より大きいときtrueと評価せよ(x > 1デアルカ?)

と全然違う。
数学の方は術語と言ってもよいかもしれないが、C#の方はやはりかなり違和感がある。
0459デフォルトの名無しさん2013/12/12(木) 00:41:27.95
>>458
なんかこういう否定だけして代替案を出さない奴ってPGに多いよなー
おまえはそんなに全能なのかと
04604572013/12/12(木) 00:42:35.15
そもそも”述語論理”って単語を知らない人たちの議論ですか?
0461デフォルトの名無しさん2013/12/12(木) 00:42:53.32
いや数学でも xは1より大きい は論理式で真偽値を表すと考えるのが普通だろ
0462デフォルトの名無しさん2013/12/12(木) 00:46:11.40
>>460
それを知ってたらそもそも疑問に思わないだろアホか
0463デフォルトの名無しさん2013/12/12(木) 00:53:41.69
なんでこのスレこんなに酷いの?
04644572013/12/12(木) 00:53:47.00
>>462
知った上で疑問を呈している可能性も考慮したので…
0465デフォルトの名無しさん2013/12/12(木) 01:07:56.71
>>459
あんたがやってることがその否定そのものなんだけどね。

君のように疑問を呈すること(議論すること)そのものを批判するのは宗教者か未開人の
態度であって技術者の態度じゃないよ。


まあ、素直にEvaluate<T>とかにしなかった理由は分からないでもない。
たぶんevaluateだと意味が限定され過ぎると思ったんだろうね。
でももう一段抽象度を上げた適切な表現がないから苦し紛れなんだろうとは思う。
0466デフォルトの名無しさん2013/12/12(木) 01:11:47.11
evaluateの方が一般的すぎると思うけどな
一般的な感覚でどうかは知らないがプログラミングやってる人なら大抵そう感じると思うよ
0467デフォルトの名無しさん2013/12/12(木) 01:12:28.82
述語論理も知らない
ラムダも知らない
LINQはいまだにSQLじみた奇怪な構文を使う自分とは関係ないものだと思ってる
2次元配列を使う
けれどJavaは馬鹿にする


なんかどうしようもないよなお前らって
Javaのエンスージアストは優秀だから言語にラムダが入ったらあっという間に抜かされるわ
C#のエンスージアストは(というかお前らは)質的に最低だ
0468デフォルトの名無しさん2013/12/12(木) 01:14:19.44
どっちにしろボリューム層はドカタだから平均的には差はないよ
■ このスレッドは過去ログ倉庫に格納されています