トップページ⇒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/
0357デフォルトの名無しさん2013/12/09(月) 10:56:14.12
自分が作った俺俺コンテナとかマジ勘弁してください
0358デフォルトの名無しさん2013/12/09(月) 11:53:19.57
2次元配列の方が早いからジャグ配列は使うなって俺が持ってる本に書いてた
0359デフォルトの名無しさん2013/12/09(月) 12:12:23.75
>>358
どの本?
0360デフォルトの名無しさん2013/12/09(月) 12:31:36.83
昼日中からお元気ですなあ
0361デフォルトの名無しさん2013/12/09(月) 12:59:48.54
>ジャグ配列の方が早いから2次元配列は使うなってどこかで読んだことがあるけど違うの?

これに対するおちょくりでしょ。ここは変な荒らし多いからな
合ってるよ。単純に配列並べてアクセスするならジャグドの方が多次元より早い
0362デフォルトの名無しさん2013/12/09(月) 13:08:48.11
.NET アプリケーションのパフォーマンス関連のヒントとトリック
http://msdn.microsoft.com/ja-jp/library/ms973839.aspx

>v1 の JIT は、jagged 配列 (「配列の配列」) を矩形の配列よりも効率的に最適化することができ、その違いは顕著なものです。
0363デフォルトの名無しさん2013/12/09(月) 13:17:31.00
キチガイが嘘書きまくってるのか。まじシネよ、チンカス。 >>356 >>358 >>360
0364デフォルトの名無しさん2013/12/09(月) 13:18:53.27
マルチスレッド君だな。
0365デフォルトの名無しさん2013/12/09(月) 13:19:31.00
>>361
あほかw
0366デフォルトの名無しさん2013/12/09(月) 13:40:18.48
>>362
2001 年 8 月

ちと古くないか?
0367デフォルトの名無しさん2013/12/09(月) 13:45:16.11
使い方次第でも変わる可能性があるし
結局は自分で確認しろとしか
0368デフォルトの名無しさん2013/12/09(月) 14:06:15.21
>>356に関しては根拠はあるけどね
いい勝負してるよ
VC++ vs MSCLRで比べると逆転する

C# Generic (mono)
http://ideone.com/doMVEW
List back : 1000000 : 00:00:00.0209179
List front : 100000 : 00:00:03.6538403
LinkedList back : 1000000 : 00:00:00.2210205
LinkedList front : 1000000 : 00:00:00.3238953

C++/STL
http://ideone.com/NynvMY
vector back : 1000000 : 0
vector front : 100000 : 3.69
list back : 1000000 : 0.13
list front : 1000000 : 0.08
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
■ このスレッドは過去ログ倉庫に格納されています