探検
ふらっと C#,C♯,C#(初心者用) Part129 [無断転載禁止]©2ch.net
レス数が1000を超えています。これ以上書き込みはできません。
1デフォルトの名無しさん 転載ダメ©2ch.net (ワキゲー MMff-S7v4)
2017/06/09(金) 18:36:01.72ID:lNiKtgPwM「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part128
http://mevius.2ch.net/test/read.cgi/tech/1493730340/
■関連スレ
C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1492843013/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
---
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
2デフォルトの名無しさん (ワッチョイ 7d8e-NVn+)
2017/06/09(金) 18:49:58.07ID:raePFHAA0 質問しようとしたらちょうど新スレのようで、>>1さんお疲れさまです。
そしてもしスレ違いならすみません。
それなりにプログラミングの経験はあると思うのですが積極的に GUI のアプリケーションを作成したことがなかったため、Visual C# を学ぼうと考えました。
選択理由は C# はそれなりに把握して他の言語と比較しても好みだったためと、Qt などよりも使い勝手がよさそうに見えたためです。
ところが実際にはじめてみると細かい機能がよく分からず、MSDN のドキュメントは体系立てて学習するには少し使いにくすぎ、
書籍なども「C# そのものの内容についてがメインで求めている内容はおまけ程度」というものがほとんどで、取っかかりを得られずに困っています。
もし定番の学習法や便利な書籍・サイトなどがありましたらご教示願えませんでしょうか?
あるいは皆さんがどんな風に学ばれたのかなど参考までに教えていただければ……。
またひとつ確認なのですが、普通のメモ帳より高性能なテキストエディタを作成したいとするのならばコンポーネントを自作しなければいけないという認識であっているでしょうか?
MSDN の関連項目を見てもいまいち理解できないのですが、もしかしてこれはかなり難度高めでしょうか?
無知で申し訳ありませんがよろしくお願いします。
そしてもしスレ違いならすみません。
それなりにプログラミングの経験はあると思うのですが積極的に GUI のアプリケーションを作成したことがなかったため、Visual C# を学ぼうと考えました。
選択理由は C# はそれなりに把握して他の言語と比較しても好みだったためと、Qt などよりも使い勝手がよさそうに見えたためです。
ところが実際にはじめてみると細かい機能がよく分からず、MSDN のドキュメントは体系立てて学習するには少し使いにくすぎ、
書籍なども「C# そのものの内容についてがメインで求めている内容はおまけ程度」というものがほとんどで、取っかかりを得られずに困っています。
もし定番の学習法や便利な書籍・サイトなどがありましたらご教示願えませんでしょうか?
あるいは皆さんがどんな風に学ばれたのかなど参考までに教えていただければ……。
またひとつ確認なのですが、普通のメモ帳より高性能なテキストエディタを作成したいとするのならばコンポーネントを自作しなければいけないという認識であっているでしょうか?
MSDN の関連項目を見てもいまいち理解できないのですが、もしかしてこれはかなり難度高めでしょうか?
無知で申し訳ありませんがよろしくお願いします。
3デフォルトの名無しさん (ワッチョイ 0b61-yTT2)
2017/06/09(金) 19:00:13.53ID:RD1lQy150 >>1
立て乙
>>2
内容は古いけどまとまっているところ
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
https://dobon.net/vb/dotnet/
というか困ったらその内容でググれ
>テキストエディタを作成したいとするのならばコンポーネントを自作しなければいけない
何をしたいかわからないから答えようがないが、とりあえずRichTextBoxで作っていけば?
立て乙
>>2
内容は古いけどまとまっているところ
http://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
https://dobon.net/vb/dotnet/
というか困ったらその内容でググれ
>テキストエディタを作成したいとするのならばコンポーネントを自作しなければいけない
何をしたいかわからないから答えようがないが、とりあえずRichTextBoxで作っていけば?
4デフォルトの名無しさん (ワッチョイ 7d8e-NVn+)
2017/06/09(金) 19:24:13.24ID:raePFHAA0 >>3
ありがとうございます。
後者は恥ずかしながらVB.netについてのページと思いこんで飛ばしていました……。
テキストエディタについては、リッチテキストは未確認ですが、
標準のものは字間・行間の調整など、メモ帳にはないけど普通のテキストエディタならあるような設定が無理そうでしたので。
ありがとうございます。
後者は恥ずかしながらVB.netについてのページと思いこんで飛ばしていました……。
テキストエディタについては、リッチテキストは未確認ですが、
標準のものは字間・行間の調整など、メモ帳にはないけど普通のテキストエディタならあるような設定が無理そうでしたので。
5デフォルトの名無しさん (ラクッペ MM51-C3i6)
2017/06/09(金) 19:39:15.37ID:/AOOOyDNM たのしいC#って本でプログラミング勉強した人いますか?
レベルはどれくらいですか
レベルはどれくらいですか
6デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/09(金) 19:44:38.32ID:+suy1KAna 入門書は書店で中味見て
形があるアプリ作ってるのがいいよ
作ってるアプリが自分の興味ないものだったら買うのをやめたほうがいいかも
形があるアプリ作ってるのがいいよ
作ってるアプリが自分の興味ないものだったら買うのをやめたほうがいいかも
7デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/09(金) 20:27:45.19ID:Y6dY8bQba >>2
一応突っ込んでおくけど、エディタ作りたいって初心者にありがちだけど、
エディタって初心者が想像するほど簡単じゃないからやめといた方がいいと思うよ
少なくとも外観のシンプルさに騙されて実装の大変さが想像つかないレベルのうちは
絶対に挫折するw
一応突っ込んでおくけど、エディタ作りたいって初心者にありがちだけど、
エディタって初心者が想像するほど簡単じゃないからやめといた方がいいと思うよ
少なくとも外観のシンプルさに騙されて実装の大変さが想像つかないレベルのうちは
絶対に挫折するw
8デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/09(金) 20:33:06.88ID:jPp38qoUa テキストコントロール自体を改良するか自分でいちから作り上げるか
どっちにしても初心者には鬼門過ぎる
似たような問題で
電卓作ってcalcと同じ動作で作れる奴
なんか新卒でいても1人だな
どっちにしても初心者には鬼門過ぎる
似たような問題で
電卓作ってcalcと同じ動作で作れる奴
なんか新卒でいても1人だな
9デフォルトの名無しさん (ワッチョイ db93-C3i6)
2017/06/09(金) 20:38:33.22ID:/H0LPwnR010デフォルトの名無しさん (ワッチョイ bd66-yTT2)
2017/06/09(金) 20:47:11.62ID:iWWz3Pko0 AvalonEditって代物が有って、コレを使えば簡単にエディター作れるには作れるんだがwpfなんだよな
http://avalonedit.net/
http://avalonedit.net/
11デフォルトの名無しさん (ワッチョイ 1512-KUvf)
2017/06/09(金) 21:07:37.49ID:k+3fMdQf0 >>10
仮にForms版があったとしても、プログラミングの勉強にはならないだろ。
仮にForms版があったとしても、プログラミングの勉強にはならないだろ。
12デフォルトの名無しさん (ブーイモ MMa9-puft)
2017/06/09(金) 21:24:43.76ID:lTunlEdIM13デフォルトの名無しさん (JP 0H91-Fz1p)
2017/06/09(金) 21:52:17.12ID:Mc8AIFQyH あまり理想を追求せずにメモ帳程度のとりあえず動きますレベルの作るんだったら、
入門用に手頃な題材だと思うけどな
ただ、textboxの動作のカスタマイズとか考え出したら、途端にノウハウが必要に
なってくるし、さらに多くを求めると、自分でコントロール自作したほうがいいじゃ
ないかって話になってくる
入門用に手頃な題材だと思うけどな
ただ、textboxの動作のカスタマイズとか考え出したら、途端にノウハウが必要に
なってくるし、さらに多くを求めると、自分でコントロール自作したほうがいいじゃ
ないかって話になってくる
14デフォルトの名無しさん (ワッチョイ 7d8e-NVn+)
2017/06/09(金) 22:05:28.35ID:raePFHAA015デフォルトの名無しさん (ワッチョイ 0de3-K3wN)
2017/06/09(金) 22:50:12.15ID:3riuGxqe0 >>7
だよな、VB.NETで文字色と背景色が変えられる印刷プレビュー付きのメモ帳を
作ってみたけど結構大変だったわ。変な挙動が出ないようにきれいに仕上げるのが大変大変
将来的には秀丸並なエディタを考えていたが諦めた。バージョンアップもしてないし
>>8
それも大変だわな。作ってみようと思ってるんだけど全然やってないわ
>>13
そうそう、TextBoxの扱い大変だったわ。Win32APIのサイト読みまくった覚えがある
タブ幅を変えられるようにするにはWin32APIでいじらないとダメなんだよな
せめてタブ幅を変えられるようにしたいと思い勉強してやり方分かったのに結局やってないわ…
夏休みにでも挑戦してみるかな
だよな、VB.NETで文字色と背景色が変えられる印刷プレビュー付きのメモ帳を
作ってみたけど結構大変だったわ。変な挙動が出ないようにきれいに仕上げるのが大変大変
将来的には秀丸並なエディタを考えていたが諦めた。バージョンアップもしてないし
>>8
それも大変だわな。作ってみようと思ってるんだけど全然やってないわ
>>13
そうそう、TextBoxの扱い大変だったわ。Win32APIのサイト読みまくった覚えがある
タブ幅を変えられるようにするにはWin32APIでいじらないとダメなんだよな
せめてタブ幅を変えられるようにしたいと思い勉強してやり方分かったのに結局やってないわ…
夏休みにでも挑戦してみるかな
16デフォルトの名無しさん (ワッチョイ 0ba2-D9zB)
2017/06/09(金) 22:52:24.97ID:7pQW/h0l0 作りたいと思うものを作ればいい
挫折するのも勉強のうち
挫折するのも勉強のうち
17デフォルトの名無しさん (ワキゲー MM13-ViKn)
2017/06/09(金) 23:10:41.46ID:hBMXxcIqM GUIアプリ作成の習得の前にOOPの勉強からじゃないかな
18デフォルトの名無しさん (ワッチョイ 156e-puft)
2017/06/09(金) 23:18:42.25ID:deOaTYIP0 俺も最初にプログラミングに入門したときはVC#のGUI開発のチュートリアル的な本をやったけど
全くもって時間の無駄だったわ
その後で@ITのクソ長い川俣の文法解説を苦しみながら読んでやっと身についた
全くもって時間の無駄だったわ
その後で@ITのクソ長い川俣の文法解説を苦しみながら読んでやっと身についた
19デフォルトの名無しさん (ワッチョイ 8b91-D9zB)
2017/06/10(土) 03:06:37.86ID:9CkaHZjz0 文法なんて何の苦労もしないだろ
20デフォルトの名無しさん (ワッチョイ 23ea-7sZ5)
2017/06/10(土) 03:23:40.05ID:1Hn0tUJS0 どういうときにその書き方をする/機能を使うべきか、が知りたいのよね
21デフォルトの名無しさん (ワッチョイ 0d6f-3b4N)
2017/06/10(土) 05:23:55.06ID:t5/pUE6C0 あー俺もやったわエディタ作成
何とか .NET 内で済まそうとやりくりしても結局 Win32api が必要になるという
何とか .NET 内で済まそうとやりくりしても結局 Win32api が必要になるという
22デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/10(土) 17:31:02.75ID:BjmuQFWZr C#の文法は解りやすいよね
C/C++からだったのもあってかとても楽だった
C/C++からだったのもあってかとても楽だった
23デフォルトの名無しさん (アウアウウー Sa99-yTT2)
2017/06/10(土) 17:44:50.65ID:8hZhOGpOa 文法がわかるのと誤解なく使えるのは別物です
24デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/10(土) 17:47:17.83ID:1OFjIP+40 >>23
誤解なく使えるようになってる状態をわかってるって言うんじゃねーの?
誤解なく使えるようになってる状態をわかってるって言うんじゃねーの?
25デフォルトの名無しさん (アウアウウー Sa99-yTT2)
2017/06/10(土) 17:57:29.41ID:8hZhOGpOa そういう文脈じゃないでしょ?
26デフォルトの名無しさん (ワッチョイ 2391-D9zB)
2017/06/10(土) 19:38:42.68ID:PzybJK5d0 WPFにそろそろ移行しなきゃと思いつつ全くできん
MVVMもようわからん
MVVMもようわからん
27デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 20:20:15.41ID:rv8ogaG3a フォームにテキストボックスどれくらいの数までパフォーマンス落ちないでいけるかわかる?
150個近く置きたいんだけど、ロードの時パラパラ漫画なるかな?
150個近く置きたいんだけど、ロードの時パラパラ漫画なるかな?
28デフォルトの名無しさん (ワッチョイ 8b6f-yWa+)
2017/06/10(土) 20:23:21.17ID:HebsjGPU0 設計を見直せ
29デフォルトの名無しさん (ワッチョイ 0b61-yTT2)
2017/06/10(土) 20:23:28.55ID:MbS3wo5J030デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 20:30:35.51ID:rv8ogaG3a31デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/10(土) 20:35:28.02ID:s9o/w7+ta32デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 20:45:06.73ID:rv8ogaG3a33デフォルトの名無しさん (ワッチョイ d5c5-Kg10)
2017/06/10(土) 21:04:20.90ID:vfV2Yx340 >>32
dategridviewじゃあかんのか?
dategridviewじゃあかんのか?
34デフォルトの名無しさん (ワッチョイ 15c0-yTT2)
2017/06/10(土) 21:19:08.32ID:M+kTqTcG035デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 21:22:26.64ID:rv8ogaG3a >>33
ありがとうございます
datagridviewだとレイアウト上ちょっと厳しいんですよね。。
最悪テキストボックスとdatagridviewの組み合わせでいこうとは思ってますが
もしくはformをわけるかですかね。。
ありがとうございます
datagridviewだとレイアウト上ちょっと厳しいんですよね。。
最悪テキストボックスとdatagridviewの組み合わせでいこうとは思ってますが
もしくはformをわけるかですかね。。
36デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 21:24:13.48ID:rv8ogaG3a37デフォルトの名無しさん (ワッチョイ 23ea-wVeE)
2017/06/10(土) 22:33:54.40ID:XdYy5zTm0 150個のテキストボックスなんて表示されてたとしても使う方がついてけないと思うけど。
31 が言ってるみたいにか、(ラベルか何かで)データを表示だけしといてクリックなりのタイミングで
テキストボックスをその位置に表示して編集可能にするとかが妥当だと思うなあ。やるなら。
本当に「一度に全部を確認したい」の? よくよく考えてみたらそんな必要なかったりしない?
31 が言ってるみたいにか、(ラベルか何かで)データを表示だけしといてクリックなりのタイミングで
テキストボックスをその位置に表示して編集可能にするとかが妥当だと思うなあ。やるなら。
本当に「一度に全部を確認したい」の? よくよく考えてみたらそんな必要なかったりしない?
38デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/10(土) 23:03:03.55ID:Wb+MS3Tir まあ、業務アプリだとありがちかもしれないねw
39デフォルトの名無しさん (アウアウエー Sa93-mlCz)
2017/06/10(土) 23:03:35.10ID:Lo444BJba よー分からんが、入力の時は3ページくらいに分割しといて、確認は1ページみたいな感じが良いんじゃないか?
40デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/10(土) 23:24:10.53ID:Io2vHiPPa Excel15x10だと思うと全然大したことないのにな
41デフォルトの名無しさん (ワッチョイ 23ea-g/1O)
2017/06/10(土) 23:54:35.71ID:ZRXNskxD0 150個なんて全然軽いんじゃないの?
1500個なら重そうだけど
スクロール外にも及ぶなら、virtualViewみたいな設定ってWPFにないの?スクロール外のパーツをスクロールされたときに描写するViewみたいなの
1500個なら重そうだけど
スクロール外にも及ぶなら、virtualViewみたいな設定ってWPFにないの?スクロール外のパーツをスクロールされたときに描写するViewみたいなの
42デフォルトの名無しさん (ワッチョイ 85aa-wVeE)
2017/06/11(日) 00:07:06.98ID:J1z4hNf20 あるクラスの中でメソッドA〜Zまである中でメソッドA〜Cには同じ引数が渡されるので
これを別クラス化してコンストラクタに引数を渡してクラス変数を参照するように書き換えたらいいかなと思ったんですがどうなんでしょうか?
これを別クラス化してコンストラクタに引数を渡してクラス変数を参照するように書き換えたらいいかなと思ったんですがどうなんでしょうか?
43デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 00:15:25.88ID:uDFgvSvSa 何を狙ってるの?
A-Cの引数がこれからも同じ保証なんかないじゃん
余計なことするなよ
A-Cの引数がこれからも同じ保証なんかないじゃん
余計なことするなよ
44デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/11(日) 01:40:30.93ID:zqgDUCjYa45デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/11(日) 14:09:21.09ID:h7UNpT7Nr >>41
150個くらいなら楽勝だと思うが、UIとしてどうなの?って感じたと思う。
150個くらいなら楽勝だと思うが、UIとしてどうなの?って感じたと思う。
46デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/11(日) 14:11:29.27ID:h7UNpT7Nr >>42
その場合、「同じ引数」に強い関連がある可能性が高いので、それに関する全てに関数を別クラスにするのは有だと思う。
その場合、「同じ引数」に強い関連がある可能性が高いので、それに関する全てに関数を別クラスにするのは有だと思う。
47デフォルトの名無しさん (ワッチョイ 1d4b-D9zB)
2017/06/11(日) 14:14:21.51ID:blxFZxbL0 >>42
C#関係ないじゃんスレチだぞ
C#関係ないじゃんスレチだぞ
48デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 14:15:49.84ID:tNh5tYdla >>45
だからExcelがやりたいんだろ
だからExcelがやりたいんだろ
49デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 14:18:20.91ID:tNh5tYdla >>42
後からBだけ引数1個増えましたってときに「コイツ(製作者)ばっかじゃねーの」って思う
後からBだけ引数1個増えましたってときに「コイツ(製作者)ばっかじゃねーの」って思う
50デフォルトの名無しさん (ワッチョイ 0de3-Fz1p)
2017/06/11(日) 15:10:20.00ID:LjgG7elm0 >>27
.NETじゃなくてAccessのフォームに150個近く(たぶん正確には135個)のテキストボックスを
配置して業務用の単票フォームを作ったことあるけど全然問題なく動いてたよ。表示も一瞬で表示されてた
テキストボックスにはデータセット紐づけのほかに計算式入れてたりユーザー定義関数を使ってたりで
色々データを表示してた
.NETじゃなくてAccessのフォームに150個近く(たぶん正確には135個)のテキストボックスを
配置して業務用の単票フォームを作ったことあるけど全然問題なく動いてたよ。表示も一瞬で表示されてた
テキストボックスにはデータセット紐づけのほかに計算式入れてたりユーザー定義関数を使ってたりで
色々データを表示してた
51デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 15:16:13.74ID:tNh5tYdla52デフォルトの名無しさん (ワッチョイ 1512-KUvf)
2017/06/11(日) 15:17:08.87ID:xcBrsLWO0 >>50
.NETじゃないなら、あまり参考にならないのでは。
.NETじゃないなら、あまり参考にならないのでは。
53デフォルトの名無しさん (ワッチョイ 0de3-Fz1p)
2017/06/11(日) 15:37:41.91ID:LjgG7elm054デフォルトの名無しさん (アウアウカー Sae1-yWa+)
2017/06/11(日) 16:10:25.22ID:ZoOWYz/Pa >>27です
レスくれた皆さんありがとうございました
自分の環境で確認したら80個くらいまではロード時違和感なく表示されましたが、150個ともなるとロード時に斜めに走るようにパラパラ表示されました
ロードしたその時だけなので別にいいかなという気もしてますがやはりアプリ自体が重たい印象を受けるのでちょっと見直してみます
レスくれた皆さんありがとうございました
自分の環境で確認したら80個くらいまではロード時違和感なく表示されましたが、150個ともなるとロード時に斜めに走るようにパラパラ表示されました
ロードしたその時だけなので別にいいかなという気もしてますがやはりアプリ自体が重たい印象を受けるのでちょっと見直してみます
55デフォルトの名無しさん (ブーイモ MMa9-puft)
2017/06/11(日) 16:24:09.83ID:4DbbNWthM56デフォルトの名無しさん (ワッチョイ 0b61-yTT2)
2017/06/11(日) 16:48:21.90ID:usK/W+VE057デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 17:18:37.22ID:3RzQhoqha managementstudioはたくさんフィールドがあるテーブル表示してもあんなに軽いのに
datagridviewとかテキストボックスとか超絶ゴミだからな
なんとかしろよな
datagridviewとかテキストボックスとか超絶ゴミだからな
なんとかしろよな
58デフォルトの名無しさん (ワッチョイ 0ba2-yTT2)
2017/06/11(日) 17:39:41.98ID:mSEaOp/M0 こんな時XAMLさんならサクサクだったのかも
59デフォルトの名無しさん (ワッチョイ 2311-W6lL)
2017/06/11(日) 17:59:33.48ID:q49UmmFG0 >>57
> managementstudioはたくさんフィールドがあるテーブル表示してもあんなに軽いのに
テキストしか表示してないにしても確かにあれは驚異的に軽いな
100万件とか表示させても楽々表示してるし
> managementstudioはたくさんフィールドがあるテーブル表示してもあんなに軽いのに
テキストしか表示してないにしても確かにあれは驚異的に軽いな
100万件とか表示させても楽々表示してるし
60デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/11(日) 20:07:45.10ID:h7UNpT7Nr >>54
どんな作り方してるのか全く不明だけど、150個ロード?中に描画止めてないとか?
どんな作り方してるのか全く不明だけど、150個ロード?中に描画止めてないとか?
6142 (ワッチョイ 85aa-wVeE)
2017/06/11(日) 21:48:54.89ID:J1z4hNf20 自分的には1クラス長々記述するより、同じ引数の関連性が強いメソッドを別クラスで定義したほうが後々保守しやすいかなと思いまして
でもクラス増えることになってかえってグチャグチャになるかもしれませんね、もう少し綺麗にかけるといいんですけどね
でもクラス増えることになってかえってグチャグチャになるかもしれませんね、もう少し綺麗にかけるといいんですけどね
62デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 22:00:02.90ID:3RzQhoqha >>61
綺麗って誰にとって綺麗なん?
クラス図も無いのに設計書にも仕様書にも出てこないワードでクラス作られたら困るわ
第一拡張って拡張する方向性やらお客さんと相談した上でやっとるんか?
遊びちゃうで?
自分作んのは勝手やねんけどな
誰にとってわかりやすいか考えたことあるんか?
レビューとかあんまりしないで逃げてると下手っぴになってしまうで
綺麗って誰にとって綺麗なん?
クラス図も無いのに設計書にも仕様書にも出てこないワードでクラス作られたら困るわ
第一拡張って拡張する方向性やらお客さんと相談した上でやっとるんか?
遊びちゃうで?
自分作んのは勝手やねんけどな
誰にとってわかりやすいか考えたことあるんか?
レビューとかあんまりしないで逃げてると下手っぴになってしまうで
63デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/11(日) 22:04:06.20ID:bORb47TQa >>61
根本的に何か勘違いしてるねw
君のやろうとしていることは、会社みたいな組織に例えたら
部署を名前のあいうえお順で分けるような話
何で人事部とか経理部とか営業部とか技術開発部とか
機能別に分割されているか考えたことある?
根本的に何か勘違いしてるねw
君のやろうとしていることは、会社みたいな組織に例えたら
部署を名前のあいうえお順で分けるような話
何で人事部とか経理部とか営業部とか技術開発部とか
機能別に分割されているか考えたことある?
64デフォルトの名無しさん (ワッチョイ 15c0-yTT2)
2017/06/11(日) 22:38:10.80ID:Y992bXXK0 ソース晒してスレ住民にリファクタリングしてもらうのが手っ取り早い
65デフォルトの名無しさん (ワッチョイ d56f-D9zB)
2017/06/11(日) 23:15:58.98ID:ldHAHhtB066デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/11(日) 23:51:07.00ID:h7UNpT7Nr67デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/12(月) 06:32:30.65ID:+fwK+2k2a >>65
理由は?
理由は?
68デフォルトの名無しさん (ワッチョイ 0ba2-yTT2)
2017/06/12(月) 06:43:36.79ID:nTXT2jNo0 プログラムの話じゃなくて業務の話だからじゃないかな
俺は>>61はそんな間違ってないと思うけど
基本的なクラス構造は保つべきだけど
頻繁に変更される箇所を別クラスに切り出したりするのは当たり前だと思う
柔軟に対応ってのがオブジェクト指向でしょ理由があるなら
俺は>>61はそんな間違ってないと思うけど
基本的なクラス構造は保つべきだけど
頻繁に変更される箇所を別クラスに切り出したりするのは当たり前だと思う
柔軟に対応ってのがオブジェクト指向でしょ理由があるなら
69デフォルトの名無しさん (ワッチョイ 156e-puft)
2017/06/12(月) 07:06:54.56ID:8YsEkU6k0 >>68
どこが頻繁に変更されるか、その変更の単位はどうなるかはビジネスドメインに依存する
どこが頻繁に変更されるか、その変更の単位はどうなるかはビジネスドメインに依存する
70デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/12(月) 07:22:19.15ID:GxfLKN7ia71デフォルトの名無しさん (ドコグロ MM13-W6lL)
2017/06/12(月) 08:15:39.24ID:A8Wo+8nmM 具体的な要件もなしに
ぼくのさいきょうのせっけい
を語るスレ
ぼくのさいきょうのせっけい
を語るスレ
72デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/12(月) 08:50:40.43ID:chkTGcOaa73デフォルトの名無しさん (ワッチョイ 2366-yTT2)
2017/06/12(月) 09:58:45.32ID:7r+qmVbK0 単なる多態性の話なのに、質問者が初心者だから話が伝わらないだけにも見える
74デフォルトの名無しさん (ドコグロ MM43-I6cc)
2017/06/12(月) 10:13:29.61ID:D/+2CfIyM 質問者は単に同じ処理があったらまとめるって書いてあるテキトーな入門書に騙されちゃったんだよ
75デフォルトの名無しさん (ラクッペ MM51-C3i6)
2017/06/12(月) 19:35:49.82ID:lQGhR5lrM C#って機能が多いけどどうやって覚えるんだ
76デフォルトの名無しさん (JP 0H91-Fz1p)
2017/06/12(月) 19:44:09.17ID:rXd4wbiEH 英語話すのに、すべての英単語を覚える必要はない
使用頻度の高い単語は自然と覚えていくし
使用頻度の高い単語は自然と覚えていくし
77デフォルトの名無しさん (ワッチョイ 8b91-D9zB)
2017/06/12(月) 20:09:32.09ID:jTug809t0 ググってコピペ
78デフォルトの名無しさん (アウアウウー Sa99-OlK+)
2017/06/12(月) 23:51:34.57ID:WNBrqgLFa79デフォルトの名無しさん (ワッチョイ 15e6-Kg10)
2017/06/12(月) 23:53:23.90ID:qV/n4oXY0 最近リストリストを使えるようになった俺に死角はない
80デフォルトの名無しさん (アウアウウー Sa99-OlK+)
2017/06/12(月) 23:55:29.49ID:WNBrqgLFa ***pか
81デフォルトの名無しさん (ワッチョイ 356f-f9xN)
2017/06/13(火) 00:07:21.37ID:B3SNwtco0 リストリストって、List<List<List<型>>>みたいな?
82デフォルトの名無しさん (ワッチョイ 23ea-7sZ5)
2017/06/13(火) 00:51:44.12ID:8KL1Ighu0 リストリストリストじゃん
83デフォルトの名無しさん (ワッチョイ 15e6-Kg10)
2017/06/13(火) 06:05:27.06ID:ewun7OlT0 リストにクラスやリストをぶっこむ(add)する快感。
84デフォルトの名無しさん (ワッチョイ 4542-Ell8)
2017/06/13(火) 12:11:47.02ID:CRzmVHFt0 int[] tmp = Array.ConvertAll(Console.ReadLine().Split(' '), Int32.Parse);
int n = tmp[0];
int k = tmp[1];
エラー処理とかしなくていいとしたら、これをタプルとかで一度にする方法ってありますか?
int n = tmp[0];
int k = tmp[1];
エラー処理とかしなくていいとしたら、これをタプルとかで一度にする方法ってありますか?
85デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/13(火) 12:17:17.70ID:E7DiHEZba 何言ってるのか分からない
これってどれよw
これってどれよw
86デフォルトの名無しさん (ワッチョイ 4542-Ell8)
2017/06/13(火) 12:32:40.52ID:CRzmVHFt0 上記を一時変数を使わずに、一つの処理でできるでしょうか。
87デフォルトの名無しさん (ガックシ 06ab-Fz1p)
2017/06/13(火) 12:38:15.46ID:NvhjJXae6 var result = Console.ReadLine().Split(' ').Select(x=>int.Parse(x)).First(2).ToArray();
でおk
でおk
88デフォルトの名無しさん (ワッチョイ 4542-Ell8)
2017/06/13(火) 13:05:56.18ID:CRzmVHFt0 説明不足ですみません。nとkという名前は使いたいんです。
入力は、
n k
となっていて、C++だと
cin >> n >> k;みたいな。
scanfみたいにConsole.ReadLine("{0} {1}", a, b)とかはできないようだし。
入力は、
n k
となっていて、C++だと
cin >> n >> k;みたいな。
scanfみたいにConsole.ReadLine("{0} {1}", a, b)とかはできないようだし。
89デフォルトの名無しさん (ブーイモ MMa9-yWa+)
2017/06/13(火) 13:20:37.48ID:eDsiBWTDM >>84のでいいじゃん
なんで自分で理解できないコードを書こうとすんだよ
なんで自分で理解できないコードを書こうとすんだよ
90デフォルトの名無しさん (スッップ Sd43-R3Dx)
2017/06/13(火) 13:26:34.53ID:j2Lm3DiZd そういやラムダ式でタプルやったことないな
できるのかな
できるのかな
91デフォルトの名無しさん (アウアウカー Sae1-Ell8)
2017/06/13(火) 14:42:31.00ID:5ju7MduYa すみません。ちょっと質問させて下さい
初めてタイマーコントロールを使ってみたんですが
private void TimerStart()
{
timer1.Interval = 1000;
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
Console.WriteLine("Timer Test");
}
上記を実行すると、1秒おきに「Timer Test」が2回ずつプリントされるんですが
なぜでしょうか。
初めてタイマーコントロールを使ってみたんですが
private void TimerStart()
{
timer1.Interval = 1000;
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Enabled = true;
}
private void timer1_Tick(object sender, EventArgs e)
{
Console.WriteLine("Timer Test");
}
上記を実行すると、1秒おきに「Timer Test」が2回ずつプリントされるんですが
なぜでしょうか。
92デフォルトの名無しさん (ワッチョイ 2366-yTT2)
2017/06/13(火) 14:49:22.12ID:9q19kSwz0 多分
//timer1.Tick += new EventHandler(timer1_Tick);
と、コメントアウトすれば解決
//timer1.Tick += new EventHandler(timer1_Tick);
と、コメントアウトすれば解決
93デフォルトの名無しさん (アウアウカー Sae1-Ell8)
2017/06/13(火) 14:55:25.44ID:5ju7MduYa94デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 16:15:13.18ID:u75hJbewa95デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/13(火) 17:07:42.77ID:yp0lpCGoa >>94
アホはお前。そういうこと言わないの。
質問者はたぶん、ひょっとしてもっとスッキリ書ける方法があるけど
自分が知らないだけじゃないかと思っただけでしょ。
他ではやりづらいアホな質問でも気軽にできる2chの数少ない利点を
つぶすようなことしてどうする。
アホはお前。そういうこと言わないの。
質問者はたぶん、ひょっとしてもっとスッキリ書ける方法があるけど
自分が知らないだけじゃないかと思っただけでしょ。
他ではやりづらいアホな質問でも気軽にできる2chの数少ない利点を
つぶすようなことしてどうする。
96デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 17:47:30.12ID:w2943itEa97デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 17:57:38.76ID:w2943itEa さらに何がスッキリなんだろう?
現状のコードと改変後のコードを比較して
メリットデメリットを説明できるんだろか?
工数の短縮なのか?
わかりやすさなのか?
汎用性なのか?
他言語への移植のしやすさなのか?
実行速度なのか?
実行負荷なのか?
初心者スレだからこそ問い詰めたい
現状のコードと改変後のコードを比較して
メリットデメリットを説明できるんだろか?
工数の短縮なのか?
わかりやすさなのか?
汎用性なのか?
他言語への移植のしやすさなのか?
実行速度なのか?
実行負荷なのか?
初心者スレだからこそ問い詰めたい
98デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 18:04:34.41ID:zMNW55ydM まあまあwww
pythonでは
line="yamda,090-0000-0000"
name,phone=line.split(',')
でnameとphoneが代入できる
これを最初に見た時なんだか目からうろこが落ちた
便利っちゃ便利だわな
pythonでは
line="yamda,090-0000-0000"
name,phone=line.split(',')
でnameとphoneが代入できる
これを最初に見た時なんだか目からうろこが落ちた
便利っちゃ便利だわな
99デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/13(火) 18:07:10.82ID:yp0lpCGoa ダメだなこりゃw
なるほど知らないことを知ろうとすることが「自分レベルには読めないコードを書こうとしてる」
ことになるわけか。
こういうのを牽強付会って言うんだよね。
バカって言われるべきなのはお宅の方だと思うよw
なるほど知らないことを知ろうとすることが「自分レベルには読めないコードを書こうとしてる」
ことになるわけか。
こういうのを牽強付会って言うんだよね。
バカって言われるべきなのはお宅の方だと思うよw
100デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 18:20:38.27ID:w2943itEa101デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 18:23:26.58ID:zMNW55ydM c# の新しいタプルが導入されたとしてもさっきsplitされた配列から直接代入できない
拡張メソッドを自分で書くしかない
拡張メソッドを自分で書くしかない
102デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:26:31.66ID:yfz+mfcVr 向上心の欠片もない人も多いからしょうがないよ。
103デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 18:28:02.99ID:zMNW55ydM 向上心とは関係ない
出来るかできないかの質問にはできませんで終わり
自分が知らない方法あるのかの質問で粘着されてかわいそうだなとは思う
出来るかできないかの質問にはできませんで終わり
自分が知らない方法あるのかの質問で粘着されてかわいそうだなとは思う
104デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:34:58.46ID:yfz+mfcVr public static (T n, T k) ToTuple(this T[] xs) => (xs[0], xs[1])
いまいちかなw
いまいちかなw
105デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 18:36:27.33ID:w2943itEa >>104
ちなみに元のコードから何が良くなったの?
ちなみに元のコードから何が良くなったの?
106デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:38:33.46ID:yfz+mfcVr107デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:40:01.60ID:yfz+mfcVr108デフォルトの名無しさん (ワキゲー MM13-S7v4)
2017/06/13(火) 18:42:24.13ID:2H7RAtZfM 「一度に処理する方法」の有無を知りたがってるから>>104は可能だと提示した
質問と回答が通じてるからそれでいい
質問と回答が通じてるからそれでいい
109デフォルトの名無しさん (ブーイモ MM59-puft)
2017/06/13(火) 18:44:44.90ID:1lda3qQJM110デフォルトの名無しさん (ワッチョイ 156e-puft)
2017/06/13(火) 18:50:59.77ID:KW2Tb1Ft0 そもそも>>88は破壊的代入してる糞だろ
111デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:58:47.41ID:yfz+mfcVr112デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 19:00:04.17ID:zMNW55ydM お前らは破壊的代入を気にする病気なのか?
113デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 19:29:42.17ID:w2943itEa >>107
説明できないのは不味いけどね
説明できないのは不味いけどね
114デフォルトの名無しさん (ワッチョイ 355f-0GX4)
2017/06/13(火) 19:38:11.25ID:vCLYhKgF0 伸びてるときは読まなくていい法則
115デフォルトの名無しさん (ワキゲー MM13-S7v4)
2017/06/13(火) 19:45:32.33ID:2H7RAtZfM116デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 19:58:18.16ID:w2943itEa >>115
初心者スレで甘やかすのよくねーよ
こんなメリットの説明もできないコード書かれても困る
俺も独学で組んでた時代長かったけど
なんとなくこっち
何となくこれ
って感性でコードの良し悪しを決める癖って仕事で使うときに害にしかならねーよ
初心者スレで甘やかすのよくねーよ
こんなメリットの説明もできないコード書かれても困る
俺も独学で組んでた時代長かったけど
なんとなくこっち
何となくこれ
って感性でコードの良し悪しを決める癖って仕事で使うときに害にしかならねーよ
117デフォルトの名無しさん (ワキゲー MM13-S7v4)
2017/06/13(火) 20:04:14.41ID:2H7RAtZfM118デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 20:07:38.68ID:w2943itEa119デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 20:10:00.35ID:zMNW55ydM 答えとしては言語仕様上は簡単な方法はありません
定石となる書き方もありません
定石となる書き方もありません
120デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 20:16:21.76ID:yfz+mfcVr121デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 20:18:24.89ID:yfz+mfcVr122デフォルトの名無しさん (ワッチョイ 1d4b-D9zB)
2017/06/13(火) 20:31:37.23ID:RZqcqt//0 NGでスッキリ
123デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 20:34:56.50ID:w2943itEa それも1つの選択
ただし、仕事では使えない
説明を求められても回答できない
メリットの説明もできないコードだということは彼の頭にうっすらでもちゃんと残ってくれるだろうね
それでいいよ
ただし、仕事では使えない
説明を求められても回答できない
メリットの説明もできないコードだということは彼の頭にうっすらでもちゃんと残ってくれるだろうね
それでいいよ
124デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 20:38:13.81ID:yfz+mfcVr >>123
説明しても理解出来ないお爺ちゃんお疲れさまでした
説明しても理解出来ないお爺ちゃんお疲れさまでした
125デフォルトの名無しさん (ワッチョイ d56f-kOr2)
2017/06/13(火) 21:22:39.97ID:swVjUcbe0 C#初心者です。
今、コントロールだけを録画するアプリを作ろうと思っているのですが、いいような録画方法がわかりません。
また、フォームを最小化したり、別のウィンドウがかぶってもできるようにしたいです。
調べてみてもwebカメラのものが多く、肝心な録画方法は見つけられませんでした。
また、Aforgeライブラリを使いBitmapをフレームごとに追加しaviファイルにするというものは見つけられましたが
これは画面自体のキャプチャなのでコントロールのみができません。
もちろん座標とサイズを合うように指定すればよいのだと思いますが、この方法では別のフォームがかぶったときにコントロールの部分は見えなくなります。
また、PrintWindow関数を使った方法で指定したコントロールをキャプチャするという方法もあり、これなら・・・と思いましたが
スレッドの関係で画像を撮るときにコントロールにアクセスするため、UIスレッド?で実行しなければいけないので、実行時に一瞬ですが止まってしまいます。
これを繰り返すともちろんフォームを操作できなくなるので、この方法もダメでした。
他に何かいい方法はありませんでしょうか?
もちろん自分のやり方や理解が間違っているということも十分にあるので、そこは指摘してくれればうれしいです。
長文失礼しました。
今、コントロールだけを録画するアプリを作ろうと思っているのですが、いいような録画方法がわかりません。
また、フォームを最小化したり、別のウィンドウがかぶってもできるようにしたいです。
調べてみてもwebカメラのものが多く、肝心な録画方法は見つけられませんでした。
また、Aforgeライブラリを使いBitmapをフレームごとに追加しaviファイルにするというものは見つけられましたが
これは画面自体のキャプチャなのでコントロールのみができません。
もちろん座標とサイズを合うように指定すればよいのだと思いますが、この方法では別のフォームがかぶったときにコントロールの部分は見えなくなります。
また、PrintWindow関数を使った方法で指定したコントロールをキャプチャするという方法もあり、これなら・・・と思いましたが
スレッドの関係で画像を撮るときにコントロールにアクセスするため、UIスレッド?で実行しなければいけないので、実行時に一瞬ですが止まってしまいます。
これを繰り返すともちろんフォームを操作できなくなるので、この方法もダメでした。
他に何かいい方法はありませんでしょうか?
もちろん自分のやり方や理解が間違っているということも十分にあるので、そこは指摘してくれればうれしいです。
長文失礼しました。
126デフォルトの名無しさん (ワッチョイ 0391-D9zB)
2017/06/13(火) 21:32:40.53ID:N47QkURm0 自分のソフトを録画するのか、他プロセスの話なのか
127デフォルトの名無しさん (ブーイモ MMa9-puft)
2017/06/13(火) 22:03:06.77ID:kxrCs3DYM DWMのフレームバッファを取る方法無かったっけ
128デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/13(火) 22:05:04.35ID:00AUiRloa >>125
単なるキャプチャーじゃなくて動画にするの?
なんでそんな高いハードルを設定するのよw
単なる静止画キャプチャーならControl.DrawToBitmapでできるんじゃない?
キャプチャーするレートにもよるだろうけど、余程複雑なコントロールでもない限り
プチフリとかならんと思うけど
単なるキャプチャーじゃなくて動画にするの?
なんでそんな高いハードルを設定するのよw
単なる静止画キャプチャーならControl.DrawToBitmapでできるんじゃない?
キャプチャーするレートにもよるだろうけど、余程複雑なコントロールでもない限り
プチフリとかならんと思うけど
129デフォルトの名無しさん (ワッチョイ 7d96-D9zB)
2017/06/13(火) 22:12:35.61ID:dK6efeen0 隠れAPIのDwmGetDxSharedSurfaceあたりから探ればええんでないかしら
130デフォルトの名無しさん (ワッチョイ d56f-kOr2)
2017/06/13(火) 23:14:01.47ID:swVjUcbe0131デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 23:20:16.99ID:zMNW55ydM132デフォルトの名無しさん (ワッチョイ 15e6-Kg10)
2017/06/14(水) 00:49:02.90ID:YU75e/WJ0 おまいら、paizaで何級?
133デフォルトの名無しさん (ドコグロ MM13-UHXl)
2017/06/14(水) 03:56:51.26ID:QUVmRL9lM 近々S級を取ってみせる。
いまはただのA級ですがね。
いまはただのA級ですがね。
134デフォルトの名無しさん (ワッチョイ a3c4-0GX4)
2017/06/14(水) 06:39:28.96ID:lvKMQC+V0 paizaは知らないけどcodejamでfinalまで行ったよ
135デフォルトの名無しさん (ブーイモ MM59-Kg10)
2017/06/14(水) 06:56:30.58ID:TJHy+lk+M >>133
初心者かよw
初心者かよw
136デフォルトの名無しさん (ブーイモ MMa9-CZFd)
2017/06/14(水) 12:34:01.59ID:TtxDPC/bM >>125
僕もC#のことはよくわかりませんが
C#で書いてるオープンソースのイケてるウインドウ動画キャプチャソフトです
参考になれば
https://github.com/NickeManarin/ScreenToGif
僕もC#のことはよくわかりませんが
C#で書いてるオープンソースのイケてるウインドウ動画キャプチャソフトです
参考になれば
https://github.com/NickeManarin/ScreenToGif
137デフォルトの名無しさん (ブーイモ MM59-Kg10)
2017/06/14(水) 16:23:09.99ID:TJHy+lk+M138デフォルトの名無しさん (ブーイモ MM59-Kg10)
2017/06/14(水) 16:27:38.10ID:TJHy+lk+M ”yyyy/MM/dd HH:mm:ss.fff”
このような時間情報のはいった文字列strを以下のようにDateTimeにcastしますと
DateTime TimeStr = DateTime.Parse(str);
TimeStrの中身は{yyyy/MM/dd HH:mm:ss}となってしまい、ミリ秒の情報がどこかにいってしまいます。
ミリ秒込みでstring型からDateTime型へcastするにはどうやれば良いでしょうか。
このような時間情報のはいった文字列strを以下のようにDateTimeにcastしますと
DateTime TimeStr = DateTime.Parse(str);
TimeStrの中身は{yyyy/MM/dd HH:mm:ss}となってしまい、ミリ秒の情報がどこかにいってしまいます。
ミリ秒込みでstring型からDateTime型へcastするにはどうやれば良いでしょうか。
139デフォルトの名無しさん (ワッチョイ 4de0-TW1k)
2017/06/14(水) 16:51:08.03ID:XhCLl6nw0 単に表示してないだけじゃね?
TimeStr.ToString("yyyy/MM/dd Hh:mm:ss.fff")
とかやってみてみ
TimeStr.ToString("yyyy/MM/dd Hh:mm:ss.fff")
とかやってみてみ
140デフォルトの名無しさん (JP 0H51-C3i6)
2017/06/14(水) 19:15:45.01ID:+kTwcE8uH vbnetと.netframworkの違い教えてください
141デフォルトの名無しさん (ワッチョイ dbea-24vS)
2017/06/14(水) 19:26:28.15ID:Keax5Nyj0142デフォルトの名無しさん (ワッチョイ db93-C3i6)
2017/06/14(水) 20:50:15.87ID:f81xY7pa0143デフォルトの名無しさん (ワッチョイ d56f-kOr2)
2017/06/14(水) 21:09:53.73ID:2DT+QGf30144デフォルトの名無しさん (ワッチョイ 15e6-Kg10)
2017/06/14(水) 22:04:26.13ID:YU75e/WJ0 >>139
仰るとおりでした!
仰るとおりでした!
145デフォルトの名無しさん (ワッチョイ db0d-ZzMJ)
2017/06/14(水) 23:04:58.97ID:ji83wWfb0 vs2015でどこからも参照してない古いクラスファイルをプロジェクトから除外→F5起動すると動作がおかしくなる
(DLLimportが失敗する、app.manifestで設定してる高解像度対応が無効になる)
調べてもよく分からないからそのまま使ってるけど、理由わかる人いますか?
(DLLimportが失敗する、app.manifestで設定してる高解像度対応が無効になる)
調べてもよく分からないからそのまま使ってるけど、理由わかる人いますか?
146デフォルトの名無しさん (ブーイモ MMab-OlK+)
2017/06/14(水) 23:13:48.31ID:vAJEYwl8M147デフォルトの名無しさん (ワッチョイ db0d-ZzMJ)
2017/06/14(水) 23:17:44.15ID:ji83wWfb0148デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/15(木) 08:24:20.94ID:2A/yC8Ge0 >>147
多分外してると思うが、ソリューションのクリーンで治る場合もあります
多分外してると思うが、ソリューションのクリーンで治る場合もあります
149145 (ワッチョイ 160d-hsT2)
2017/06/15(木) 21:40:53.73ID:3vAYf7Jr0150デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/16(金) 17:33:39.10ID:+giSoZYq0 コンボボックスやテキストボックスを10個 for文などで処理したいんですけど何使えばいいですか
for i =0
combobox i =***
textbox i =***
イメージ的にこういう感じです
for i =0
combobox i =***
textbox i =***
イメージ的にこういう感じです
151デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/16(金) 17:40:11.27ID:E3R+yWmZa var cbs = new[]{combobox1, combobox2, ....};
var txts = new[]{textbox1, textbox2, ....};
var txts = new[]{textbox1, textbox2, ....};
152デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/16(金) 19:01:39.55ID:pyKmluG/0 >>150
foreach(var combobox in Controls.OfType<ComboBox>())
{
}
ControlsにFormで定義されている全てのコントロールが入っているから、それからComboBox型だけ抽出
foreach(var combobox in Controls.OfType<ComboBox>())
{
}
ControlsにFormで定義されている全てのコントロールが入っているから、それからComboBox型だけ抽出
153デフォルトの名無しさん (ラクッペ MM3b-wecc)
2017/06/16(金) 19:36:55.46ID:0PcK3P+xM 皆C#で何作ってる?
154デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/16(金) 19:49:27.63ID:ThJw6ZZia155デフォルトの名無しさん (アウアウエー Saf2-2WTa)
2017/06/16(金) 20:27:07.99ID:hd0Ql4Nya ゲーム
156デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/16(金) 20:36:11.50ID:A6bnq7Mza 無粋な突っ込みだけど、自分のレスでも2chに書き込んだ時点で著作権は2chに移動するので
>>154みたいのは微妙にマズいと思う
>>154みたいのは微妙にマズいと思う
157デフォルトの名無しさん (アウーイモ MM77-2Jtg)
2017/06/16(金) 20:53:01.95ID:llRCxZfkM なんで?
因みに自分は自動ソースコードライター
因みに自分は自動ソースコードライター
158デフォルトの名無しさん (ワッチョイ e3f7-hsT2)
2017/06/16(金) 20:58:38.55ID:+kGF+8t90 株の自動取引ツール
159デフォルトの名無しさん (オッペケ Srab-83yN)
2017/06/16(金) 21:01:32.42ID:7qWBU0DKr 著作権を主張する2chってのも世も末だなと思う今日この頃
160デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/16(金) 21:21:38.47ID:A6bnq7Mza 詳しい事情は知らんけど、なんか例の乗っ取り騒動以来いろいろあったよね
このスレのタイトルにも天才禁止ついてるし
このスレのタイトルにも天才禁止ついてるし
161デフォルトの名無しさん (ワッチョイ 574b-2WTa)
2017/06/16(金) 22:21:33.35ID:viYcn0/I0 確かに天才がこのスレを利用することは無いだろうな
162デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/16(金) 22:29:56.36ID:+giSoZYq0163デフォルトの名無しさん (ワッチョイ eb42-S2F3)
2017/06/16(金) 22:45:03.44ID:SNTjPZEm0164デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/16(金) 22:46:38.91ID:BaZST6Yaa アルゴの性能差が顕著に出そうやなw
165デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/16(金) 22:49:24.32ID:pyKmluG/0166デフォルトの名無しさん (ワッチョイ 4fe3-W9ZD)
2017/06/16(金) 23:06:59.57ID:e3V6DgTh0 >>153
軽い動画プレーヤー、軽い画像ビューア、アラーム時計、カレンダー
軽い動画プレーヤー、軽い画像ビューア、アラーム時計、カレンダー
167デフォルトの名無しさん (ワッチョイ e3dd-N71/)
2017/06/16(金) 23:20:32.11ID:G6Sd6q7a0 自炊した本の補正ツール
168デフォルトの名無しさん (ワッチョイ 538e-c+64)
2017/06/17(土) 04:24:32.54ID:N+Hb8N3C0 よろしければ、みなさんが初期に作成したVisualC#のアプリを教えてくださいませんか?
初学者で作れるのはどの程度のものなのか知りたいのです
本当は作りたいものを作るのがいいのでしょうが、どれも難度が高いため、完成させることによるモチベーションを適度に得たいのと、
参考書に載っているのはサンプルのためのサンプルみたいなものばかりで……
よろしければ実例を参考に「こういうのなら作りたいかも」というのを考えてみたいのですが、お願いできませんでしょうか?
初学者で作れるのはどの程度のものなのか知りたいのです
本当は作りたいものを作るのがいいのでしょうが、どれも難度が高いため、完成させることによるモチベーションを適度に得たいのと、
参考書に載っているのはサンプルのためのサンプルみたいなものばかりで……
よろしければ実例を参考に「こういうのなら作りたいかも」というのを考えてみたいのですが、お願いできませんでしょうか?
169デフォルトの名無しさん (ワッチョイ 164a-2Jtg)
2017/06/17(土) 05:24:34.32ID:IAjbbKvT0170デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/17(土) 06:57:39.48ID:OHTO1ViL0 カメレオンベースの改造人間は高度すぎて初心者向けじゃねーな
171デフォルトの名無しさん (JP 0H9b-HMVo)
2017/06/17(土) 08:50:19.87ID:Pz+rULOlH172デフォルトの名無しさん (ワッチョイ 574b-2WTa)
2017/06/17(土) 08:54:44.36ID:UkHjy7lW0 >>168
モチベーションなんて人それぞれだから好きなものを作ればいいよ
モチベーションなんて人それぞれだから好きなものを作ればいいよ
173デフォルトの名無しさん (ワッチョイ eb00-yC+1)
2017/06/17(土) 09:10:51.87ID:zjPLEmpW0 >>168
電卓一択
電卓一択
174デフォルトの名無しさん (ワッチョイ 1693-wecc)
2017/06/17(土) 09:15:02.48ID:aTbxEjUL0 電卓とかテキストエディタとかブラウザとか絶対他社のものしか優れてるものしか作れないんだよな
175デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/17(土) 09:18:47.13ID:LVtaY0YUM 普段めんどくさいなあくそったれと思ったらそれをメモすればいいじゃん
176デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/17(土) 09:35:00.48ID:cX5L/y8y0 自分じゃなくて他の人に目を向けたら?
世の中にはお前がちょっとクソコード書いてやれば解雇されるクソみたいな仕事してる奴が腐るほどいるんだぞ
世の中にはお前がちょっとクソコード書いてやれば解雇されるクソみたいな仕事してる奴が腐るほどいるんだぞ
177デフォルトの名無しさん (アウアウエー Saf2-4shY)
2017/06/17(土) 09:44:33.47ID:WmtHpkBVa >>168
GUIなら電卓は良いんじゃないかな。
おいらは何故か画像表示して、その上に落書きできる機能付けるのが定番だけど。
(ちゃんとWindow重なったり、拡大縮小で画像が消えないようにメモリ上にビットマップを保持して)
CUIだとcat -nと同じ、テキストを行番号付けて表示するって奴。
C#とかはIDE充実し過ぎだけど、LLとかだと自分専用テキストエディタとかモチベーション維持に良いかも。
GUIなら電卓は良いんじゃないかな。
おいらは何故か画像表示して、その上に落書きできる機能付けるのが定番だけど。
(ちゃんとWindow重なったり、拡大縮小で画像が消えないようにメモリ上にビットマップを保持して)
CUIだとcat -nと同じ、テキストを行番号付けて表示するって奴。
C#とかはIDE充実し過ぎだけど、LLとかだと自分専用テキストエディタとかモチベーション維持に良いかも。
178デフォルトの名無しさん (ワッチョイ 1693-wecc)
2017/06/17(土) 10:04:07.30ID:aTbxEjUL0 visual basicとC#って違うんですか?
179デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/17(土) 10:09:41.93ID:OHTO1ViL0 出来ることはほぼ同じ。違いはソースコードの見た目が大部分
180デフォルトの名無しさん (ワッチョイ aea2-yC+1)
2017/06/17(土) 10:13:01.37ID:Vu9y7E7d0 C#が初めての言語って人ここは少ないだろう
CかJava経由じゃないかなあ
ちな、圧縮ファイル内の画像をリサイズアプリ
CかJava経由じゃないかなあ
ちな、圧縮ファイル内の画像をリサイズアプリ
181デフォルトの名無しさん (ワッチョイ 3a1b-IZXD)
2017/06/17(土) 10:19:41.45ID:oukwXZuM0 C#ならunsafeで出来ることがVBだと凄く面倒
182デフォルトの名無しさん (ワッチョイ 164a-2Jtg)
2017/06/17(土) 10:42:57.69ID:IAjbbKvT0 tryと打ってエンター押せばcatchもend tryも書いてくれるVB
それに比べてC♯は自分で書かなきゃならない。
それに比べてC♯は自分で書かなきゃならない。
183デフォルトの名無しさん (ワッチョイ 53c0-yC+1)
2017/06/17(土) 10:51:50.98ID:+efmFY/i0 >>182
それIDEの話だし、VSでもコードスニペットあるだろ
それIDEの話だし、VSでもコードスニペットあるだろ
184デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/17(土) 11:16:13.23ID:0jHdEJ69a コードペニスット
185デフォルトの名無しさん (ワッチョイ 4fe3-W9ZD)
2017/06/17(土) 11:20:07.43ID:JDz+7Aqh0 >>168
まずデジタル時計、次に画像ビューア
慣れてきたらデジタル時計にアラームを付ける
そして文字色や背景色をダイアログで設定して変えられるようにするとかフォントも変えられるようにするとか
画像ビューアも自分が便利に使えるようにバージョンアップする
かなり慣れてきたら簡単なテキストエディタや簡単なブラウザを作ってみる
まずデジタル時計、次に画像ビューア
慣れてきたらデジタル時計にアラームを付ける
そして文字色や背景色をダイアログで設定して変えられるようにするとかフォントも変えられるようにするとか
画像ビューアも自分が便利に使えるようにバージョンアップする
かなり慣れてきたら簡単なテキストエディタや簡単なブラウザを作ってみる
186デフォルトの名無しさん (ワッチョイ bb11-VLdI)
2017/06/17(土) 11:28:08.65ID:Ff+eRTHW0 >>182
え、vsでtab2回押すのも面倒なの?
え、vsでtab2回押すのも面倒なの?
187デフォルトの名無しさん (ブーイモ MM97-/28B)
2017/06/17(土) 11:48:58.24ID:oj1+TyVBM DB連携のアドレス帳だな
188デフォルトの名無しさん (ワッチョイ bb11-NFrx)
2017/06/17(土) 11:53:05.95ID:P+HusDAs0 >>179
嘘教えんなよ
嘘教えんなよ
189デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/17(土) 12:00:00.23ID:cX5L/y8y0 C#はAWS LambdaやAzure Functionsでも使える
MSにすら捨てられてたVB
MSにすら捨てられてたVB
190デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/17(土) 12:28:42.76ID:25P2TRU/a フォームアプリで無限ループをまわすと画面が固まるので、ループ処理を別スレッドで行いたいのですが.NET4の環境でこれを行うのはどういう記述をすればいいのでしょうか
ボタン1を押して無限ループ処理開始
ボタン2を押して無限ループ処理停止
みたいな感じです。よろしくお願いします。
ボタン1を押して無限ループ処理開始
ボタン2を押して無限ループ処理停止
みたいな感じです。よろしくお願いします。
191デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/17(土) 12:35:29.47ID:mqhokTvga 非同期処理
async await
async await
192デフォルトの名無しさん (ブーイモ MM97-/28B)
2017/06/17(土) 12:42:32.90ID:oj1+TyVBM フォームアプリならbgwakerを使うのが楽では?
193デフォルトの名無しさん (ワッチョイ 5312-kYIN)
2017/06/17(土) 12:54:36.45ID:mQN0Gi2S0 >>190
bool cancelRequested;
async button1_Click()
{
button1.Enabled = false;
button2.Enabled = true;
cancelRequested = false;
await Task.Run( DoWork );
button1.Enabled = true;
button2.Enabled = false;
}
button2_Click()
{
cancelRequested = true;
}
void DoWork()
{
while( ! cancelRequested )
{
;
}
}
bool cancelRequested;
async button1_Click()
{
button1.Enabled = false;
button2.Enabled = true;
cancelRequested = false;
await Task.Run( DoWork );
button1.Enabled = true;
button2.Enabled = false;
}
button2_Click()
{
cancelRequested = true;
}
void DoWork()
{
while( ! cancelRequested )
{
;
}
}
194デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/17(土) 13:23:55.65ID:25P2TRU/a >>193
ありがとうございます
async/await
を使うと、GetAwaiterの定義が含まれておらず〜って出るのですがasync/awaitを使わずにTask.RUN(DoWork)のみでいいでしょうか
あと、Task.RUN(DoWork)とTask.Factory.StartNew(DoWork)は全く同一処理と思っていいでしょうか
ありがとうございます
async/await
を使うと、GetAwaiterの定義が含まれておらず〜って出るのですがasync/awaitを使わずにTask.RUN(DoWork)のみでいいでしょうか
あと、Task.RUN(DoWork)とTask.Factory.StartNew(DoWork)は全く同一処理と思っていいでしょうか
195デフォルトの名無しさん (ワッチョイ 5312-kYIN)
2017/06/17(土) 13:52:44.39ID:mQN0Gi2S0 >>194
修正版
http://ideone.com/1vh2bo
Task.RunとTask.Factory.StartNewは似てるけど、全く同じではないらしい。
MSDNのTaskFactory.StartNewの備考に書いてある。
今回の例ではどちらでも動くけど。
修正版
http://ideone.com/1vh2bo
Task.RunとTask.Factory.StartNewは似てるけど、全く同じではないらしい。
MSDNのTaskFactory.StartNewの備考に書いてある。
今回の例ではどちらでも動くけど。
196デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/17(土) 13:57:47.94ID:OHTO1ViL0197デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 13:57:55.77ID:zZ/nI29ta cancelRequestedはvolatileつけるかプロパティにしないとまずくない?
198デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/17(土) 13:59:20.60ID:cX5L/y8y0 boolなら問題ないよ
この場合、結果整合性があれば十分なはずだし
この場合、結果整合性があれば十分なはずだし
199デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/17(土) 14:04:47.83ID:n9iTrThT0 テキストボックスを何十個か保存する方法教えてください
プロパティで設定して
Properties.Settings.Default.aaaa = this.textBox0.Text;
と1つ1つ手動で保存する方法はわかるのですが
他に一括でできる方法ありませんか
プロパティで設定して
Properties.Settings.Default.aaaa = this.textBox0.Text;
と1つ1つ手動で保存する方法はわかるのですが
他に一括でできる方法ありませんか
200デフォルトの名無しさん (ワッチョイ 5312-kYIN)
2017/06/17(土) 14:09:52.65ID:mQN0Gi2S0 >>194
すまん。.Net4環境だと標準でawait/async使えないの忘れてた。
async/awaitを使わないバージョン
http://ideone.com/34GTJb
>>195でも>>196のを入れれば動くはずだけど。
すまん。.Net4環境だと標準でawait/async使えないの忘れてた。
async/awaitを使わないバージョン
http://ideone.com/34GTJb
>>195でも>>196のを入れれば動くはずだけど。
201デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 14:16:32.15ID:zZ/nI29ta202デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/17(土) 14:17:41.38ID:25P2TRU/a203デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/17(土) 14:27:54.24ID:25P2TRU/a すみません。また勘違いでした
async/await使えませんでした
上のをいれてみたら使えました
async/await使えませんでした
上のをいれてみたら使えました
204デフォルトの名無しさん (ワッチョイ bb11-NFrx)
2017/06/17(土) 14:29:10.55ID:P+HusDAs0 >>202
なんでとっくにサポート切れの4.0使ってんの?
なんでとっくにサポート切れの4.0使ってんの?
205デフォルトの名無しさん (ワッチョイ 53c0-yC+1)
2017/06/17(土) 14:29:50.71ID:+efmFY/i0 .NET4.0はサポート外の環境だけど、意外と残っているんだよな
206デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/17(土) 15:21:51.02ID:CkD5o1Z0a207デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/17(土) 15:27:16.60ID:n9iTrThT0 >>206
その普通にというのがどうやるのかわかりません
その普通にというのがどうやるのかわかりません
208デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/17(土) 15:32:15.49ID:EJsUF3+1a209デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/17(土) 16:42:38.11ID:CkD5o1Z0a210デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 18:09:25.33ID:10Ix2VZLa >>199
あんまり使ったことないけど、バインディングしておけばいちいちアプリケーション設定を
ユーザーコードで読み書きする必要はなかったように思ったけど...
http://dobon.net/vb/dotnet/programing/dynamicproperties.html
あんまり使ったことないけど、バインディングしておけばいちいちアプリケーション設定を
ユーザーコードで読み書きする必要はなかったように思ったけど...
http://dobon.net/vb/dotnet/programing/dynamicproperties.html
211デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/17(土) 19:20:12.04ID:BEwZTU1BM212デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/17(土) 19:43:42.82ID:KgLuH5ksM テキストボックスが何十個も並んでる時点で
俺は泣くと思う
そしてそれがちゃんとしたデータ構造に格納されてないことを知り号泣すると思う
そして10分でリファクタリングを終わらせコーヒーを飲む
俺は泣くと思う
そしてそれがちゃんとしたデータ構造に格納されてないことを知り号泣すると思う
そして10分でリファクタリングを終わらせコーヒーを飲む
213デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/17(土) 19:51:50.19ID:fizf5E0aM 業務システムはそんなんばっかりだよね
1画面で事細かに大量に入力するのって疲れるだろうに
可能な限り入力を減らして楽しようとか
分割統治して脳の負担を減らそうって発想がないのだろうか
1画面で事細かに大量に入力するのって疲れるだろうに
可能な限り入力を減らして楽しようとか
分割統治して脳の負担を減らそうって発想がないのだろうか
214デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/17(土) 19:54:04.63ID:TZ6VLTL7a やりたいことがExcelってことなら理解できるよ俺は
215デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/17(土) 20:18:40.56ID:n9iTrThT0 とりあえずstreamwiterと StreamReaderでテキストファイルに書き込んでやりたいことはできました
216デフォルトの名無しさん (ワッチョイ 6eca-XzLc)
2017/06/17(土) 21:09:28.32ID:LXfRrLne0 プログラミングはhello worldくらいしかやったことないゴミがc#を学習するのにいい書籍教えてください
猫でもわかるやつは評判見る限り私には無理そうなので
猫でもわかるやつは評判見る限り私には無理そうなので
217デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 21:21:18.71ID:f5T73F7La ぶっちゃけ、C#「で」プログラミングに入門するってコンセプトの本はほとんどない気がする。
C#「に」入門する系の本もあんまり売れないのか最近は少ないよね
C#「に」入門する系の本もあんまり売れないのか最近は少ないよね
218デフォルトの名無しさん (ブーイモ MM97-/28B)
2017/06/17(土) 21:30:13.35ID:KwnIyY64M >>216
独習をちゃんと読めば割とレベル上がる
独習をちゃんと読めば割とレベル上がる
219デフォルトの名無しさん (オッペケ Srab-83yN)
2017/06/17(土) 21:33:17.28ID:Mj6DpfH2r C#は解りやすいからGoogle先生だけで何とかなった
220デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/17(土) 21:42:29.35ID:KgLuH5ksM >>218
お遍路ころがしか
お遍路ころがしか
221デフォルトの名無しさん (ワッチョイ 6eca-XzLc)
2017/06/17(土) 21:48:08.75ID:LXfRrLne0 どの書籍のレビュー見てもレベル1→2みたいな感じで私のようなレベル0対象の書籍がどれなのかわかりません
222デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/17(土) 21:49:37.62ID:TZ6VLTL7a >>221
変数とか構造体やクラスの使い方が分かればレベル1でいいよ
変数とか構造体やクラスの使い方が分かればレベル1でいいよ
223デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/17(土) 21:50:29.15ID:KgLuH5ksM224デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/17(土) 21:52:04.54ID:TZ6VLTL7a 本なんか買わなくていいよ
c# 作り方
でググれ
なんか気に入ったの見つけたら打って見ればいい
c# 作り方
でググれ
なんか気に入ったの見つけたら打って見ればいい
225デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/17(土) 21:55:50.37ID:KgLuH5ksM 地元の図書館はSwiftやGOやtype scriptやscalaの本が複数ある
226デフォルトの名無しさん (ワッチョイ bb11-NFrx)
2017/06/17(土) 21:56:12.88ID:P+HusDAs0 みんな優しいな
227デフォルトの名無しさん (ワッチョイ 4f0b-r2kx)
2017/06/17(土) 22:05:04.73ID:/RnpRH4O0 0からでいいのってあるのかいな・・・
228デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/17(土) 22:06:13.88ID:KgLuH5ksM WPFが腐れたので今はかなり入門しにくい環境にあるんだと思う
UWPで入門は地獄だし
UWPで入門は地獄だし
229デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 22:12:34.98ID:f5T73F7La >>221
本当は遠回りでもちゃんと構造化プログラミングとOOPを
理解した方がいいんだけど、そういう趣旨の本はないね。
web上の記事だとなおさら少ない。
個人的には、ネットで十分とかいう奴は真に受けてはダメだと思うw
まあ、全部を網羅した本はないからいろいろザッピング気味に読んでみるのがいいんじゃないか。
図書館とか、ブックオフとかアマゾンの古本で十分だと思う。(さすがにC#2.0以前の
古いものは避けた方がいいかもしれんが...)
それでプログラミングの考え方がつかめるようになれば、
言語としてのC#やその新機能を調べるのはwebで十分だと思う
本当は遠回りでもちゃんと構造化プログラミングとOOPを
理解した方がいいんだけど、そういう趣旨の本はないね。
web上の記事だとなおさら少ない。
個人的には、ネットで十分とかいう奴は真に受けてはダメだと思うw
まあ、全部を網羅した本はないからいろいろザッピング気味に読んでみるのがいいんじゃないか。
図書館とか、ブックオフとかアマゾンの古本で十分だと思う。(さすがにC#2.0以前の
古いものは避けた方がいいかもしれんが...)
それでプログラミングの考え方がつかめるようになれば、
言語としてのC#やその新機能を調べるのはwebで十分だと思う
230デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/17(土) 22:25:44.96ID:fizf5E0aM レベル0ならCLR via C#がオススメ
基礎的な内容をほぼ網羅してる
基礎的な内容をほぼ網羅してる
231デフォルトの名無しさん (ワッチョイ ae61-yC+1)
2017/06/17(土) 22:38:38.18ID:mmWGHNwB0232デフォルトの名無しさん (ワッチョイ e3f7-hsT2)
2017/06/17(土) 23:32:40.03ID:/Eb+eps20 俺は大学の情報学の図書館とか市の図書館で借りて勉強した
一度近くの図書館に行ってみるのはオススメ
一度近くの図書館に行ってみるのはオススメ
233デフォルトの名無しさん (ワッチョイ 574b-2WTa)
2017/06/17(土) 23:34:19.64ID:UkHjy7lW0 >>230
初心者に勧めるには少し難易度高すぎない?
初心者に勧めるには少し難易度高すぎない?
234デフォルトの名無しさん (ワッチョイ e3b1-yC+1)
2017/06/18(日) 00:26:44.91ID:HEHabn3K0 >>221
「作って覚えるVisual C# デスクトップアプリ入門」は、レベル0向けとしていいかもしれない。
この本は、文法などは簡単な説明で済まされてしまっているけど
書いてあるとおりに手を動かせば、初歩的なGUIアプリ(タイマーとか付箋アプリとか家計簿アプリとか)を
完成させることができた。
文法だけの本で勉強するのは苦行に感じるかもしれないので、まず実際に動くものを作れるのはいいと思う。
僕はC#2013年版を読んだけど、最新の「作って覚えるVisual C# 2017〜」もたぶん大きくは変わってないはず。
ただしこの本は、レベル0向けに分かりやすくするため、あえて説明を端折ったり、
説明しやすくするためにあまり一般的じゃないやり方が書いてあるところもあるように思う。
勘のいい人だと、この本を足掛かりにWebの情報だけでどんどん先に進めるだろうけど、
どうも応用が利かないと思ったら、独習C#といった文法の本を改めて勉強すればいいんじゃないだろうか。
「作って覚えるVisual C# デスクトップアプリ入門」は、レベル0向けとしていいかもしれない。
この本は、文法などは簡単な説明で済まされてしまっているけど
書いてあるとおりに手を動かせば、初歩的なGUIアプリ(タイマーとか付箋アプリとか家計簿アプリとか)を
完成させることができた。
文法だけの本で勉強するのは苦行に感じるかもしれないので、まず実際に動くものを作れるのはいいと思う。
僕はC#2013年版を読んだけど、最新の「作って覚えるVisual C# 2017〜」もたぶん大きくは変わってないはず。
ただしこの本は、レベル0向けに分かりやすくするため、あえて説明を端折ったり、
説明しやすくするためにあまり一般的じゃないやり方が書いてあるところもあるように思う。
勘のいい人だと、この本を足掛かりにWebの情報だけでどんどん先に進めるだろうけど、
どうも応用が利かないと思ったら、独習C#といった文法の本を改めて勉強すればいいんじゃないだろうか。
235デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/18(日) 00:44:54.96ID:LYHl+wocM 読者が初心者だからって変なこと教えたり誤魔化したりする入門書は捨てていい
嘘をつかないこと
包み隠さず詳細まで書いてあること
これが良い参考書の必要条件だ
嘘をつかないこと
包み隠さず詳細まで書いてあること
これが良い参考書の必要条件だ
236デフォルトの名無しさん (JP 0H9b-HMVo)
2017/06/18(日) 01:33:04.85ID:rNmQ8rlgH つーかレベル0ってのが変数って何?とかプログラム制御でお決まりのif〜thenとか
forループとか、サブルーチンへ飛んでreturnで戻るとか、その辺りのほんとの初歩の
知識がないってことなら、そういうの解説したC#版入門本・サイトってあるのかね?
そのへんって常識として押さえてないようだと、挫折する可能性高いと思う
forループとか、サブルーチンへ飛んでreturnで戻るとか、その辺りのほんとの初歩の
知識がないってことなら、そういうの解説したC#版入門本・サイトってあるのかね?
そのへんって常識として押さえてないようだと、挫折する可能性高いと思う
237デフォルトの名無しさん (ワッチョイ 5732-2WTa)
2017/06/18(日) 02:04:31.00ID:ifJ7nIy80 webbrowserを使用したソフトを作っているのですが、
デフォルトだと音量が大きすぎるので音量設定で変更したいのですが、
ミキサーの音量とかってどうやって設定するか探してみたのですが見つかりませんでした。
何かいい方法はないでしょうか?
デフォルトだと音量が大きすぎるので音量設定で変更したいのですが、
ミキサーの音量とかってどうやって設定するか探してみたのですが見つかりませんでした。
何かいい方法はないでしょうか?
238デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/18(日) 03:53:50.02ID:bj+pilWTa239デフォルトの名無しさん (ワッチョイ 5732-2WTa)
2017/06/18(日) 05:02:45.88ID:ifJ7nIy80 それもそうですね・・・
ユーザーに任せるとします
ユーザーに任せるとします
240デフォルトの名無しさん (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 11:31:27.68ID:3NNsYvIS0 質問させてください。
本やネットに載っているサンプルをまねて、下記のようなMyCollection<T>クラスを作りました。
public class MyCollection<T> : IEnumerable<T>
{
List<T> list;
public MyCollection()
{ list = new List<T>(); }
public void AddObject(T item)
{ list.Add(item); }
public IEnumerator<T> GetEnumerator()
{ for (int i = 0; i < list.Count; i++) yield return list[i]; }
IEnumerator IEnumerable.GetEnumerator()
{ return this.GetEnumerator(); }
}
このクラスでは、非ジェネリック版のGetEnumerator()は、インターフェイスIEnumerableを明示的に実装しています。
(サンプルがそうなってたのでそうしています。)
== 続く ==
本やネットに載っているサンプルをまねて、下記のようなMyCollection<T>クラスを作りました。
public class MyCollection<T> : IEnumerable<T>
{
List<T> list;
public MyCollection()
{ list = new List<T>(); }
public void AddObject(T item)
{ list.Add(item); }
public IEnumerator<T> GetEnumerator()
{ for (int i = 0; i < list.Count; i++) yield return list[i]; }
IEnumerator IEnumerable.GetEnumerator()
{ return this.GetEnumerator(); }
}
このクラスでは、非ジェネリック版のGetEnumerator()は、インターフェイスIEnumerableを明示的に実装しています。
(サンプルがそうなってたのでそうしています。)
== 続く ==
241240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 11:32:03.36ID:3NNsYvIS0 == 続き ==
で、この非ジェネリック版のGetEnumerator()はどんなときに呼ばれるんだろう?と思い、試しに無理やり
呼んでみようと、下のように非ジェネリックなIEnumerator iを経由してMoveNext()をコールしてみました。
しかし、デバッガで見る限り、ジェネリック版のほうのGetEnumerator()が呼ばれるようです。
MyCollection<int> collection = new MyCollection<int>();
collection.AddObject(0);
collection.AddObject(1);
collection.AddObject(2);
//IEnumerator<int> i = collection.GetEnumerator();
IEnumerator i = collection.GetEnumerator();
while (i.MoveNext())
{ var j = i.Current; Console.WriteLine(j); }
ここで質問なのですが、
(1) 上記のコードで、どうして非ジェネリック版のGetEnumerator()が呼ばれないのか?
(2) どんなときに呼ばれるのか?
(3) 上記のコードでは、非ジェネリック版のGetEnumerator()の中からジェネリック版のGetEnumerator()を
呼んでいるが、両者は戻り値が異なる(IEnumerator<T>とIEnumerator)のに、なぜそんなことができるのか?
以上、よろしくお願いします。
で、この非ジェネリック版のGetEnumerator()はどんなときに呼ばれるんだろう?と思い、試しに無理やり
呼んでみようと、下のように非ジェネリックなIEnumerator iを経由してMoveNext()をコールしてみました。
しかし、デバッガで見る限り、ジェネリック版のほうのGetEnumerator()が呼ばれるようです。
MyCollection<int> collection = new MyCollection<int>();
collection.AddObject(0);
collection.AddObject(1);
collection.AddObject(2);
//IEnumerator<int> i = collection.GetEnumerator();
IEnumerator i = collection.GetEnumerator();
while (i.MoveNext())
{ var j = i.Current; Console.WriteLine(j); }
ここで質問なのですが、
(1) 上記のコードで、どうして非ジェネリック版のGetEnumerator()が呼ばれないのか?
(2) どんなときに呼ばれるのか?
(3) 上記のコードでは、非ジェネリック版のGetEnumerator()の中からジェネリック版のGetEnumerator()を
呼んでいるが、両者は戻り値が異なる(IEnumerator<T>とIEnumerator)のに、なぜそんなことができるのか?
以上、よろしくお願いします。
242デフォルトの名無しさん (ブーイモ MMda-mug2)
2017/06/18(日) 11:37:58.02ID:F94toio2M >>241
1) C#に戻り値の型に応じた型推論はないから
2) collectionをIEnumerableにキャストしてから3) GetEnumeratorすれば非ジェネリックの方を呼べる
IEnumerator<>はIEnumeratorを継承しているから
1) C#に戻り値の型に応じた型推論はないから
2) collectionをIEnumerableにキャストしてから3) GetEnumeratorすれば非ジェネリックの方を呼べる
IEnumerator<>はIEnumeratorを継承しているから
243デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/18(日) 12:41:44.72ID:xQzWj2hP0 >>239
一応ミキサーをコントロールするAPIがVistaのときに出来て、それを制御するソフトがCodeProjectに揚がっていたよ
一応ミキサーをコントロールするAPIがVistaのときに出来て、それを制御するソフトがCodeProjectに揚がっていたよ
244240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 13:14:15.29ID:3NNsYvIS0 早速の回答ありがとうございます。
いただいた回答をもとに色々考えましたが、何か釈然としない部分が残っています。
先のコードの、
IEnumerator i = collection.GetEnumerator(); // @
i.MoveNext() // A
の部分は、下記のような動作と考えていいのでしょうか?
@について:
・collectionはMyCollection<int>型である。
・よって、collection.GetEnumerator()のGetEnumerator()はジェネリック版のほうを意味し、
その戻り値はIEnumerator<T>型である。
・IEnumerator<T>型である戻り値が、IEnumerator型の変数iに入る。
・IEnumerator<T>型の値を、IEnumerator型の変数に入れられる理由は、
「IEnumerator<>はIEnumeratorを継承しているから」。
Aについて:
・i.MoveNext()により、実際にGetEnumerator()が呼ばれる。
・iはIEnumerator型(非ジェネリック)であるが、i.MoveNext()で実際に呼ばれるのは、
ジェネリック版のGetEnumerator()のほう。
以上の動作は、
インターフェイスI1をI2が継承するとして、
I2型の値をI1型の変数に入れて、I1型の変数経由で、I2にしかないメソッドを呼んでいるように見えます。
(I2にしかないメソッドとは、今回の例ではジェネリック版GetEnumerator()のことです)
== 続く ==
いただいた回答をもとに色々考えましたが、何か釈然としない部分が残っています。
先のコードの、
IEnumerator i = collection.GetEnumerator(); // @
i.MoveNext() // A
の部分は、下記のような動作と考えていいのでしょうか?
@について:
・collectionはMyCollection<int>型である。
・よって、collection.GetEnumerator()のGetEnumerator()はジェネリック版のほうを意味し、
その戻り値はIEnumerator<T>型である。
・IEnumerator<T>型である戻り値が、IEnumerator型の変数iに入る。
・IEnumerator<T>型の値を、IEnumerator型の変数に入れられる理由は、
「IEnumerator<>はIEnumeratorを継承しているから」。
Aについて:
・i.MoveNext()により、実際にGetEnumerator()が呼ばれる。
・iはIEnumerator型(非ジェネリック)であるが、i.MoveNext()で実際に呼ばれるのは、
ジェネリック版のGetEnumerator()のほう。
以上の動作は、
インターフェイスI1をI2が継承するとして、
I2型の値をI1型の変数に入れて、I1型の変数経由で、I2にしかないメソッドを呼んでいるように見えます。
(I2にしかないメソッドとは、今回の例ではジェネリック版GetEnumerator()のことです)
== 続く ==
245240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 13:14:32.67ID:3NNsYvIS0 == 続き ==
しかし例えば、
interface I1 { void Method1(); }
interface I2 : I1 { void Method2(); }
class C1 : I2
{
public void Method1() { Console.WriteLine("1"); }
public void Method2() { Console.WriteLine("2");}
}
以上のようなインターフェースとクラスに対して、
I2 i2 = new C1();
I1 i1 = i2;
i1.Method1(); // OK
//i1.Method2(); // エラー
以上のようにしてi1経由でi2にしかないメソッドを呼ぼうとすると、エラーになります。
これはどうしてなのでしょうか?
(長文ですみません)
しかし例えば、
interface I1 { void Method1(); }
interface I2 : I1 { void Method2(); }
class C1 : I2
{
public void Method1() { Console.WriteLine("1"); }
public void Method2() { Console.WriteLine("2");}
}
以上のようなインターフェースとクラスに対して、
I2 i2 = new C1();
I1 i1 = i2;
i1.Method1(); // OK
//i1.Method2(); // エラー
以上のようにしてi1経由でi2にしかないメソッドを呼ぼうとすると、エラーになります。
これはどうしてなのでしょうか?
(長文ですみません)
246デフォルトの名無しさん (ブーイモ MMaf-mug2)
2017/06/18(日) 13:36:20.31ID:hiI5kOBPM どこでI2にしかないメソッドを呼んでいるように見えるのかわからん
iにはジェネリックGetEnumeratorの戻り値であるIEnumerator<>オブジェクトが入る
i.MoveNextは非ジェネリックのIEnumerableのメンバたけどIEnumerable<>のメンバでもある
なぜならIEnumerable<>はIEnumerableのMoveNextを継承しているから
iにはジェネリックGetEnumeratorの戻り値であるIEnumerator<>オブジェクトが入る
i.MoveNextは非ジェネリックのIEnumerableのメンバたけどIEnumerable<>のメンバでもある
なぜならIEnumerable<>はIEnumerableのMoveNextを継承しているから
247デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 13:47:39.71ID:CKbpnobma >i.MoveNext()により、実際にGetEnumerator()が呼ばれる。
ここは何か勘違いしているというか、何を言ってるのか分からないというか...
C#は静的型付けの言語なので、I1型の変数i1のメンバーへのアクセスとして
記述可能なのは、I1型のメンバーだけ。
i1には実際はI2型の値が入ってるんだからI2のメンバーも呼び出せるべきだとか言ったって、
実行時にi1にI2型の値が入ってるかどうかなんてコンパイル時にはコンパイラに分かりません
ここは何か勘違いしているというか、何を言ってるのか分からないというか...
C#は静的型付けの言語なので、I1型の変数i1のメンバーへのアクセスとして
記述可能なのは、I1型のメンバーだけ。
i1には実際はI2型の値が入ってるんだからI2のメンバーも呼び出せるべきだとか言ったって、
実行時にi1にI2型の値が入ってるかどうかなんてコンパイル時にはコンパイラに分かりません
248デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/18(日) 14:20:22.43ID:sWt6I29PM >>244
実装はどうなってるか知らないけど
同名のメソッドを継承でオーバーライドされたらそっちのメソッドが呼ばれる
非ジェネリックメソッドをジェネリックでオーバーライドしてたら
ジェネリック版が呼ばれる
それが下位のInterfaceで操作された場合でも
実装はどうなってるか知らないけど
同名のメソッドを継承でオーバーライドされたらそっちのメソッドが呼ばれる
非ジェネリックメソッドをジェネリックでオーバーライドしてたら
ジェネリック版が呼ばれる
それが下位のInterfaceで操作された場合でも
249デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 14:26:19.82ID:CKbpnobma おいおい、質問者のケースはインターフェイスの継承だから
オーバーライドなんかされてないってw
オーバーライドなんかされてないってw
250デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/18(日) 14:34:17.42ID:dIx7/lbV0 > ・i.MoveNext()により、実際にGetEnumerator()が呼ばれる。
?
GetEnumeratorはここではもう関係ない
iという少なくともIEnumeratorを実装しているオブジェクトのMoveNextを呼び出してるだけ
> ・iはIEnumerator型(非ジェネリック)であるが、i.MoveNext()で実際に呼ばれるのは、
ジェネリック版のGetEnumerator()のほう。
なんでGetEnumeratorがでてくんの?
IEnumerator<T>のMoveNextっていうなら分からんでもないけど
?
GetEnumeratorはここではもう関係ない
iという少なくともIEnumeratorを実装しているオブジェクトのMoveNextを呼び出してるだけ
> ・iはIEnumerator型(非ジェネリック)であるが、i.MoveNext()で実際に呼ばれるのは、
ジェネリック版のGetEnumerator()のほう。
なんでGetEnumeratorがでてくんの?
IEnumerator<T>のMoveNextっていうなら分からんでもないけど
251デフォルトの名無しさん (ワッチョイ ba66-VgqF)
2017/06/18(日) 14:53:44.56ID:Hoh12jc00 おそらくyieldで記述と実行の順序が見た目と異なる事を言ってるんだろうけど
明示的なインターフェイスの実装は最初のレスでも有るように(IEnumerable)collectionの時に呼ばれるだけであって
結局はIEnumerator<T> GetEnumerator()へのラッパーだし、IEnumeratorに入れようがインターフェイスは全て仮想呼び出しだし
もはやジェネリックがどうとか関係ないな
明示的なインターフェイスの実装は最初のレスでも有るように(IEnumerable)collectionの時に呼ばれるだけであって
結局はIEnumerator<T> GetEnumerator()へのラッパーだし、IEnumeratorに入れようがインターフェイスは全て仮想呼び出しだし
もはやジェネリックがどうとか関係ないな
252デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 15:49:10.59ID:fcq/NEcZa >>244
@でジェネリック版のIEnumerator(を実装したクラスのインスタンス≠MyCollection<int>)を返している
AではそいつのMoveNextを普通に呼んでるだけ
そこで渡されているIEnumeratorの仕様に沿ったオブジェクトは
MyCollection<int>と別のクラスというのが
間違えやすいポイント
public IEnumerator<T> GetEnumerator()の
ジェネリック版のyield returnを含んだブロックから全然別のクラスが生成されていて
そいつのインスタンスが渡されている
@でジェネリック版のIEnumerator(を実装したクラスのインスタンス≠MyCollection<int>)を返している
AではそいつのMoveNextを普通に呼んでるだけ
そこで渡されているIEnumeratorの仕様に沿ったオブジェクトは
MyCollection<int>と別のクラスというのが
間違えやすいポイント
public IEnumerator<T> GetEnumerator()の
ジェネリック版のyield returnを含んだブロックから全然別のクラスが生成されていて
そいつのインスタンスが渡されている
253デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 15:53:23.46ID:fcq/NEcZa デバッグでステップすると
public IEnumerator<T> GetEnumerator()の中を動いてるけど
実際は別のクラスが作られていてその中を実行してる
このクラスはコンパイル時に自動実装される
以前は別クラスを自分で作らなければならなかったけど
yield returnが実装されてから楽になった
public IEnumerator<T> GetEnumerator()の中を動いてるけど
実際は別のクラスが作られていてその中を実行してる
このクラスはコンパイル時に自動実装される
以前は別クラスを自分で作らなければならなかったけど
yield returnが実装されてから楽になった
254240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 17:54:39.05ID:3NNsYvIS0 たくさんの回答ありがとうございます。
「i.MoveNext()により、実際にGetEnumerator()が呼ばれる」と思った理由は、>>253が書いてくれてるように、
デバッガでステップ実行すると、MoveNext()を呼んだタイミングでGetEnumerator()の中に入っていくためです。
皆のおかげで、その考えが誤りであることがわかりました。
ただ、
IEnumerator i = collection.GetEnumerator(); // @
i.MoveNext() // A
については、まだイマイチ自信がないんですが…。
全員のレスをつなぎ合わせて、下記のように理解したのですが、あってますでしょうか?
@で、
・GetEnumerator()により、ジェネリック版IEnumerator<T>を実装したクラスのインスタンスが生成される
・そのクラスは、ジェネリック用と非ジェネリック用の2つのMoveNext()を持つ
(IEnumerator<T>はIEnumeratorを継承しているため、両方のMoveNext()が作られる)
・ジェネリック用のMoveNext()の内容は、ジェネリック版のyield returnブロックから生成される
・非ジェネリック用のMoveNext()は、ジェネリック版のMoveNext()のラッパーである
Aで、
・iは非ジェネリックのIEnumeratorなので、非ジェネリック用のMoveNext()が呼ばれる
・それにより、ラップされているジェネリック用のMoveNext()が呼ばれ、結果として、
「ジェネリック版のyield returnブロックから生成された処理」が呼ばれる。
以上、よろしくお願いします。
「i.MoveNext()により、実際にGetEnumerator()が呼ばれる」と思った理由は、>>253が書いてくれてるように、
デバッガでステップ実行すると、MoveNext()を呼んだタイミングでGetEnumerator()の中に入っていくためです。
皆のおかげで、その考えが誤りであることがわかりました。
ただ、
IEnumerator i = collection.GetEnumerator(); // @
i.MoveNext() // A
については、まだイマイチ自信がないんですが…。
全員のレスをつなぎ合わせて、下記のように理解したのですが、あってますでしょうか?
@で、
・GetEnumerator()により、ジェネリック版IEnumerator<T>を実装したクラスのインスタンスが生成される
・そのクラスは、ジェネリック用と非ジェネリック用の2つのMoveNext()を持つ
(IEnumerator<T>はIEnumeratorを継承しているため、両方のMoveNext()が作られる)
・ジェネリック用のMoveNext()の内容は、ジェネリック版のyield returnブロックから生成される
・非ジェネリック用のMoveNext()は、ジェネリック版のMoveNext()のラッパーである
Aで、
・iは非ジェネリックのIEnumeratorなので、非ジェネリック用のMoveNext()が呼ばれる
・それにより、ラップされているジェネリック用のMoveNext()が呼ばれ、結果として、
「ジェネリック版のyield returnブロックから生成された処理」が呼ばれる。
以上、よろしくお願いします。
255デフォルトの名無しさん (ブーイモ MMaf-mug2)
2017/06/18(日) 18:01:08.18ID:kXxrIi51M256デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 18:22:19.50ID:CKbpnobma いやいや、「ラッパー」って言葉を誤用している点を除けば質問者の>>254の方が正しいからw
現実のほとんどの実装ではIEnumerator.MoveNextは
IEnumerator<T>.MoveNextをそのまま呼ぶだろうけど、
やろうと思えば別の実装をすることだって可能に決まってる
現実のほとんどの実装ではIEnumerator.MoveNextは
IEnumerator<T>.MoveNextをそのまま呼ぶだろうけど、
やろうと思えば別の実装をすることだって可能に決まってる
257デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 18:40:25.49ID:jItXXYfIa >>254
素直に考えてほしい
@で iに入れたのはジェネリック版
A movenextはジェネリックでも非ジェネリックでも共通
>>256
残念だけどこれを読むように
https://msdn.microsoft.com/ja-jp/library/78dfe2yb(v=vs.110).aspx
素直に考えてほしい
@で iに入れたのはジェネリック版
A movenextはジェネリックでも非ジェネリックでも共通
>>256
残念だけどこれを読むように
https://msdn.microsoft.com/ja-jp/library/78dfe2yb(v=vs.110).aspx
258デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 18:57:24.62ID:CKbpnobma259デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/18(日) 19:03:33.17ID:dIx7/lbV0 共通って言うとなんか分かりづらい
オーバーライドなんて257は一言も言ってないようだが…
interface IEnumerator {
object Current { get; }
bool MoveNext();
void Reset();
}
interface IEnumerator<T> : IEnumerator, IDisposable {
new T Current { get; }
void Dispose();
}
IEnumerator<T>自体はMoveNextを定義しない
派生元のMoveNextをそのまま公開する
なので、IEnumerator<T>の実装はこんなんになる
class HogeEnumerator : IEnumerator<T> {
public T Current { get { 略 } }
object IEnumerator.Current { get { return this.Current; } }
public bool MoveNext() { 略 }
public void Dispose() { 略 }
}
なので、
IEnumerator<T> ia = obj.GetEnumerator();
IEnumerator ib = obj.GetEnumerator();
iaでもibでも同じMoveNextが呼び出される
オーバーライドなんて257は一言も言ってないようだが…
interface IEnumerator {
object Current { get; }
bool MoveNext();
void Reset();
}
interface IEnumerator<T> : IEnumerator, IDisposable {
new T Current { get; }
void Dispose();
}
IEnumerator<T>自体はMoveNextを定義しない
派生元のMoveNextをそのまま公開する
なので、IEnumerator<T>の実装はこんなんになる
class HogeEnumerator : IEnumerator<T> {
public T Current { get { 略 } }
object IEnumerator.Current { get { return this.Current; } }
public bool MoveNext() { 略 }
public void Dispose() { 略 }
}
なので、
IEnumerator<T> ia = obj.GetEnumerator();
IEnumerator ib = obj.GetEnumerator();
iaでもibでも同じMoveNextが呼び出される
260デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 19:06:45.73ID:jItXXYfIa >>258
誰もそんなことについて言ってるのではないよ
トンチンカンなレスありがとう
MoveNextは別々に必要ない
そもそもシグネチャーは一個だけだから
必要なのは一個だけだと言うこと
さっきのページの変な訳を見てよく考えてほしい
誰もそんなことについて言ってるのではないよ
トンチンカンなレスありがとう
MoveNextは別々に必要ない
そもそもシグネチャーは一個だけだから
必要なのは一個だけだと言うこと
さっきのページの変な訳を見てよく考えてほしい
261デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 19:09:56.48ID:CKbpnobma262デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 19:11:42.21ID:CKbpnobma しかしあれだ、「ほとんどの実装でそうなっている」ことと、「必然的にそうなりそれ以外の実装はありえない」
ことの区別のつかないレベルの人が偉そうに回答する側に回ってはダメだと思うw
ことの区別のつかないレベルの人が偉そうに回答する側に回ってはダメだと思うw
263デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 19:11:59.22ID:jItXXYfIa >>261
さっきのページの説明とコードをぜひ読んでほしい
さっきのページの説明とコードをぜひ読んでほしい
264デフォルトの名無しさん (ワッチョイ ba66-VgqF)
2017/06/18(日) 19:17:16.07ID:Hoh12jc00 >>254
まずコードの見た目と挙動が異なるのはyieldが糖衣構文で>>252が言うように
IEnumerator<T>を実装するクラスをコンパイラが生成してコードがすり替わるから
これはジェネリック云々とはまた別の話、ILSpy等で糖衣構文のデコンパイルをオフにして見てみると良い
私がラッパーと書いたのはIEnumerable.GetEnumerator()の話で、そのコードでは呼び出されていない
これは((IEnumerable)collection).GetEnumerator()などとしてIEnumerable型でコールされた時に呼び出されるだけのもの
仮にそう書いたとしてもyieldで実装されたIEnumerator<T>メソッドへ投げているので、結局iの中身はIEnumerator<T>
あとは中身のIEnumerator<T>がIEnumerator型で操作された時の実装による、明示的なインターフェイスの実装があればそれが呼ばれる
まずコードの見た目と挙動が異なるのはyieldが糖衣構文で>>252が言うように
IEnumerator<T>を実装するクラスをコンパイラが生成してコードがすり替わるから
これはジェネリック云々とはまた別の話、ILSpy等で糖衣構文のデコンパイルをオフにして見てみると良い
私がラッパーと書いたのはIEnumerable.GetEnumerator()の話で、そのコードでは呼び出されていない
これは((IEnumerable)collection).GetEnumerator()などとしてIEnumerable型でコールされた時に呼び出されるだけのもの
仮にそう書いたとしてもyieldで実装されたIEnumerator<T>メソッドへ投げているので、結局iの中身はIEnumerator<T>
あとは中身のIEnumerator<T>がIEnumerator型で操作された時の実装による、明示的なインターフェイスの実装があればそれが呼ばれる
265デフォルトの名無しさん (ブーイモ MMaf-mug2)
2017/06/18(日) 19:24:09.26ID:m3bZs4wLM266デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 19:33:21.57ID:CKbpnobma267デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/18(日) 19:39:39.80ID:ppLsekVC0268デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/18(日) 19:59:37.67ID:ppLsekVC0269240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 20:45:02.93ID:3NNsYvIS0 質問者です。
>>264
>>251でラッパーと書いていただいた意図を取り違えてました。失礼しました。
-----
「MoveNextの実装は単一で共通」という点についても、理解できたと思います。
IEnumeratorとIEnumerator<T>で MoveNext()のシグネチャは共通であり、処理内容的にも
イテレータをひとつ進めるだけなので、わざわざ(明示的に実装するなどして)2つを別々に作る意味はない。
現に、yieldで自動生成されるMoveNext()も、共通のメソッドになっている。
…ということですね。
皆さんのおかげで、今回の質問はほぼ解決できたような気がします。
どうもありがとうございました。
# それにしても、「C#はシンプルだから初心者にもわかりやすい」とか聞いたことがありますが、
# 実際にはずいぶん難しいですね。
# 特に「インターフェイス」が苦手です…。
>>264
>>251でラッパーと書いていただいた意図を取り違えてました。失礼しました。
-----
「MoveNextの実装は単一で共通」という点についても、理解できたと思います。
IEnumeratorとIEnumerator<T>で MoveNext()のシグネチャは共通であり、処理内容的にも
イテレータをひとつ進めるだけなので、わざわざ(明示的に実装するなどして)2つを別々に作る意味はない。
現に、yieldで自動生成されるMoveNext()も、共通のメソッドになっている。
…ということですね。
皆さんのおかげで、今回の質問はほぼ解決できたような気がします。
どうもありがとうございました。
# それにしても、「C#はシンプルだから初心者にもわかりやすい」とか聞いたことがありますが、
# 実際にはずいぶん難しいですね。
# 特に「インターフェイス」が苦手です…。
270デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/18(日) 20:52:35.39ID:LYHl+wocM シンプルってのはC言語みたいな言語の事を言うんだよ
C#は安全性や生産性が売りの言語であってシンプルが売りではない
C#は安全性や生産性が売りの言語であってシンプルが売りではない
271デフォルトの名無しさん (スフッ Sdda-h/Mr)
2017/06/18(日) 20:54:56.71ID:2ZvXTc7Xd たまにScheme使ってる身からするとC言語なんて複雑性の塊でしかない
272デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 20:55:04.82ID:4KNX7P10a273デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/18(日) 21:09:54.93ID:wcAf0alPa こんな難しい動作するコードは駄目だってことだね
274デフォルトの名無しさん (ワッチョイ fac4-N71/)
2017/06/18(日) 21:26:40.66ID:gBGY/PYC0 言語仕様がシンプルって触れ込みで本当にシンプルなものにはお目にかかったことがない
brainfuckくらいかな
go、てめーは特に駄目だ
落とし穴ばっかり掘りまくりやがって
brainfuckくらいかな
go、てめーは特に駄目だ
落とし穴ばっかり掘りまくりやがって
275デフォルトの名無しさん (ワッチョイ 874b-4n6v)
2017/06/19(月) 00:15:22.74ID:Ww5nR0aW0 enumerator は、.NET Framework 1の設計ミスと、それを取り繕う互換性維持のためだけのダーティーコードが分かりにくくしているだけ。
276デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/19(月) 00:34:16.82ID:9HdiQdA0a ただのIteratorパターンを分かりにくいって言われてもw
ジェネリックのない.NET1.xの段階でリリースしたのは「戦略ミス」だったんじゃないのかって言いたいのなら
それはそうかもしれないけど
ジェネリックのない.NET1.xの段階でリリースしたのは「戦略ミス」だったんじゃないのかって言いたいのなら
それはそうかもしれないけど
277デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/19(月) 01:09:51.49ID:hwxIPu2Ga 言い訳はいい
初見ではクソコード確定
初見ではクソコード確定
278デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/19(月) 01:37:01.54ID:EFIc9SHVa >>277
気づいてないみたいだけど、まさにそういう自己正当化のことを「言い訳」っていうんだよw
気づいてないみたいだけど、まさにそういう自己正当化のことを「言い訳」っていうんだよw
279デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/19(月) 01:58:13.06ID:0T6aPzZoa ウンコードの相手をしてる暇はない
280デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/19(月) 02:47:34.68ID:y5kZlHZm0 コンボボックスのアイテムを他のコンボボックスに書き換える方法
これより簡単な方法って存在しますか?
for (int j = 0; j <= combobox1;.Items.Count-1; j++)
{
combobox2..Items.Add(combobox1.Items[j]);
}
これより簡単な方法って存在しますか?
for (int j = 0; j <= combobox1;.Items.Count-1; j++)
{
combobox2..Items.Add(combobox1.Items[j]);
}
281デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/19(月) 08:54:35.24ID:cIn3xoah0 バインディングしてるなら
comboBox2.ItemsSource = comboBox1.ItemsSource;
とかでもいけるけど
comboBox2.ItemsSource = comboBox1.ItemsSource;
とかでもいけるけど
282デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/19(月) 08:55:26.22ID:cIn3xoah0 ItemsSourceじゃなかったDataSourceだった
283デフォルトの名無しさん (ワッチョイ ba44-pA8U)
2017/06/19(月) 12:50:45.81ID:EUrvQ/BA0 まずfor文を使うのをやめて
284デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/19(月) 12:56:04.01ID:VCAPf4jOa その前にc#ではないなw
285デフォルトの名無しさん (ワッチョイ 8706-nAjB)
2017/06/19(月) 18:19:56.58ID:I4SWBMMg0 GroupByするのですが、ソートした結果がほしいのです。どうすればいいでしょうか??
例えば、Personクラスがあります。
class Person { public string FirstName, public string LastName }
LastNameでグループ化しますが、persons.GroupBy(p => p.LastName);
この各グループ内でfirstNameでソートした状態でグループ化したいのです。
例えば、Personクラスがあります。
class Person { public string FirstName, public string LastName }
LastNameでグループ化しますが、persons.GroupBy(p => p.LastName);
この各グループ内でfirstNameでソートした状態でグループ化したいのです。
286デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/19(月) 18:39:44.95ID:DpavZgQja >グループ内の要素は、source に出現する順序で返されます。
とあるから、GroupByする前にfirstNameでソートしておけばいいんじゃないの?
https://msdn.microsoft.com/ja-jp/library/bb534501(v=vs.100).aspx
とあるから、GroupByする前にfirstNameでソートしておけばいいんじゃないの?
https://msdn.microsoft.com/ja-jp/library/bb534501(v=vs.100).aspx
287デフォルトの名無しさん (アウアウカー Sa33-yC4D)
2017/06/19(月) 18:40:02.10ID:P6DFew9Aa 先にfirstNameでソートしてからGroupByすればいい
GroupByは元の順序を変えないから
GroupByは元の順序を変えないから
288デフォルトの名無しさん (ワッチョイ 8706-nAjB)
2017/06/19(月) 20:00:39.81ID:I4SWBMMg0289デフォルトの名無しさん (ドコグロ MM32-p9VS)
2017/06/19(月) 22:12:58.54ID:gggoijwOM 業務系のアプリ作るときって、
例外処理どれくらいやるのですか?
個人だとざっくり例外キャッチしときゃいいやみたいな感じだけど、このケースはこういう可能性があるとか全部考慮しないといけない?
例外処理どれくらいやるのですか?
個人だとざっくり例外キャッチしときゃいいやみたいな感じだけど、このケースはこういう可能性があるとか全部考慮しないといけない?
290デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/19(月) 22:26:10.29ID:l5+Ht5Lo0 例外処理で最も大事なのは例外を漏らさないことではなくどこで例外を漏らしても問題のない作りにすること
それを徹底してさえいれば例外は最終的に一番上のイベントハンドラでキャッチしたりWebならフレームワーク任せにしても基本的に問題ないはず
それをあえて例外の発生源により近い場所で処理するのは、あくまでユーザーの利便性を高めるためのオプションであって、それが必須であってはいけない
それを徹底してさえいれば例外は最終的に一番上のイベントハンドラでキャッチしたりWebならフレームワーク任せにしても基本的に問題ないはず
それをあえて例外の発生源により近い場所で処理するのは、あくまでユーザーの利便性を高めるためのオプションであって、それが必須であってはいけない
291デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/19(月) 22:41:39.10ID:DpavZgQja >>289
必要に応じて、としか言いようがないのでは?w
なんか無駄にハッスルして(笑)例外処理にこっちゃう人がたまにいるけど、
ぶっちゃけそれでプログラムの本来の効用が上がるわけじゃないんから必要以上に凝るのは
バカげてるとは言えると思う
必要に応じて、としか言いようがないのでは?w
なんか無駄にハッスルして(笑)例外処理にこっちゃう人がたまにいるけど、
ぶっちゃけそれでプログラムの本来の効用が上がるわけじゃないんから必要以上に凝るのは
バカげてるとは言えると思う
292デフォルトの名無しさん (ブーイモ MMda-mug2)
2017/06/19(月) 22:56:05.74ID:n8yR7uvJM 例外はトップダウンで考えるのが効率よく堅牢なソフトウェアを作るコツ
上の方でまとめてリトライすりゃ済むんなら下で細かいケースをいちいち個別に考慮する必要はない
上の方でまとめてリトライすりゃ済むんなら下で細かいケースをいちいち個別に考慮する必要はない
293デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/20(火) 00:28:55.36ID:0dk+Bj02M 例外は呼び出しルートでメッセージに変換して出力
要件で明確にこういう障害の時はこうすると決まっていない限りは絶対に個別に処理してはならない
仕様で決まっていないのに処理するということは例外を握りつぶすことと同じだ
要件で明確にこういう障害の時はこうすると決まっていない限りは絶対に個別に処理してはならない
仕様で決まっていないのに処理するということは例外を握りつぶすことと同じだ
294デフォルトの名無しさん (ドコグロ MMa7-p9VS)
2017/06/20(火) 08:11:57.37ID:OLNd26fgM ありがとうございます。
例外のメッセージ出されても意味分からないから、分かりやすいメッセージにしろとか、考慮不足なんじゃないのって言われて、まじか、想定できる箇所全部処理させる気か!?みたいな
例外のメッセージ出されても意味分からないから、分かりやすいメッセージにしろとか、考慮不足なんじゃないのって言われて、まじか、想定できる箇所全部処理させる気か!?みたいな
295デフォルトの名無しさん (ワッチョイ e3e2-N71/)
2017/06/20(火) 09:47:17.68ID:GRs2Ke5S0 golangはそういう思想で作られてるな
あれは偏執的過ぎる気がするが
あれは偏執的過ぎる気がするが
296デフォルトの名無しさん (ブーイモ MMda-mug2)
2017/06/20(火) 12:24:05.26ID:iIE7QTSfM 日本人は末端から考えるのが好きだから、例外をその場で全て個別に適切に処理しようとしてコードが膨れ上がり
握り潰しだらけでデバッグ不能なゴミが出来上がることが多いよね
未だにJavaの検査例外を有効であると信じてる人も多いし
握り潰しだらけでデバッグ不能なゴミが出来上がることが多いよね
未だにJavaの検査例外を有効であると信じてる人も多いし
297デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/20(火) 12:46:21.09ID:ghFCA5oRa むしろ集約例外ハンドラ使えとかなるべく呼び出し階層の上の方で処理しろって言ってる奴を見たら、
ああこいつは何も分かってないなと判断して眉にツバして話を聞くことを勧めるw
ああこいつは何も分かってないなと判断して眉にツバして話を聞くことを勧めるw
298デフォルトの名無しさん (ワッチョイ e354-N71/)
2017/06/20(火) 14:28:33.32ID:qSWxsRTn0 >>297
ついでに目玉と心臓も潰して電車に飛び込んで死ね単芝
ついでに目玉と心臓も潰して電車に飛び込んで死ね単芝
299デフォルトの名無しさん (ワッチョイ c7c0-ehp2)
2017/06/20(火) 16:45:59.98ID:EFljh2yC0 Windows10での話なんですが、
フォームの左上とクライアント領域の左上の差を取得しようとPointToClient(Location)を実行するとおかしな値を返してきます
具体的にはフォームの外枠は1pxでタイトルバーの高さが31pxなので(-1, -31)を返さないとおかしいはずなんですが、(-8, -31を)を返してきます
(これはVSのデザイナなどで表示されてるWindowsベーシックスタイルのタイトルバー高さ、枠の幅なので多分そちらが返ってきているのではと思ったのですが)
表示されている状態に沿った値を取得する方法はないでしょうか
フォームの左上とクライアント領域の左上の差を取得しようとPointToClient(Location)を実行するとおかしな値を返してきます
具体的にはフォームの外枠は1pxでタイトルバーの高さが31pxなので(-1, -31)を返さないとおかしいはずなんですが、(-8, -31を)を返してきます
(これはVSのデザイナなどで表示されてるWindowsベーシックスタイルのタイトルバー高さ、枠の幅なので多分そちらが返ってきているのではと思ったのですが)
表示されている状態に沿った値を取得する方法はないでしょうか
300デフォルトの名無しさん (ワッチョイ c7c0-ehp2)
2017/06/20(火) 17:06:48.28ID:EFljh2yC0 すみません別の単語で検索したら自己解決できました
DwmGetWindowAttribute()をつかう手法でやります
DwmGetWindowAttribute()をつかう手法でやります
301デフォルトの名無しさん (ササクッテロラ Spab-Lzg+)
2017/06/20(火) 19:00:18.30ID:Z7Rlaax/p >>294
考慮不足なんじゃないかというのは、全ての例外を処理しろって事じゃないぞ?
その場で処理するべきかはケースバイケースだが以下は全て考えておくべきだって事だ
発生しうる例外は何か?
どの例外をその場で処理するべきか?
上に投げるのが適切としたのは何故か?
考慮不足じゃないかと言われたら相手が納得するまでこれらの考慮した事を説明すればいいだけ、相手と判断・認識が違っていてもより具体的な話が出来るだろう
もしそれが出来ないなら実際に考慮不足だからもっと考えるべき
考慮不足なんじゃないかというのは、全ての例外を処理しろって事じゃないぞ?
その場で処理するべきかはケースバイケースだが以下は全て考えておくべきだって事だ
発生しうる例外は何か?
どの例外をその場で処理するべきか?
上に投げるのが適切としたのは何故か?
考慮不足じゃないかと言われたら相手が納得するまでこれらの考慮した事を説明すればいいだけ、相手と判断・認識が違っていてもより具体的な話が出来るだろう
もしそれが出来ないなら実際に考慮不足だからもっと考えるべき
302デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/20(火) 20:06:21.02ID:Ex7wW9yMa 質問者がどういう文脈のどういうニュアンスで「考慮不足」って言われたかなんか
お前に分かるわけねえだろw
エスパーか何かのつもりかねw
っていうか、何を偉そうに威張り散らして講釈垂れてるのかねw
こういう奴心底大バカだと思うわ
お前に分かるわけねえだろw
エスパーか何かのつもりかねw
っていうか、何を偉そうに威張り散らして講釈垂れてるのかねw
こういう奴心底大バカだと思うわ
303デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/20(火) 20:08:47.28ID:A1/74Hqda アプリが落ちたら考慮不足なんだよ!
顔面グチャグチャにされてぇのかクソが!
ってセリフを大手で聞いたwww
顔面グチャグチャにされてぇのかクソが!
ってセリフを大手で聞いたwww
304デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/20(火) 20:23:15.93ID:map82aZCa System.OutOfMemoryExceptionで落ちても?
アプリの全域で落ちる可能性あるけど?
アプリの全域で落ちる可能性あるけど?
305デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/20(火) 20:40:53.02ID:A1/74Hqda >>304
ひとまず組んだ奴の責任かなぁ?
ひとまず組んだ奴の責任かなぁ?
306デフォルトの名無しさん (ワッチョイ fac4-N71/)
2017/06/20(火) 21:10:22.17ID:RnxrF89h0 お前こそ密室で発言した気になってろよ
明日は出社させねえからな
明日は出社させねえからな
307デフォルトの名無しさん (ワントンキン MMaa-QeqB)
2017/06/20(火) 22:08:32.31ID:UY9c0ml0M 要件になってないのに考慮も対応もない
とりあえずで例外を捕まえるやつは転職してくれ
とりあえずで例外を捕まえるやつは転職してくれ
308デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/20(火) 23:27:20.81ID:dU/FxV4ta ん?例外はとりあえず呼び出し元にthrowしとけばいいってこと?
それとも下手にcatchするなってこと?
それとも下手にcatchするなってこと?
309デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/20(火) 23:29:44.28ID:TEAjB2PSa そのレベルで対処が必要とされているものだけ拾え
想定してないものまで拾うな握りつぶすな
想定してないものまで拾うな握りつぶすな
310デフォルトの名無しさん (ワッチョイ 3aea-pA8U)
2017/06/21(水) 02:43:49.89ID:utv6BdFK0311デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/21(水) 03:23:32.47ID:gTS1oBXqa312デフォルトの名無しさん (ササクッテロル Spab-QeqB)
2017/06/21(水) 04:20:38.54ID:6XMRbYZBp C#でエクセル出力したいんですけどどうしたら良いですか?
313デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/21(水) 04:36:07.67ID:gTS1oBXqa >>312
NPOIが正解だって書いてあったの見た
NPOIが正解だって書いてあったの見た
314デフォルトの名無しさん (ワッチョイ 53e6-/28B)
2017/06/21(水) 06:16:18.05ID:RdazTatF0315デフォルトの名無しさん (ワッチョイ 5732-2WTa)
2017/06/21(水) 06:35:50.86ID:1NTI9Fvt0 WebBrowserで動的に変化するページのソースを取得したいのですが、
Browser上のボタンを押す→動画が再生される(HTMLが書き換わる)
といった処理がBrowser内でおこなわれているはずなのですが、
IEのソースを表示ではHTML書き換え前の状態、Chromeの検証(デベロッパーツール)の
elementsでは書き換え後の情報が見れたのですが、
IHTMLDocument2 HTMLDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
string content = webBrowser1.DocumentText;
としてみても取得できませんでした。
何か他にいい方法はないものでしょうか?
Browser上のボタンを押す→動画が再生される(HTMLが書き換わる)
といった処理がBrowser内でおこなわれているはずなのですが、
IEのソースを表示ではHTML書き換え前の状態、Chromeの検証(デベロッパーツール)の
elementsでは書き換え後の情報が見れたのですが、
IHTMLDocument2 HTMLDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
string content = webBrowser1.DocumentText;
としてみても取得できませんでした。
何か他にいい方法はないものでしょうか?
316デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/21(水) 06:48:02.31ID:0awfP3cQ0 Selenium使った方が楽よ
もしくはChromeのエクステンションとして作る
もしくはChromeのエクステンションとして作る
317デフォルトの名無しさん (ワッチョイ 8baa-jbt0)
2017/06/21(水) 07:04:09.08ID:sEly9kN+0 .Document.Body.Parent.OuterHtml
318デフォルトの名無しさん (ワッチョイ bb11-yC+1)
2017/06/21(水) 08:19:11.27ID:aH+Y8UGh0 <<<C++>>>
}
0≦1.333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333*∞
E,TO,LA,1,35,8,15,2,0,
[EMO]-#0.*88871~
}
0≦1.333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333*∞
E,TO,LA,1,35,8,15,2,0,
[EMO]-#0.*88871~
319デフォルトの名無しさん (ワッチョイ 53c0-yC+1)
2017/06/21(水) 11:13:10.25ID:J81ElXfl0320デフォルトの名無しさん (ワッチョイ 9e23-u+AO)
2017/06/21(水) 16:39:05.91ID:OqGMB+VY0 public class TestClass {
public enum PublicEnum { One, Two, } //列挙型
private int privateField; //フィールド
public int publicProperty { get { return privateField; } } //プロパティ
public TestClass(int val) { privateField = val; } //コンストラクタ
public string publicMethod(string str)
{ //メソッド
str = "publicMethodが呼び出されました。" + str;
return str;
}
public string publicMethod() { return publicMethod(""); }
}
class Program{
static void Main(string[] args){
Type typeTC = typeof(ConsoleApplication1.TestClass);
MemberInfo[] memberTC = typeTC.GetMembers(
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly
);
foreach (MemberInfo m in memberTC) { Console.WriteLine("{0} - {1}", m.MemberType, m.Name); }
}
}
このmemberTCを、typeTC.GetMembers( BindingFlags.Public ); にすると、
NestedType - PublicEnum しか表示されません。
同じようにNonPublicとか他のメンバで試すと何も表示されなくなります。
何かやり方間違っていますか?
public enum PublicEnum { One, Two, } //列挙型
private int privateField; //フィールド
public int publicProperty { get { return privateField; } } //プロパティ
public TestClass(int val) { privateField = val; } //コンストラクタ
public string publicMethod(string str)
{ //メソッド
str = "publicMethodが呼び出されました。" + str;
return str;
}
public string publicMethod() { return publicMethod(""); }
}
class Program{
static void Main(string[] args){
Type typeTC = typeof(ConsoleApplication1.TestClass);
MemberInfo[] memberTC = typeTC.GetMembers(
BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance | BindingFlags.Static | BindingFlags.DeclaredOnly
);
foreach (MemberInfo m in memberTC) { Console.WriteLine("{0} - {1}", m.MemberType, m.Name); }
}
}
このmemberTCを、typeTC.GetMembers( BindingFlags.Public ); にすると、
NestedType - PublicEnum しか表示されません。
同じようにNonPublicとか他のメンバで試すと何も表示されなくなります。
何かやり方間違っていますか?
321デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/21(水) 17:09:05.60ID:ggt7kMvk0 > Public または NonPublic と共に、Instance または Static を指定する必要があります。指定しない場合、メンバーが返されません。
322デフォルトの名無しさん (ワッチョイ 9e23-u+AO)
2017/06/21(水) 17:38:01.17ID:OqGMB+VY0 >>321
ありがとうございます。
ありがとうございます。
323デフォルトの名無しさん (ワッチョイ 5732-2WTa)
2017/06/21(水) 17:57:52.96ID:1NTI9Fvt0324デフォルトの名無しさん (ブーイモ MMaf-VgqF)
2017/06/21(水) 18:40:33.78ID:Os8YZW2iM DOM書き換えはソース書き換えじゃないからな
ソース見れる場合は独自にDOMからソースを組み立ててるだけじゃないかな?
IEがそういう機能提供しているとは思えない
ソース見れる場合は独自にDOMからソースを組み立ててるだけじゃないかな?
IEがそういう機能提供しているとは思えない
325デフォルトの名無しさん (ワッチョイ bafc-VgqF)
2017/06/21(水) 19:05:13.46ID:r7sO91Ct0 例えば整数の配列(リスト)
nums = {4,1,9,7,5,3,1,3,6,7,2,1,3,5,2,6,...}
というのがあって、
これを出現数をキーにしてグループ化するには
nums.GroupBy(x => x)
.Select(x => new { count = x.Count(), number = x.First() })
.GroupBy(x => x.count, x => x.number)
としたらできたんだけど、それぞれ各グループのソートもしたい
出現数順なら、単純に最後に OrderBy すりゃいいんだろうが
やりたいことはそれじゃない
説明くどいかもしれんが、表にすると
出現 数グループ
----------------------------------
1 回 {4, 9}
2 回 {5, 2, 6}
3 回 {7, 1, 3}
. .
. .
. .
. .
の表の右側の各配列をそれぞれソートしたい
まあ foreach 回せばいいんだろうが、後学のために
もっとスマートな方法があれば知りたいなと
nums = {4,1,9,7,5,3,1,3,6,7,2,1,3,5,2,6,...}
というのがあって、
これを出現数をキーにしてグループ化するには
nums.GroupBy(x => x)
.Select(x => new { count = x.Count(), number = x.First() })
.GroupBy(x => x.count, x => x.number)
としたらできたんだけど、それぞれ各グループのソートもしたい
出現数順なら、単純に最後に OrderBy すりゃいいんだろうが
やりたいことはそれじゃない
説明くどいかもしれんが、表にすると
出現 数グループ
----------------------------------
1 回 {4, 9}
2 回 {5, 2, 6}
3 回 {7, 1, 3}
. .
. .
. .
. .
の表の右側の各配列をそれぞれソートしたい
まあ foreach 回せばいいんだろうが、後学のために
もっとスマートな方法があれば知りたいなと
326デフォルトの名無しさん (ワッチョイ 9a5d-GBnf)
2017/06/21(水) 19:16:08.30ID:lPZfHrAN0327デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/21(水) 19:25:08.09ID:ggt7kMvk0 nums.OrderBy(x => x).以下同じ
328デフォルトの名無しさん (ワッチョイ bafc-VgqF)
2017/06/21(水) 19:25:57.93ID:r7sO91Ct0 >>326
期待してるのは、俺がよく知らないLinqのクエリ演算子
使って一発でって感じだけど
でも別に唯一無二の正解を聞きたいわけでもない
他の人はどうやるのか知りたいだけで
細かいルールとか気にしなくていいよ
期待してるのは、俺がよく知らないLinqのクエリ演算子
使って一発でって感じだけど
でも別に唯一無二の正解を聞きたいわけでもない
他の人はどうやるのか知りたいだけで
細かいルールとか気にしなくていいよ
329デフォルトの名無しさん (ワッチョイ bafc-VgqF)
2017/06/21(水) 19:32:40.57ID:r7sO91Ct0330デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/21(水) 19:46:28.27ID:yKdKl6mza そろそろ覚えたコードでなんか作ったら?
知識はあるけど知恵が足りてないように見える
プログラム言語研究会ってわけじゃないんでしょ?
知識はあるけど知恵が足りてないように見える
プログラム言語研究会ってわけじゃないんでしょ?
331デフォルトの名無しさん (ブーイモ MMaf-If8a)
2017/06/21(水) 19:54:32.19ID:zfxsbKsgM フォームでタッチパネル対応アプリ作りたいんですが
マルチタッチのイベント拾うにはどうしたら良いでしょうか
マルチタッチのイベント拾うにはどうしたら良いでしょうか
332デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/21(水) 20:18:20.99ID:ggt7kMvk0 WM_TOUCHメッセージを処理する
333デフォルトの名無しさん (ブーイモ MMaf-VgqF)
2017/06/21(水) 20:40:59.90ID:Os8YZW2iM334デフォルトの名無しさん (ブーイモ MMaf-VgqF)
2017/06/21(水) 20:43:10.04ID:Os8YZW2iM もしかしたwinformsか
だったらごめん
だったらごめん
335デフォルトの名無しさん (ワッチョイ 8796-2WTa)
2017/06/21(水) 21:42:23.91ID:qtkn68K70 Win8以降ならWM_POINTERやらDirect Manipulationやら色々増えてたりもする
336デフォルトの名無しさん (オッペケ Srab-83yN)
2017/06/21(水) 21:47:34.78ID:UBLn/eRur >>319
Open XML SDK でエクセルファイルとか罰ゲームかよww
Open XML SDK でエクセルファイルとか罰ゲームかよww
337デフォルトの名無しさん (ブーイモ MMda-mug2)
2017/06/21(水) 22:16:20.08ID:aInzLc5fM 感覚が麻痺してるみたいだけど、Excelを吐く仕事の時点で十分罰ゲームだから
338デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/21(水) 22:19:02.37ID:GsXKc/xSa なんで?
データは二次利用してなんぼでしょ
Excelみたいな優秀なGUI備えたソフト自分でつくれんの?
データは二次利用してなんぼでしょ
Excelみたいな優秀なGUI備えたソフト自分でつくれんの?
339デフォルトの名無しさん (ワッチョイ ba11-rl9t)
2017/06/21(水) 22:22:24.06ID:FfOd2t570 >>338
なんでも叩ける俺スゲー君だから相手にしなくていいよ
なんでも叩ける俺スゲー君だから相手にしなくていいよ
340デフォルトの名無しさん (ワッチョイ 160d-hsT2)
2017/06/21(水) 22:28:15.84ID:tM48Am1R0 csvが一番簡単
Excelが必要なら仕方ないけど
Excelが必要なら仕方ないけど
341デフォルトの名無しさん (ワントンキン MMaa-QeqB)
2017/06/21(水) 22:36:10.58ID:T/o2O9AKM Excel.Applicationを使わないと対処不能な要件が入ってくると冷や汗が出る
342デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/21(水) 23:00:08.71ID:CHphHT4qa Excel OnlineってAPI公開してないんだっけ?
343デフォルトの名無しさん (ドコグロ MM32-p9VS)
2017/06/21(水) 23:00:32.24ID:OATVPpmDM エクセルを使うとロクなことがない。
エクセルの自由度を狭めるという、
誰のためか分からんかことになるからだ
エクセルの自由度を狭めるという、
誰のためか分からんかことになるからだ
344デフォルトの名無しさん (ワッチョイ baea-IEdM)
2017/06/21(水) 23:46:15.23ID:SXybjlfe0 NPOIは結構バグあったな
自分も次やるならClosedXMLだな
ExcelCreatorは障害報告するとバージョンアップで直りますが多かった
要件によっては未だにPIAもあり
自分も次やるならClosedXMLだな
ExcelCreatorは障害報告するとバージョンアップで直りますが多かった
要件によっては未だにPIAもあり
345デフォルトの名無しさん (ワッチョイ d7c0-LvKX)
2017/06/22(木) 00:12:37.97ID:k91IRdXa0 >>336
セルの指定がR1C1使えずにA1限定とか本当面倒だった
セルの指定がR1C1使えずにA1限定とか本当面倒だった
346デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/22(木) 00:36:01.62ID:Iw2C8Cwxa PIAでオートメーションしかやったことなかったわ
ClosedXMLググってみるとなんかよさそうだねいいこと教えてもらった
まあ今のお仕事では使うことはないだろうけど
ClosedXMLググってみるとなんかよさそうだねいいこと教えてもらった
まあ今のお仕事では使うことはないだろうけど
347デフォルトの名無しさん (アウーイモ MM9b-jXGI)
2017/06/22(木) 07:31:23.23ID:cUiyYbdHM VSTO使えば?
348デフォルトの名無しさん (アウアウイー Sa0b-WW2k)
2017/06/22(木) 07:38:34.20ID:s9kiMNGya Excel入ってなくても使えるやつはどれ?
349デフォルトの名無しさん (ワッチョイ f7e0-z+KB)
2017/06/22(木) 11:30:50.89ID:lcz/9Tid0 NPOIとかClosedXMLとか この辺は単純にファイルの中身読み取って書き換えるだけ
だからついでにEXCELでやるみたいに印刷してとか言われると困る
だからついでにEXCELでやるみたいに印刷してとか言われると困る
350デフォルトの名無しさん (ワッチョイ 9f0d-7qwc)
2017/06/22(木) 14:34:20.10ID:FkmL6sDC0 Excelだから再計算もやってよとか後で言われるとね・・・
351デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/22(木) 15:33:33.55ID:vU8xR0ewa いやそれはほとんどの場合正当な要求でしょう
計算式入れておけばいいんだから
計算式入れておけばいいんだから
352デフォルトの名無しさん (ドコグロ MMbf-Stqb)
2017/06/22(木) 19:08:26.93ID:n4zvfmL3M353デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/22(木) 19:26:52.09ID:lD81v1Toa >>352
何言ってるかよく分からんけど、ワークブックはエクセルで開く前提で作るんでしょ?
「再計算もやってよ」ってユーザーさんの要望の意味は、マニュアルであるセルの値を変更したら、
その系列の合計とか平均値とかが自動的に再計算されるようにしてって意味じゃないの?
何言ってるかよく分からんけど、ワークブックはエクセルで開く前提で作るんでしょ?
「再計算もやってよ」ってユーザーさんの要望の意味は、マニュアルであるセルの値を変更したら、
その系列の合計とか平均値とかが自動的に再計算されるようにしてって意味じゃないの?
354デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/22(木) 20:13:34.35ID:yaPeNTze0 Officeがインストールされている環境ならNetOffice使えばOK
印刷もできるし互換性の問題も絶対に発生しない
COM開放なんかも何も考えずに使えるし楽勝
あとExcelだけじゃなくてWordやOutlookなんかも操作可能だぞ
印刷もできるし互換性の問題も絶対に発生しない
COM開放なんかも何も考えずに使えるし楽勝
あとExcelだけじゃなくてWordやOutlookなんかも操作可能だぞ
355デフォルトの名無しさん (ドコグロ MMbf-Stqb)
2017/06/22(木) 20:24:21.48ID:7IUQweXrM 再計算させると開くのに時間かかるからあらかじめ計算した値を入れといてちょうだい
計算させてから保存するだけだから簡単でしょ?
計算させてから保存するだけだから簡単でしょ?
356デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/22(木) 21:17:17.14ID:fAGSkyHHM357デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/22(木) 21:31:01.39ID:yaPeNTze0358デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/22(木) 21:48:41.95ID:fAGSkyHHM なんだCOMラッパーか
それじゃサーバーではまともに使えないな
それじゃサーバーではまともに使えないな
359デフォルトの名無しさん (ワッチョイ 9f11-Stqb)
2017/06/22(木) 22:35:12.42ID:VnYBxQVg0360デフォルトの名無しさん (ブーイモ MMcf-/dwV)
2017/06/23(金) 12:07:18.94ID:ywmCXTPbM ビットコインとかやりたいんですけど、apiとかの取扱いについて勉強するにお勧めのサイトか書籍教えてください。
361デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/23(金) 19:49:23.99ID:XXCvXi0z0 C#関係あるの?
362デフォルトの名無しさん (ブーイモ MMcf-/dwV)
2017/06/23(金) 21:03:05.44ID:ywmCXTPbM >>361
C#しか出来ないのであります!
C#しか出来ないのであります!
363デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/23(金) 21:11:06.17ID:iy5Tv8tFM C#は優秀だからこだわりたい気持ちはわかるけど勿体無いな
エコシステムまで視野を広げると様々な言語を使えるようになった方が絶対に得する
エコシステムまで視野を広げると様々な言語を使えるようになった方が絶対に得する
364デフォルトの名無しさん (ワッチョイ ffa2-LvKX)
2017/06/23(金) 21:14:53.75ID:BInF8U/X0 証券会社が提供してるビットコインのWebAPIを呼び出すってこと?
365デフォルトの名無しさん (ワッチョイ d779-v4C/)
2017/06/23(金) 21:27:13.17ID:Ob44rCMx0366デフォルトの名無しさん (ワッチョイ d779-v4C/)
2017/06/23(金) 21:29:40.31ID:Ob44rCMx0367デフォルトの名無しさん (ワッチョイ f796-ZLad)
2017/06/23(金) 21:34:42.44ID:phaIeuJh0 キー入力をエミュレートする方法教えてください
string a = e.KeyCode.ToString();
a="{"+a+"}";
sendkeys.send(a);
だいたいこういう流れでやってるんですがCTRL SHIFTができません
装飾キーは+ ^をつければいけるのですが単独で送る方法がわかりません
あと数字キーは D1, nampad 1となるのでできません
string a = e.KeyCode.ToString();
a="{"+a+"}";
sendkeys.send(a);
だいたいこういう流れでやってるんですがCTRL SHIFTができません
装飾キーは+ ^をつければいけるのですが単独で送る方法がわかりません
あと数字キーは D1, nampad 1となるのでできません
368デフォルトの名無しさん (ブーイモ MMcf-/dwV)
2017/06/23(金) 21:51:49.36ID:ywmCXTPbM >>364
その通りでやんす!
その通りでやんす!
369デフォルトの名無しさん (ワッチョイ 9711-LvKX)
2017/06/23(金) 22:21:19.99ID:dFPAo6Gr0 >>368
どこの取引所だよ
どこの取引所だよ
370デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/23(金) 22:24:34.94ID:iy5Tv8tFM371デフォルトの名無しさん (ワッチョイ d7e6-/dwV)
2017/06/23(金) 23:01:44.40ID:dhhFjplC0372デフォルトの名無しさん (アウアウウー Sa9b-NIhq)
2017/06/23(金) 23:17:16.17ID:5OtS9lsXa373デフォルトの名無しさん (ワッチョイ 57f7-BCLP)
2017/06/23(金) 23:36:32.24ID:z4RfANnO0 >>371
UWSCなんかでブラウザぽちぽち
UWSCなんかでブラウザぽちぽち
374デフォルトの名無しさん (ワッチョイ d7e6-/dwV)
2017/06/23(金) 23:40:33.17ID:dhhFjplC0375デフォルトの名無しさん (ワッチョイ 1742-Acq/)
2017/06/24(土) 00:43:54.09ID:C5Is/eVh0 ああ、話が理解できなかったけど、取引エージェントを作りたいってことなのかなぁ。
情報は知らないから出せないけど。
情報は知らないから出せないけど。
376デフォルトの名無しさん (ワッチョイ 1742-Acq/)
2017/06/24(土) 00:45:14.26ID:C5Is/eVh0 Bitcoin bitflyer api C#とか、Bitcoin zaif api C#で検索すると、日本語の例も結構出てくるけど。
377デフォルトの名無しさん (ワッチョイ 9711-LvKX)
2017/06/24(土) 02:41:47.32ID:01B0kJ2m0 >>370いやどこの取引所でするつもりかって聞いたつもり。?が抜けてたスマン
378デフォルトの名無しさん (ワッチョイ 9711-LvKX)
2017/06/24(土) 02:56:07.29ID:01B0kJ2m0 >>371
ザイフもビットフライヤーもC#一から勉強して出来たぞ。
API取得はコピーして自分のkeyだけ差し替えたらできるやろ
あとはJSONのパースを検索して調べたらできる。
bitflyerブログ
https://github.com/kobake/BitflyerBotSample
nuget
https://www.nuget.org/packages/BitflyerApi
zaifブログ
https://kokenji.net/zaif-api/
teratail
https://teratail.com/questions/35250
ザイフもビットフライヤーもC#一から勉強して出来たぞ。
API取得はコピーして自分のkeyだけ差し替えたらできるやろ
あとはJSONのパースを検索して調べたらできる。
bitflyerブログ
https://github.com/kobake/BitflyerBotSample
nuget
https://www.nuget.org/packages/BitflyerApi
zaifブログ
https://kokenji.net/zaif-api/
teratail
https://teratail.com/questions/35250
379デフォルトの名無しさん (ワッチョイ 1742-7xOJ)
2017/06/24(土) 03:21:20.19ID:C5Is/eVh0 さすがに取引所間の裁定とかはできない気がするんだけどどうなんだろう。
プライシングがちがうってことってあるの?
プライシングがちがうってことってあるの?
380デフォルトの名無しさん (ワッチョイ 9711-LvKX)
2017/06/24(土) 03:47:58.71ID:01B0kJ2m0 各取引所のサイトでの取引はほとんどクソ仕様なんで取引エージェント作って売ったら馬鹿売れすると思うで
381デフォルトの名無しさん (ワッチョイ 374b-b6a6)
2017/06/24(土) 13:49:48.00ID:YeyV1G7q0 >>366
日本Microsoftが担当した時点で終わったんだろ
日本Microsoftが担当した時点で終わったんだろ
382デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/24(土) 13:58:53.67ID:jPQQGq+CM あーそういうことか
383デフォルトの名無しさん (ワッチョイ d779-v4C/)
2017/06/24(土) 15:00:47.22ID:BE1Jjbm80384>>315 (ワッチョイ b732-ZLad)
2017/06/25(日) 02:15:51.98ID:u51yDIuc0 自己解決しました。
webkit phantomjs Seleniumなどを試して納得できることができなかったため、
もう一度調べてやってみたところ
IHTMLDocument2 HTMLDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
string content = webBrowser1.Document.Body.OuterHtml;
こうすることでcontentの中に意図するものを入れることが出来ました。
webkit phantomjs Seleniumなどを試して納得できることができなかったため、
もう一度調べてやってみたところ
IHTMLDocument2 HTMLDocument = webBrowser1.Document.DomDocument as IHTMLDocument2;
string content = webBrowser1.Document.Body.OuterHtml;
こうすることでcontentの中に意図するものを入れることが出来ました。
385デフォルトの名無しさん (ワッチョイ d76f-q+YL)
2017/06/25(日) 18:03:00.35ID:sNamIhLK0 非同期でフォームをフリーズ?させずにコントロールをいじることはできないのでしょうか?
Invokeを使ってもつまるところ一緒だと思うのですが、何か方法はありませんでしょうか。
例えるとタスクマネージャのような感じです。
あとは、ListViewにアイテムを追加する・・・のような。
Invokeを使ってもつまるところ一緒だと思うのですが、何か方法はありませんでしょうか。
例えるとタスクマネージャのような感じです。
あとは、ListViewにアイテムを追加する・・・のような。
386デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/25(日) 18:09:40.15ID:ACHxio2k0 マルチは死ね
387デフォルトの名無しさん (ワッチョイ d76f-q+YL)
2017/06/25(日) 18:14:20.16ID:sNamIhLK0 申し訳ない
388デフォルトの名無しさん (ワッチョイ 9f66-LvKX)
2017/06/25(日) 18:25:53.50ID:33UYMysJ0 >>387
コレを期に、wpfやuwpなどに移行してみたらどうかね?
コレを期に、wpfやuwpなどに移行してみたらどうかね?
389デフォルトの名無しさん (ワッチョイ 5741-sl6y)
2017/06/25(日) 18:36:45.98ID:eWIvMMTn0 お前には理解できないと「思う」
390デフォルトの名無しさん (スププ Sdbf-gp2z)
2017/06/25(日) 19:49:11.11ID:P/IvIpB1d 何事も始まりがある
プロジェクト3〜4実験的に試してみれば
プロジェクト3〜4実験的に試してみれば
391デフォルトの名無しさん (アウアウイー Sa0b-WW2k)
2017/06/25(日) 19:52:15.35ID:E0iH5IGPa 別アプリにしたらどうだろう?
392デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/25(日) 20:56:21.54ID:yN128eA50 複数の人とスカイプでやりとりをしています。
そのうち、特定の人との送受信を行ったファイルを一度に取得するプログラムを組んでます。
ただ、スカイプの仕様で添付ファイルの保存パスは一律同じです。
何か良い方法はありませんか?
そのうち、特定の人との送受信を行ったファイルを一度に取得するプログラムを組んでます。
ただ、スカイプの仕様で添付ファイルの保存パスは一律同じです。
何か良い方法はありませんか?
393デフォルトの名無しさん (ワントンキン MM7f-q/w5)
2017/06/25(日) 21:05:25.12ID:uMirXT24M 何を言ってるかわからないです
仕様書を提出してください
仕様書を提出してください
394デフォルトの名無しさん (アウアウイー Sa0b-WW2k)
2017/06/25(日) 21:09:02.52ID:E0iH5IGPa ファイル日時とファイル名ぐらいしか判別方法ないんか?
395デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/25(日) 21:30:38.11ID:yN128eA50 >>393
スカイプで
私と、一郎、二郎、三郎の3人とメッセージのやりとりをしているとします。
写真・動画・PDFなどのファイルをそれぞれとやりとりしています。
二郎とのスレッドの中でやりとりをしていた
ファイルは大切な内容を含むのでまるごと保存したいと思いました。
ただ、やりとりをして長い為、とても手動では全部を保存する事が出来ません。
そこでプログラムを組んで一発で自動で保存してやろう!
と思った次第です。
保存したいのはあくまで二郎だけであって、一郎・三郎と送受信したファイルは保存したくありません
課題:Skypeでは全員のファイルの保存先が同じパスになっている、
という事です。
こんな場合にはどの様にすればよいの?エスパープログラマさん助けてください!
スカイプで
私と、一郎、二郎、三郎の3人とメッセージのやりとりをしているとします。
写真・動画・PDFなどのファイルをそれぞれとやりとりしています。
二郎とのスレッドの中でやりとりをしていた
ファイルは大切な内容を含むのでまるごと保存したいと思いました。
ただ、やりとりをして長い為、とても手動では全部を保存する事が出来ません。
そこでプログラムを組んで一発で自動で保存してやろう!
と思った次第です。
保存したいのはあくまで二郎だけであって、一郎・三郎と送受信したファイルは保存したくありません
課題:Skypeでは全員のファイルの保存先が同じパスになっている、
という事です。
こんな場合にはどの様にすればよいの?エスパープログラマさん助けてください!
396デフォルトの名無しさん (アウアウカー Sa6b-m1nn)
2017/06/25(日) 21:40:14.88ID:TFKG+xLIa それはプログラマーの技量云々の問題じゃなくてskypeの仕様上どうしようもないんじゃ
同時に複数とやり取りしてなきゃファイルの作成日時で分別可能だが、正確な方法はないだろ
同時に複数とやり取りしてなきゃファイルの作成日時で分別可能だが、正確な方法はないだろ
397デフォルトの名無しさん (アウアウイー Sa0b-WW2k)
2017/06/25(日) 21:41:58.14ID:E0iH5IGPa ファイル名がある履歴を解析できればなんとかなんのか?
取得できなきゃ無理だな
取得できなきゃ無理だな
398デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/25(日) 21:56:53.75ID:yN128eA50399デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/25(日) 22:01:42.72ID:ACHxio2k0400デフォルトの名無しさん (ワッチョイ 9fc4-sl6y)
2017/06/25(日) 22:04:14.95ID:mrQK8XKT0 思い込みに付ける薬はない
死ぬまで思い込んだままだ
死ぬまで思い込んだままだ
401デフォルトの名無しさん (アウアウイー Sa0b-WW2k)
2017/06/25(日) 22:06:15.89ID:9hy+MEN/a ファイルのダウンロード履歴のテキストがあって解析できるならあるいわって感じだな
skypeビジュアル的に読み取ってOCRっていうとプロの仕事だな
skypeビジュアル的に読み取ってOCRっていうとプロの仕事だな
402デフォルトの名無しさん (アウアウカー Sa6b-m1nn)
2017/06/25(日) 22:07:58.92ID:TFKG+xLIa403デフォルトの名無しさん (ワントンキン MM7f-q/w5)
2017/06/25(日) 22:27:46.47ID:uMirXT24M 通信ログが残ってるなら楽勝だよ
404デフォルトの名無しさん (ワッチョイ 576f-CZMg)
2017/06/25(日) 23:01:05.48ID:x/CHo8JV0 >>395
つ DOKAN
つ DOKAN
405デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/26(月) 03:06:43.27ID:6QaOoL2B0 Windows API で人の操作をエミュレーション
ユーザを選択 → スレッドを開く → 画面を上にスクロール → 画像を見つける → 右クリック → 所定フォルダ(ユーザ名)で保存
で実現できそう。
ユーザを選択 → スレッドを開く → 画面を上にスクロール → 画像を見つける → 右クリック → 所定フォルダ(ユーザ名)で保存
で実現できそう。
406デフォルトの名無しさん (ワッチョイ 9f66-LvKX)
2017/06/26(月) 08:08:23.03ID:Yj80E/il0 >私と、一郎、二郎、三郎の3人とメッセージのやりとりをしているとします。
4人じゃね?
4人じゃね?
407デフォルトの名無しさん (ワッチョイ 576f-CZMg)
2017/06/26(月) 08:54:53.15ID:PKYMbkgl0 3人と犬です
408デフォルトの名無しさん (JP 0H7f-v4C/)
2017/06/26(月) 12:23:55.41ID:bj54op8+H 私の名前は一郎です
409デフォルトの名無しさん (ワッチョイ b732-ZLad)
2017/06/26(月) 15:41:10.67ID:CxA8zKJy0 Skype何年も使ってないから仕様は覚えてないが、チャットログがあれば
受信したファイル名の横にファイルを開くとかファイルを保存とかあるんじゃねえの?
あるいは、拡張子が表示されてたように思う
ログから、拡張子がついている部分(ファイル名+拡張子)だけを抜き出してListにでもいれて、
ファイルががあるフォルダを順次検索していけば抜き出せるんじゃね?
一時保管されてるファイル名と、送られてきたファイル名が違うなら、受信日時で大まかに振り分けるしか無いだろうが
受信したファイル名の横にファイルを開くとかファイルを保存とかあるんじゃねえの?
あるいは、拡張子が表示されてたように思う
ログから、拡張子がついている部分(ファイル名+拡張子)だけを抜き出してListにでもいれて、
ファイルががあるフォルダを順次検索していけば抜き出せるんじゃね?
一時保管されてるファイル名と、送られてきたファイル名が違うなら、受信日時で大まかに振り分けるしか無いだろうが
410デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/26(月) 18:41:23.82ID:6QaOoL2B0411デフォルトの名無しさん (ワッチョイ 9f66-NIhq)
2017/06/26(月) 19:10:18.82ID:Bg26KhHa0 妙に原始的な話が続くのが謎だけど、WindowsならAppDataにSQLiteファイルがあるでしょ?
古いのはmain.dbのTransfersテーブル、最近のVerはmedia_messaging\storage_dbの方に情報あったような気がするが
古いのはmain.dbのTransfersテーブル、最近のVerはmedia_messaging\storage_dbの方に情報あったような気がするが
412デフォルトの名無しさん (ドコグロ MMdf-Stqb)
2017/06/26(月) 19:11:19.86ID:ErfyIPbgM413デフォルトの名無しさん (ブーイモ MMcf-/dwV)
2017/06/26(月) 19:13:28.37ID:KfNLI9D8M >>412
いや、4人だろ。要件は大事よ
いや、4人だろ。要件は大事よ
414デフォルトの名無しさん (ワッチョイ bfea-gp2z)
2017/06/26(月) 19:17:22.09ID:H4Gyz9lD0 短絡的に考えると私、一郎、二郎、三郎の4人になるが常識的に考えると「私」は自分自身のことになるので普通は除外する
4人と言っているのは相当日本語が不自由か頭が固すぎるかのどちらか
4人と言っているのは相当日本語が不自由か頭が固すぎるかのどちらか
415デフォルトの名無しさん (ドコグロ MMdf-Stqb)
2017/06/26(月) 19:42:00.73ID:ErfyIPbgM >>413
> スカイプで
> 私と、
> 一郎、二郎、三郎の3人「が」
> メッセージのやりとりをしているとします。
なら間違えようがないんだが
> 私と、
> 一郎、二郎、三郎の3人「と」
と書いてるから
> (どこかの誰かが)
> 私と、
> 一郎、二郎、三郎の3人「と」
と解釈する余地を残してしまった
それでもその下の文章を読めば私と三人のやり取りだと言うことはわかるはず
> スカイプで
> 私と、
> 一郎、二郎、三郎の3人「が」
> メッセージのやりとりをしているとします。
なら間違えようがないんだが
> 私と、
> 一郎、二郎、三郎の3人「と」
と書いてるから
> (どこかの誰かが)
> 私と、
> 一郎、二郎、三郎の3人「と」
と解釈する余地を残してしまった
それでもその下の文章を読めば私と三人のやり取りだと言うことはわかるはず
416デフォルトの名無しさん (ワッチョイ 573a-sl6y)
2017/06/26(月) 20:33:39.89ID:cvPm/Ubp0 どうでもいいんだよ金玉野郎
417デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/26(月) 20:36:36.50ID:aKsAxtR4a 内山田洋とクールファイブは合計6人だったな
どうでもいいけど
どうでもいいけど
418デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/26(月) 20:45:19.60ID:6QaOoL2B0 >4人と言っているのは相当日本語が不自由か頭が固すぎるかのどちらか
うん、4人と言ってるやつは結構頭やばいヤツだと思う
うん、4人と言ってるやつは結構頭やばいヤツだと思う
419デフォルトの名無しさん (ワッチョイ d779-v4C/)
2017/06/26(月) 21:07:24.11ID:qGkogn630 何人トリオってのは一体何人だったんだ?
420デフォルトの名無しさん (ワッチョイ 9f66-LvKX)
2017/06/26(月) 21:45:23.21ID:Qwo6nzBc0 「あなたと私」=2人。「あなたと私と彼」=3人。「あなたと私と彼と彼女」=4人
だから「私と、 一郎、二郎、三郎 」も4人が正解だが、何故か3人と錯誤する人も少なくない
これは名前の「一郎、二郎、三郎」につられて居るんじゃないかと仮定する
「私と、二郎、三郎、四郎」・・コレなら多くの人は4人と認識するんじゃないかな
と、屁理屈をでっち上げてみたがどうだろう?
だから「私と、 一郎、二郎、三郎 」も4人が正解だが、何故か3人と錯誤する人も少なくない
これは名前の「一郎、二郎、三郎」につられて居るんじゃないかと仮定する
「私と、二郎、三郎、四郎」・・コレなら多くの人は4人と認識するんじゃないかな
と、屁理屈をでっち上げてみたがどうだろう?
421デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/26(月) 22:07:23.82ID:EF4HA8KqM 結果として人物は4名居るけどどの言葉がどこに引っかかるかを読みとればいいだけだよ
意図をくみ取る力も大切
意図をくみ取る力も大切
422デフォルトの名無しさん (ワッチョイ ff23-q+YL)
2017/06/26(月) 22:12:22.44ID:ajS7ceRm0 国語の宿題はもう終わった?
そろそろ算数の宿題しない?
そろそろ算数の宿題しない?
423デフォルトの名無しさん (ワッチョイ d7e6-/dwV)
2017/06/26(月) 22:19:46.18ID:dk2cPKYS0 つまり3人説を唱えてるのは中卒
424デフォルトの名無しさん (ワッチョイ 9fea-9LiL)
2017/06/26(月) 22:23:41.35ID:wUW8GLeq0 じゃあ、スレタイと関係ない話題を延々続けてるのはアスペってことでいいの?
425デフォルトの名無しさん (ワッチョイ d7e6-/dwV)
2017/06/26(月) 22:32:35.24ID:dk2cPKYS0 イシューをそのままにしておくのは3流
426デフォルトの名無しさん (ワントンキン MM7f-q/w5)
2017/06/26(月) 22:35:04.89ID:ta2e2oUgM ショウシュー剤もってこい
427デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/26(月) 23:45:33.93ID:3c9ApI6B0 >>1
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
428デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/27(火) 01:16:37.97ID:GqKcgcUi0 >私と、一郎、二郎、三郎の3人とメッセージのやりとりをしているとします。
やりとりをしている対象は3人だろ
4人とかいってる奴は糖質で自分と脳内で会話してる基地外
やりとりをしている対象は3人だろ
4人とかいってる奴は糖質で自分と脳内で会話してる基地外
429デフォルトの名無しさん (ワッチョイ 9711-uL3K)
2017/06/27(火) 01:21:24.57ID:HtLBJz6z0 >>428
助詞って知ってる?
助詞って知ってる?
430デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 02:22:35.77ID:D1caoPdja431デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/27(火) 05:48:51.40ID:Z+SbWLvNM >>428
こんなにも態度のでかい質問者はなかなかレアだな
こんなにも態度のでかい質問者はなかなかレアだな
432デフォルトの名無しさん (ドコグロ MMdf-Stqb)
2017/06/27(火) 06:45:22.10ID:ebZ3rTVBM433デフォルトの名無しさん (ワントンキン MM7f-q/w5)
2017/06/27(火) 07:03:25.51ID:DR8r+tPGM これだから自然言語は嫌なんだ
お前らプログラマなんだからコードで会話しろよ
お前らプログラマなんだからコードで会話しろよ
434デフォルトの名無しさん (アウアウイー Sa0b-WW2k)
2017/06/27(火) 07:05:35.31ID:ZXNdmiBma 設計書も書けないPGはお断りします
435デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/27(火) 11:16:14.12ID:GqKcgcUi0 >無駄に喧嘩腰に容量を得ない
日本語を勉強しろ。
日本語を勉強しろ。
436デフォルトの名無しさん (ワッチョイ 575f-sl6y)
2017/06/27(火) 12:30:43.73ID:d6O5OJHk0 俺以外でここまでに書き込んだ奴は全員死ね
437デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/27(火) 12:39:57.82ID:p7AYCZKIM438デフォルトの名無しさん (ワントンキン MM7f-NIhq)
2017/06/27(火) 13:39:08.26ID:saHJxNU8M webアプリを作る際に、ajax control toolkit って今でも使っていいもんなんでしょうか?
使えるんでしょうけど、一般的にメジャーな技術としてと意味です。
使えるんでしょうけど、一般的にメジャーな技術としてと意味です。
439デフォルトの名無しさん (ワッチョイ 1f91-ZLad)
2017/06/27(火) 13:46:07.08ID:ntBitUxx0 NET3.5との組み合わせだったらサポート内かも知れんが
別段の理由がなきゃNET4.52以降で作ろうな。
それに相当する機能が最初から含まれてる
別段の理由がなきゃNET4.52以降で作ろうな。
それに相当する機能が最初から含まれてる
440デフォルトの名無しさん (ブーイモ MM3b-aomt)
2017/06/27(火) 13:55:12.80ID:thSLzROjM AJAX Control Toolkitがどうというより、今時のWebはビューにサーバーサイドのフレームワークに合わせた仕掛けを入れるということ自体を一切しないよ
基本的にPHP的なプリミティブな作りにして必要に応じてJSON Web API+JavaScriptってのが今風
基本的にPHP的なプリミティブな作りにして必要に応じてJSON Web API+JavaScriptってのが今風
441デフォルトの名無しさん (ワントンキン MM7f-NIhq)
2017/06/27(火) 14:12:22.32ID:saHJxNU8M442デフォルトの名無しさん (ワッチョイ b732-ZLad)
2017/06/27(火) 14:37:03.26ID:yJfi3v1W0 関数AでWebBrowser1にURL入れて
DocumentCompletedで要素を抜き出す、抜き出した結果を関数Aの返り値として使いたいのですが、
DocumentCompletedイベントが発生して要素を抜き出すあいだ、関数Aを止めとかないと戻り値として使えないですよ?
非同期処理とかスリープ試した見たんですが、うまくいかないんですが、いい方法無いでしょうか?
DocumentCompletedで要素を抜き出す、抜き出した結果を関数Aの返り値として使いたいのですが、
DocumentCompletedイベントが発生して要素を抜き出すあいだ、関数Aを止めとかないと戻り値として使えないですよ?
非同期処理とかスリープ試した見たんですが、うまくいかないんですが、いい方法無いでしょうか?
443デフォルトの名無しさん (ブーイモ MM3b-aomt)
2017/06/27(火) 15:03:26.03ID:tqNYDV9DM Selenium
はい次
はい次
444デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 15:23:16.19ID:CA8TfY9qa あれ?
445デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 15:25:46.33ID:CA8TfY9qa var ready = false;
WebBrowser1.DocumentComplated += (sender, e) =>
{
....
ready = true;
};
WebBrowser1.DocumentComplated += (sender, e) =>
{
....
ready = true;
};
446デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 15:26:21.09ID:CA8TfY9qa while(!ready) Thread.Sleep(0);
447デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 15:27:12.95ID:CA8TfY9qa 半角の!使ってると投稿はじかれる?
ちなみに、これだとイベントハンドラーがお漏らしするw
ちなみに、これだとイベントハンドラーがお漏らしするw
448デフォルトの名無しさん (ブーイモ MM3b-aomt)
2017/06/27(火) 15:34:36.80ID:tqNYDV9DM 2chで効果的に回答をもらう方法に乗せられたみたいで癪だが、
頼むからWaitHandleを使ってくれ
頼むからWaitHandleを使ってくれ
449デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 16:43:00.57ID:CA8TfY9qa 待機ハンドルってResetしたのと同一スレッドでも待機できたかな
それを言ったらSleep中のスレッドのイベントハンドラが呼び出されるかどうかも怪しいがw
それを言ったらSleep中のスレッドのイベントハンドラが呼び出されるかどうかも怪しいがw
450デフォルトの名無しさん (ワッチョイ 9f80-gp2z)
2017/06/27(火) 17:31:59.60ID:J5+LfTIy0 >>436
お前が全部書き込んだんだろw
お前が全部書き込んだんだろw
451デフォルトの名無しさん (ワッチョイ b732-ZLad)
2017/06/27(火) 18:57:24.97ID:yJfi3v1W0452デフォルトの名無しさん (ブーイモ MM3b-/dwV)
2017/06/27(火) 19:02:37.08ID:M2+zHx9kM 戻り値がjsonのAPIを叩いて値を得るには同じ型のクラスを作ってそのオブジェクトに格納する感じでしょうか?
453デフォルトの名無しさん (ワッチョイ b732-ZLad)
2017/06/27(火) 20:06:49.81ID:yJfi3v1W0 ブラウザとDocumentComplatedを別スレッドとして処理し、
メインのスレッドをスリープで解決しました。
メインのスレッドをスリープで解決しました。
454デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/27(火) 22:23:04.90ID:GqKcgcUi0 プログラマの言語障碍者の比率の高さは異常
455デフォルトの名無しさん (ワッチョイ 9f66-LvKX)
2017/06/27(火) 22:31:20.30ID:Z6j0KWDP0 >>454
私は、hogeとhageの二人と酒を飲みました
私と、hogeとhageの三人で酒を飲みました
「は」の時は自分以外の人数となり、「と」の時は自分を含む人数となる
つまり間違っているのはアンタの方だなw
私は、hogeとhageの二人と酒を飲みました
私と、hogeとhageの三人で酒を飲みました
「は」の時は自分以外の人数となり、「と」の時は自分を含む人数となる
つまり間違っているのはアンタの方だなw
456デフォルトの名無しさん (ワッチョイ 9f11-ZeFW)
2017/06/27(火) 22:34:56.37ID:nTqHpHCr0 なんで幼稚園レベルの日本語勉強会になってんだ。
457デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/27(火) 22:36:22.93ID:uJ1RODaw0 >398 :デフォルトの名無しさん (ワッチョイ 9f19-q+YL) [sage] :2017/06/25(日) 21:56:53.75 ID:yN128eA50 [3/3]
>Windows APIを使えば実装できると思ってますが
>どうでしょう?
こんな発言してるお前にだけは言われたくないわw
>Windows APIを使えば実装できると思ってますが
>どうでしょう?
こんな発言してるお前にだけは言われたくないわw
458デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/27(火) 22:44:41.75ID:9dRWF27nM >>454
自覚してるなら何とかしろよwww
自覚してるなら何とかしろよwww
459デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/27(火) 23:07:32.13ID:GqKcgcUi0460デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/27(火) 23:14:39.29ID:9pQu4/DRM レガシーASP.NETマイグレは難しいよなぁ
Viewを捨て去りたいけどViewに密結合して切り離せないロジックが多すぎる
Viewを捨て去りたいけどViewに密結合して切り離せないロジックが多すぎる
461デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/27(火) 23:47:38.24ID:9dRWF27nM462デフォルトの名無しさん (ワッチョイ 9fc4-sl6y)
2017/06/27(火) 23:54:14.76ID:ig32XTB80 アスペの思考なんかのぞかねーよカス
463デフォルトの名無しさん (ワッチョイ 9f66-LvKX)
2017/06/28(水) 00:02:01.25ID:P09sdn8I0 >>459
「私とあなた」を一人という人は先ず居りませんわw
「私とあなた」を一人という人は先ず居りませんわw
464デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/28(水) 00:12:23.07ID:u05kxE4a0 私とあなた一人
465デフォルトの名無しさん (ワッチョイ d7e6-/dwV)
2017/06/28(水) 00:25:39.15ID:0cSQcQDT0 you and i
466デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/28(水) 02:31:10.76ID:/mvunVzXa てすと
467デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/28(水) 02:36:56.88ID:/mvunVzXa468デフォルトの名無しさん (ワッチョイ d76e-aomt)
2017/06/28(水) 08:00:03.46ID:5KCPdjT60 MVCじゃない方のレガシーASP.NETってなんで普及してしまったんだろう
普通にPHP的な作り方の方が遥かにわかりやすいと思うけどな
HTMLのフォームのPOSTとかはホスト系で緑色の文字のAAでGUI作ってた時代の考え方と基本的に同じようなもんだから、
決してドカタ開発に馴染みのないスタイルってわけじゃないのに
普通にPHP的な作り方の方が遥かにわかりやすいと思うけどな
HTMLのフォームのPOSTとかはホスト系で緑色の文字のAAでGUI作ってた時代の考え方と基本的に同じようなもんだから、
決してドカタ開発に馴染みのないスタイルってわけじゃないのに
469デフォルトの名無しさん (ワッチョイ 1f91-ZLad)
2017/06/28(水) 08:04:00.96ID:+bF+mAil0 >>460
レガシーじゃないasp.netって何だ?
レガシーじゃないasp.netって何だ?
470デフォルトの名無しさん (スップ Sd3f-uL3K)
2017/06/28(水) 08:14:33.61ID:S1GQbAFUd >>468
Web formsのこと?Windows formsで飯食ってたやつらが手出しやすいようにってことじゃねーの?
Web formsのこと?Windows formsで飯食ってたやつらが手出しやすいようにってことじゃねーの?
471デフォルトの名無しさん (ワッチョイ 3769-WW2k)
2017/06/28(水) 08:14:44.38ID:w/2VCFQw0472デフォルトの名無しさん (アウアウアー Sa4f-jXGI)
2017/06/28(水) 08:21:23.80ID:kDq6sXUta なんでPHSに合わせなきゃなんないの?
473デフォルトの名無しさん (ワッチョイ 1f91-ZLad)
2017/06/28(水) 09:22:04.09ID:+bF+mAil0 レガシーなのかレガシーじゃないのか知らないが
ASP.NET、HTMLデザイナーと.NETプログラマとで、上手に分業できるいい言語だと思うけどなー
ASP.NET、HTMLデザイナーと.NETプログラマとで、上手に分業できるいい言語だと思うけどなー
474デフォルトの名無しさん (アウアウカー Sa6b-yeEX)
2017/06/28(水) 11:51:02.56ID:BH39HJOwa 質問失礼します
PC(C#アプリケーション )から外付けのIOポートの切り替わりを確認したいのですが、どういった感じの処理をすればいいでしょうか
IOポートの確認はできる前提として、それが一定の周期(100mS)できちんとON/OFFして動いているかを判定したいです
参考意見で構いませんのでよろしくお願いします
PC(C#アプリケーション )から外付けのIOポートの切り替わりを確認したいのですが、どういった感じの処理をすればいいでしょうか
IOポートの確認はできる前提として、それが一定の周期(100mS)できちんとON/OFFして動いているかを判定したいです
参考意見で構いませんのでよろしくお願いします
475デフォルトの名無しさん (アウアウウー Sa9b-NIhq)
2017/06/28(水) 11:58:44.78ID:UL/dJT7Ra そもそも外付けのIOポートとはなんなのかを書けよ
476デフォルトの名無しさん (ワッチョイ 9f66-LvKX)
2017/06/28(水) 11:59:52.37ID:P09sdn8I0477デフォルトの名無しさん (アウアウウー Sa9b-NIhq)
2017/06/28(水) 12:00:49.73ID:UL/dJT7Ra ロジアナの仕事だろ
そんなん
そんなん
478デフォルトの名無しさん (ブーイモ MM3b-aomt)
2017/06/28(水) 12:18:33.00ID:kl/WEkBuM479デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/28(水) 12:37:27.33ID:7gqvDpUwa >>474
質問が曖昧過ぎるけど、入力の周期とかデューティー比を監視したいってことなら、
GPIOの状態の取得方法(ボードの仕様)にもよるし要求される精度にもよるけど、
Windowsだけでは難しいと思った方がいいんじゃない?
質問が曖昧過ぎるけど、入力の周期とかデューティー比を監視したいってことなら、
GPIOの状態の取得方法(ボードの仕様)にもよるし要求される精度にもよるけど、
Windowsだけでは難しいと思った方がいいんじゃない?
480デフォルトの名無しさん (アウアウウー Sa9b-NIhq)
2017/06/28(水) 12:45:44.45ID:UL/dJT7Ra windowsともかかれてないからあいまい
PC上でc#が動くリアルタイムOS使ってるかもしれない
PC上でc#が動くリアルタイムOS使ってるかもしれない
481デフォルトの名無しさん (アウアウカー Sa6b-yeEX)
2017/06/28(水) 13:10:10.61ID:3p9zCna+a482デフォルトの名無しさん (ワッチョイ 9f80-gp2z)
2017/06/28(水) 13:24:26.37ID:QXyxvRuc0 最近のICEは、インターフェイス内にCPUが入ってて、
そいつが仲介してる。
インターフェイスからPC間はUSBシリアル通信で、
インターフェイスからマイコン間は低レベルシリアル通信をしてるな。
リセット信号でマイコンを止め、低レベルシリアル通信で、
中身をトレースし、インターフェイス内にいったんキャッシュし、
そいつをPCに送ってる感じだな。
そいつが仲介してる。
インターフェイスからPC間はUSBシリアル通信で、
インターフェイスからマイコン間は低レベルシリアル通信をしてるな。
リセット信号でマイコンを止め、低レベルシリアル通信で、
中身をトレースし、インターフェイス内にいったんキャッシュし、
そいつをPCに送ってる感じだな。
483デフォルトの名無しさん (ワッチョイ f732-u7/v)
2017/06/28(水) 20:37:09.67ID:F1IECJZL0 >>481
WindowsはリアルタイムOSじゃないので、アプリでポートをポーリングしても、なんとなくの時間精度でしか監視出来ないよ。
一定周期でバッファにサンプリングしてくれるIOボードでも使えば良いんだろうけど。
WindowsはリアルタイムOSじゃないので、アプリでポートをポーリングしても、なんとなくの時間精度でしか監視出来ないよ。
一定周期でバッファにサンプリングしてくれるIOボードでも使えば良いんだろうけど。
484774ワット発電中さん (ワッチョイ bf4b-rlUu)
2017/06/28(水) 21:43:37.85ID:FyhUFKry0 「マイコンがシリアルポート互換のパルスを出し続ける」なら、
安く買える『FT232の基板』をつないで、でSerialPortクラスで受信できる
安く買える『FT232の基板』をつないで、でSerialPortクラスで受信できる
485デフォルトの名無しさん (ワッチョイ 421e-CicO)
2017/06/29(木) 07:11:40.23ID:seAf2DI60 FT232系はニセモノ注意!
うちもえらい目にあったよ・・
うちもえらい目にあったよ・・
486デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/06/29(木) 12:43:54.66ID:J1ToM3nLa >>485
FTDIの製品シェアも実績もあるからお宅が何か勘違いしてるだけだと思うよw
FTDIの製品シェアも実績もあるからお宅が何か勘違いしてるだけだと思うよw
487デフォルトの名無しさん (JP 0H92-9Mth)
2017/06/29(木) 12:58:09.09ID:YLVns9yBH FT232って複数デバイスの制御できない
って噂あるけど本当?
全然問題なく制御できてるんですけど
って噂あるけど本当?
全然問題なく制御できてるんですけど
488デフォルトの名無しさん (JP 0H92-9Mth)
2017/06/29(木) 13:00:38.94ID:YLVns9yBH FT232を複数枚繋げて同時制御だ
日本語意味不明スマン●| ̄|_
日本語意味不明スマン●| ̄|_
489デフォルトの名無しさん (ワッチョイ c20d-lO1+)
2017/06/29(木) 13:32:48.20ID:jJBoSdE30 COMポート番号でしか識別出来ないから、
機器が入れ替わってもPC側からじゃわからんってだけじゃね?
機器が入れ替わってもPC側からじゃわからんってだけじゃね?
490デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/06/29(木) 16:01:36.08ID:x/W/MEgba >>487
複数のデバイスが全部同じ識別情報(VID, PID, iSerialNumber)を持ってたらそうなるね
複数のデバイスが全部同じ識別情報(VID, PID, iSerialNumber)を持ってたらそうなるね
491デフォルトの名無しさん (JP 0H92-9Mth)
2017/06/29(木) 16:02:47.89ID:YLVns9yBH492デフォルトの名無しさん (ワッチョイ 1911-CicO)
2017/06/29(木) 17:09:13.23ID:wGgfLCtF0 ***SLAMO***
}
000-"F","TAP","0","1M","L","E-07"/0B"[9BA%]"^"2*73B"="0"/"9GA"
001-"Do"[[[%9DE=HUF%%!%$0B1OTU"NE"]]]<\b>
002-<<%!!!HNDEL%!0DAI@$7[1B]!0#!@>>
3000-{{1\B%HUF!0$$\%6/0Q\%6/GA[[7BU]]%9TE!%$en$}}
---
[[[C%%]]]
}
000-"5802"/"α"="0.1888412376155482"%en{
}
000-"F","TAP","0","1M","L","E-07"/0B"[9BA%]"^"2*73B"="0"/"9GA"
001-"Do"[[[%9DE=HUF%%!%$0B1OTU"NE"]]]<\b>
002-<<%!!!HNDEL%!0DAI@$7[1B]!0#!@>>
3000-{{1\B%HUF!0$$\%6/0Q\%6/GA[[7BU]]%9TE!%$en$}}
---
[[[C%%]]]
}
000-"5802"/"α"="0.1888412376155482"%en{
493デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/06/29(木) 20:46:58.12ID:f7/aluE/a 複数の非同期スレッドからひとつのメソッドを実行したいのですが、このメソッドが実行されているとき(ビジー状態とします)他のスレッドからの呼び出しが実行されないようにするにはどうしたらいいでしょうか
ただその呼び出し自体はタスクが溜まっていくかのようにメソッドのビジー状態がとけたら順次実行させたいです
どうしていいかわからず非常に困ってます。。どなたかお助けください
ただその呼び出し自体はタスクが溜まっていくかのようにメソッドのビジー状態がとけたら順次実行させたいです
どうしていいかわからず非常に困ってます。。どなたかお助けください
494デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/06/29(木) 21:08:01.04ID:WR/vcQFp0 メソッドの呼出にlock掛けたらいいんじゃない?
495デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/29(木) 21:15:47.88ID:F1YaSrsh0496デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/06/29(木) 21:44:23.57ID:OQ0Ch0kw0 queueに要求積んで
実行結果は他の何かに渡してもらうとか
(CallBack関数実行してもらうとかでも良いだろうし)
実行結果は他の何かに渡してもらうとか
(CallBack関数実行してもらうとかでも良いだろうし)
497デフォルトの名無しさん (ワッチョイ 860d-rv0u)
2017/06/29(木) 21:45:24.62ID:R2mIG4UQ0 わからんけど
非同期スレッドがメソッドを呼ぶときはフラグだけ立てる
タイマーでフラグをチェックしてフラグが立ってたら順次実行
非同期スレッドがメソッドを呼ぶときはフラグだけ立てる
タイマーでフラグをチェックしてフラグが立ってたら順次実行
498デフォルトの名無しさん (スップ Sdc2-ieQv)
2017/06/29(木) 21:47:02.93ID:oFkBbWzId >>497
それは恐らくアンチパターン
それは恐らくアンチパターン
499デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/06/29(木) 22:06:41.15ID:x/W/MEgba 素直に質問を読むかぎり>>494の言う通り排他ロックで解決する問題としか思えんけど
500デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/06/29(木) 22:07:08.30ID:f7/aluE/a 皆さんアドバイスありがとうございます
ちなみにメソッドというのはTcpClientの送信メソッドで
複数のスレッドからサーバーに送信をしたいのですが、おそらくその送信のタイミングが競合を起こしうまく動作してくれません。。
ロックオブジェクトを作ってロックかけてるつもりなんですがうまく機能してないのです
ちなみにメソッドというのはTcpClientの送信メソッドで
複数のスレッドからサーバーに送信をしたいのですが、おそらくその送信のタイミングが競合を起こしうまく動作してくれません。。
ロックオブジェクトを作ってロックかけてるつもりなんですがうまく機能してないのです
501デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/29(木) 22:35:25.39ID:F1YaSrsh0 >>495でやればそもそもロックなんて発生しないわけだが
できない理由でもあるのか?
できない理由でもあるのか?
502デフォルトの名無しさん (アウアウウー Sa25-nP2k)
2017/06/29(木) 23:05:29.60ID:BTdfqiMca ダウンローダーの同時接続数制限みたいなものかと思ったら一つなんだな
lcokはできない
System.Threading.SemaphoreSlimか
lcokはできない
System.Threading.SemaphoreSlimか
503デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/06/29(木) 23:25:53.82ID:f7/aluE/a504デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/29(木) 23:49:55.45ID:F1YaSrsh0505デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/06/30(金) 00:05:24.99ID:8hWYjDYsa またいつもの馬鹿がしょうもないことで威張り腐ってるなw
ばっかじゃねえのこいつ
ばっかじゃねえのこいつ
506デフォルトの名無しさん (ワッチョイ c1e6-m2bP)
2017/06/30(金) 00:16:25.32ID:wI8QUjnd0 queueで解決ちゃうの?
507デフォルトの名無しさん (ワントンキン MM92-HpRm)
2017/06/30(金) 00:19:17.08ID:8Sz1FGh4M >>500
こういうのはスレッドセーフなキューを使うのが伝統
複数のスレッドからキューにコマンドオブジェクトをエンキューする
処理スレッドはループをぐるぐる回しながらコマンドオブジェクトをデキューして実行する
これは初心者でもわかりやすいが効率は良くない
こういうのはスレッドセーフなキューを使うのが伝統
複数のスレッドからキューにコマンドオブジェクトをエンキューする
処理スレッドはループをぐるぐる回しながらコマンドオブジェクトをデキューして実行する
これは初心者でもわかりやすいが効率は良くない
508デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 00:20:08.64ID:vkcMcAZ50 ええー
わざわざ複数ある方から単一スレッドにアクセスする構造が悪いんじゃんよ
単一スレッドから各スレッドに巡回していけばバッティングおこんねーじゃん
って言ってるだけなのにマジで通じないのかよ残念ぷぅ
わざわざ複数ある方から単一スレッドにアクセスする構造が悪いんじゃんよ
単一スレッドから各スレッドに巡回していけばバッティングおこんねーじゃん
って言ってるだけなのにマジで通じないのかよ残念ぷぅ
509デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/06/30(金) 00:21:26.45ID:4HtEPBqY0 BlockingCollectionやConcurrentQueueでいいんじゃね
510デフォルトの名無しさん (ワッチョイ 5d23-nIbb)
2017/06/30(金) 00:23:25.92ID:SpH8vRbw0 キューでもいいが、SemaphoreSlimでスレッド制限かけたほうがシンプルにはなりそう。知らんけど
511デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/06/30(金) 00:34:20.89ID:fpnpIAui0 >>510
それ普通のロックや
それ普通のロックや
512>>485 (ワッチョイ 421e-CicO)
2017/06/30(金) 07:06:40.25ID:z9Hs41t20 しつこくてすまんが、FT232のニセモノ問題を知らない人も多そうなので、一応。
アキバとかで売ってるやつだけじゃなくて、うちみたいに某商社経由で被害にあったケースもあるので。
https://japan.zdnet.com/article/35055706/
アキバとかで売ってるやつだけじゃなくて、うちみたいに某商社経由で被害にあったケースもあるので。
https://japan.zdnet.com/article/35055706/
513デフォルトの名無しさん (ワッチョイ 421e-CicO)
2017/06/30(金) 07:09:05.81ID:z9Hs41t20 ちなみに世の中に出回っているFT232の大部分はニセモノなので、
"FT232 偽物"とかでググってみてくれ
"FT232 偽物"とかでググってみてくれ
514デフォルトの名無しさん (ドコグロ MM0a-zH8r)
2017/06/30(金) 07:41:44.96ID:VDhKv/wIM515デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 07:47:46.41ID:vkcMcAZ50516デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 07:49:32.00ID:vkcMcAZ50 昨日から馬鹿すぎて聞くに耐えないな
517デフォルトの名無しさん (ワッチョイ c20d-lO1+)
2017/06/30(金) 09:37:27.51ID:arYqdS+00 C#にエラー値ってありますか?
EPPlusを使ってExcelの値をコピーしているのですが、
WriteSheet.Cells[yy, xx].Value = ReadSheet.Cells[yy, xx].Value;
と記述した時、元セルの値が「=na()」の時、文字列の「#N/A」となってしまいます。
使用するセルに文字列が入っていると不具合となるので、
回避する為にセルを判定して「#N/A」となった時は文字列では無くエラー値を入れたいのですが、
何を入れたら良いかがわかりません。
double.NaNとかで代用では無く、エラー値の時は同じくエラー値が入る様にしたいです。
よろしくお願い致します。
EPPlusを使ってExcelの値をコピーしているのですが、
WriteSheet.Cells[yy, xx].Value = ReadSheet.Cells[yy, xx].Value;
と記述した時、元セルの値が「=na()」の時、文字列の「#N/A」となってしまいます。
使用するセルに文字列が入っていると不具合となるので、
回避する為にセルを判定して「#N/A」となった時は文字列では無くエラー値を入れたいのですが、
何を入れたら良いかがわかりません。
double.NaNとかで代用では無く、エラー値の時は同じくエラー値が入る様にしたいです。
よろしくお願い致します。
518デフォルトの名無しさん (ワッチョイ b1c7-mEA4)
2017/06/30(金) 09:42:17.70ID:J0AXjkMU0 ありません
519デフォルトの名無しさん (ワッチョイ 650b-POtP)
2017/06/30(金) 10:31:02.73ID:141Xnv8f0 WriteSheet.Cells[yy, xx].Formula = "=NA()";
520デフォルトの名無しさん (ブーイモ MM62-m2bP)
2017/06/30(金) 10:31:22.06ID:YD6uFwbUM ヌルポ
521デフォルトの名無しさん (ワッチョイ 06ea-s8c2)
2017/06/30(金) 10:39:07.92ID:W0OUnv8/0 >>520
ガッ
ガッ
523デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/06/30(金) 12:19:52.56ID:tSIy+uHPa 何度も言うけど、質問文を普通に読む限りlockで解決する問題としか読めないけど、
質問者が明示的に言ってもいない要件を勝手に妄想して無駄に問題を複雑にして
何か意味あるのかね。
質問者が明示的に言ってもいない要件を勝手に妄想して無駄に問題を複雑にして
何か意味あるのかね。
524デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 13:22:15.27ID:vkcMcAZ50 >>523
lockだと解決しねーと思うけどな
短サイクルでデータを上げまくるような
プログラムだと十分に上げる隙間ができない限り
データが上げられないスレッドができてくる
根本的な解決方法は単一スレッド側から巡回することだろ
ま、偶然でも動きゃいいのよってんであれば別にこだわらないけどね
でも仕事でやりやがったら俺が監督してたら組み直し必須
lockだと解決しねーと思うけどな
短サイクルでデータを上げまくるような
プログラムだと十分に上げる隙間ができない限り
データが上げられないスレッドができてくる
根本的な解決方法は単一スレッド側から巡回することだろ
ま、偶然でも動きゃいいのよってんであれば別にこだわらないけどね
でも仕事でやりやがったら俺が監督してたら組み直し必須
525デフォルトの名無しさん (ワッチョイ f106-k1q/)
2017/06/30(金) 13:35:25.13ID:nrnKInBX0 >偶然でも動きゃいいのよってんであれば
何いってんだ??ロックで偶然とかあるのか??
ロック取得できなければただ待たされるだけだぞ。
何いってんだ??ロックで偶然とかあるのか??
ロック取得できなければただ待たされるだけだぞ。
526デフォルトの名無しさん (ワッチョイ f106-k1q/)
2017/06/30(金) 13:36:03.44ID:nrnKInBX0 もちろん、タイムアウト指定してたらタイムアウトするけど。
527デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/06/30(金) 14:12:30.99ID:KBnGYkuha >>500です
レス遅くなりすみません
SemaphoreSlimやらlockやらもう一度調べてみました
結論から言うとどちらでもうまくいってました
tcp側でもう一つ別な要因がありそっちでエラーを出してました
そのエラーはというと連続的にサーバーに送信をしていた為、使用可能なポートを食いつぶしていてしまったものでした
netstatで確認して判明しました
とりあえず上限値とtime_waitの調整でなんとかなりました
皆さんのアドバイス本当に助かりました
また別な問題が起こったらご教示下さい
レス遅くなりすみません
SemaphoreSlimやらlockやらもう一度調べてみました
結論から言うとどちらでもうまくいってました
tcp側でもう一つ別な要因がありそっちでエラーを出してました
そのエラーはというと連続的にサーバーに送信をしていた為、使用可能なポートを食いつぶしていてしまったものでした
netstatで確認して判明しました
とりあえず上限値とtime_waitの調整でなんとかなりました
皆さんのアドバイス本当に助かりました
また別な問題が起こったらご教示下さい
528デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 14:22:21.77ID:vkcMcAZ50529デフォルトの名無しさん (ワッチョイ f106-k1q/)
2017/06/30(金) 14:36:21.80ID:nrnKInBX0 >偶然でも動きゃいいのよってんであれば
ロックで偶然とか意味不明wwwwwwww
ロックの目的わかってねぇのかよww
草生えるわ。
ロックで偶然とか意味不明wwwwwwww
ロックの目的わかってねぇのかよww
草生えるわ。
530デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 14:51:30.28ID:vkcMcAZ50531デフォルトの名無しさん (ワッチョイ f106-k1q/)
2017/06/30(金) 15:07:31.36ID:nrnKInBX0 >偶然でも動きゃいいのよってんであれば
ロックで偶然とか意味不明wwwwwwww
ロックの目的わかってねぇのかよww
草生えるわ。
>でも仕事でやりやがったら俺が監督してたら組み直し必須
これが仕事なら馬鹿な上にさらにかっこ悪く話を必死にそらそうとしてる
お前を他の人と交換必須
ロックで偶然とか意味不明wwwwwwww
ロックの目的わかってねぇのかよww
草生えるわ。
>でも仕事でやりやがったら俺が監督してたら組み直し必須
これが仕事なら馬鹿な上にさらにかっこ悪く話を必死にそらそうとしてる
お前を他の人と交換必須
532デフォルトの名無しさん (ワッチョイ 4266-CicO)
2017/06/30(金) 15:39:34.88ID:Hr6XSLiS0 >わざわざ複数ある方から単一スレッドにアクセスする構造が悪いんじゃんよ
そもそもココが間違ってるんだよな
lock呼び出してもスレッドが変わるわけないのに・・・
lockで保護されるのは、単一スレッドじゃなくて単一資源だよ
そもそもココが間違ってるんだよな
lock呼び出してもスレッドが変わるわけないのに・・・
lockで保護されるのは、単一スレッドじゃなくて単一資源だよ
533デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 15:49:27.63ID:vkcMcAZ50534デフォルトの名無しさん (ワッチョイ b1e2-mEA4)
2017/06/30(金) 15:53:11.15ID:k4vTF7VX0 質問者は解決したと言ってるのにくだらねえプライドのせいで引っ込みがつかない社会のゴミ
535デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 15:57:08.81ID:vkcMcAZ50 >>534
いやでもやっぱりlockはだめだよ
いやでもやっぱりlockはだめだよ
536デフォルトの名無しさん (ワッチョイ b18b-mEA4)
2017/06/30(金) 16:00:51.19ID:wP0QbD/U0 駄目なのはおめーだよ
#を頭に突き刺して死ね
#を頭に突き刺して死ね
537デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 16:30:31.04ID:vkcMcAZ50 >>536
いやそれでもlockは駄目だよ
いやそれでもlockは駄目だよ
538デフォルトの名無しさん (ドコグロ MM0a-zH8r)
2017/06/30(金) 18:34:13.28ID:I/Y6yRYUM 今日の基地害 ID:vkcMcAZ50
539デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/06/30(金) 20:28:04.26ID:s5ngZ7Gk0 >>524
ロックの頻度が高いようならロックを使わない方法を考えるけど、逆に頻度が低いならロックで十分だ。
単一スレッドに処理させるにしても、各スレッドを見に行くとか無駄。他の人も言ってるスレッドセーフなキューを使うだろ。
ロックの頻度が高いようならロックを使わない方法を考えるけど、逆に頻度が低いならロックで十分だ。
単一スレッドに処理させるにしても、各スレッドを見に行くとか無駄。他の人も言ってるスレッドセーフなキューを使うだろ。
540デフォルトの名無しさん (ワントンキン MM92-HpRm)
2017/06/30(金) 20:30:14.63ID:Iuzj1iSjM C#erのレベル下がりすぎだろ
VBあがりのカスが紛れ込んだか
VBあがりのカスが紛れ込んだか
541デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/06/30(金) 20:45:03.11ID:4HtEPBqY0 似たようなことやったけどこれlockじゃ無理だから
何度も出ているSemaphoreかSemaphoreSlim使えってことで
何度も出ているSemaphoreかSemaphoreSlim使えってことで
542デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/06/30(金) 21:17:00.19ID:s5ngZ7Gk0543デフォルトの名無しさん (ブーイモ MMb6-0ipK)
2017/06/30(金) 21:25:36.03ID:2Da2vksVM544デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/06/30(金) 21:31:01.26ID:4HtEPBqY0 >>542
最初はlock使ってて後から内部の処理をawait使った非同期メソッドに変えたらそれでハマったんだった・・・失礼した
最初はlock使ってて後から内部の処理をawait使った非同期メソッドに変えたらそれでハマったんだった・・・失礼した
545デフォルトの名無しさん (ドコグロ MM0a-rRjJ)
2017/06/30(金) 21:32:16.72ID:zYLvYQwXM セマフォスリムって何?
教えてくらはい
教えてくらはい
546デフォルトの名無しさん (アウーイモ MM25-zg54)
2017/06/30(金) 22:31:57.51ID:eG/sXpk5M >>540
お前が一番頭悪い
お前が一番頭悪い
547デフォルトの名無しさん (ワッチョイ 650b-POtP)
2017/06/30(金) 23:06:30.86ID:141Xnv8f0 スリムになったセマフォ
548デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 23:07:39.97ID:vkcMcAZ50549デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/06/30(金) 23:11:18.99ID:A0fyCJI00 ロックロックって喪前らは矢沢か!!!!
(´・ω・`)b
(´・ω・`)b
550デフォルトの名無しさん (ワッチョイ 6143-MtvO)
2017/07/01(土) 01:47:44.04ID:soqTvVBx0 >単一スレッドから各スレッドに巡回
と言ってる人に質問だけど、
その場合、どうやって巡回対象のスレッドを特定するの?
…やっぱ、非同期スレッドから Queue にやるべき処理を入れてもらうんじゃないの…?
巡回対象となるスレッドがあらかじめ決まってるなら、そりゃ、それに合わせて何とでもできるだろうけど…
と言ってる人に質問だけど、
その場合、どうやって巡回対象のスレッドを特定するの?
…やっぱ、非同期スレッドから Queue にやるべき処理を入れてもらうんじゃないの…?
巡回対象となるスレッドがあらかじめ決まってるなら、そりゃ、それに合わせて何とでもできるだろうけど…
551デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/01(土) 02:10:53.25ID:1nrcRWj9a まだやってるんかーい
想像だけど、巡回の彼は、単にあるメソッドAが同時に複数のスレッドで
実行されるのを禁止するだけでは足りなくて、各スレッドがメソッドAを実行する
順番を制御する必要があると「忖度」したんだと思うけど、質問者はそんなこと
どこにも書いてない。
もちろん質問者の本当の要件がそうである可能性は否定できないが、
質問の文面上にはそんなこと書いてない
想像だけど、巡回の彼は、単にあるメソッドAが同時に複数のスレッドで
実行されるのを禁止するだけでは足りなくて、各スレッドがメソッドAを実行する
順番を制御する必要があると「忖度」したんだと思うけど、質問者はそんなこと
どこにも書いてない。
もちろん質問者の本当の要件がそうである可能性は否定できないが、
質問の文面上にはそんなこと書いてない
552デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 07:33:43.70ID:41xGfxtKM そもそも「他のスレッドを巡回」という表現がよくないね
これはスレッドが他の複数のスレッドを直接管理していないと出てこない表現だ
そんな雑なコードを書いてはいけない
スレッドは他のスレッドのことを知らなくても動作するように書くこと
これはスレッドが他の複数のスレッドを直接管理していないと出てこない表現だ
そんな雑なコードを書いてはいけない
スレッドは他のスレッドのことを知らなくても動作するように書くこと
553デフォルトの名無しさん (ワッチョイ 4211-zH8r)
2017/07/01(土) 07:58:29.50ID:qXTa/p8N0554デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:05:20.30ID:3TPEFdGE0 普通に
List<Unko>でいいじゃん
駄目なの?
List<Unko>でいいじゃん
駄目なの?
555デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:25:07.47ID:tqv04I/40556デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:27:49.75ID:3TPEFdGE0557デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:30:44.27ID:tqv04I/40 >>556
だったらロックでいいだろと言ってんの
だったらロックでいいだろと言ってんの
558デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:33:11.16ID:3TPEFdGE0559デフォルトの名無しさん (ワッチョイ 5d23-nIbb)
2017/07/01(土) 08:37:34.56ID:PzxrAcCk0 そもそも元々が非同期だっつってんのに処理の順番もクソもあるんか?
560デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:38:45.75ID:tqv04I/40 >>558
Unkoが各スレッドからの要求でそれがスレッドと一対一ってこと?
それ各スレッドが同時に1つしか処理を要求できないからスレッド内でリエントラントにならないし
一つだけ大量の処理を要求するスレッドがあると滞るよ?
Unkoが各スレッドからの要求でそれがスレッドと一対一ってこと?
それ各スレッドが同時に1つしか処理を要求できないからスレッド内でリエントラントにならないし
一つだけ大量の処理を要求するスレッドがあると滞るよ?
561デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:41:16.83ID:3TPEFdGE0562デフォルトの名無しさん (JP 0H92-9Mth)
2017/07/01(土) 08:42:02.17ID:cQ2ajDdZH queueなのか
stackなのか
プライオリティ付きなのか
ラウンドロビンなのか
さぁどれ?
stackなのか
プライオリティ付きなのか
ラウンドロビンなのか
さぁどれ?
563デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:43:40.84ID:tqv04I/40564デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:45:52.42ID:3TPEFdGE0565デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:49:05.51ID:tqv04I/40 >>564
だから「動かない」理由は560で既に示しただろう
だから「動かない」理由は560で既に示しただろう
566デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:50:51.93ID:3TPEFdGE0567デフォルトの名無しさん (ワッチョイ 02c4-mEA4)
2017/07/01(土) 09:02:35.34ID:s5XdkdiI0 今日も真っ赤にしてやがるのかキチガイの群め
568デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 09:22:06.32ID:41xGfxtKM 2ちゃんはコードを書きにくいからディスカッションが捗らないね
運営は古臭いシステムを捨てて早くMarkdownをサポートしなよ
運営は古臭いシステムを捨てて早くMarkdownをサポートしなよ
569デフォルトの名無しさん (ワッチョイ c9aa-a07H)
2017/07/01(土) 09:26:03.94ID:7kq0BhxN0 C#(.Net4.5)でSQL Serverに読み書きしたいんですがDataSet?というのが便利なのでしょうか?
DataGridViewやテキストボックス、チェックボックス等でSQL serverを更新・追加したいのですがやったことがないのでどれがいいでしょうか?
もちろん運用テストはしっかりするつもりです
DataGridViewやテキストボックス、チェックボックス等でSQL serverを更新・追加したいのですがやったことがないのでどれがいいでしょうか?
もちろん運用テストはしっかりするつもりです
570デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 09:43:21.59ID:41xGfxtKM >>569
DataSetは古いのでもう誰も使ってません
DataSetは古いのでもう誰も使ってません
571デフォルトの名無しさん (ブーイモ MM62-0ipK)
2017/07/01(土) 09:46:50.49ID:QOMwfPgTM572デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/01(土) 10:19:32.35ID:RqnO9maa0573デフォルトの名無しさん (ワッチョイ d291-wjSU)
2017/07/01(土) 10:52:13.85ID:yOorSSFm0 DataSet というか DataTable でいいだろ
軽いし
軽いし
574デフォルトの名無しさん (ワッチョイ 1d4b-wjSU)
2017/07/01(土) 10:59:58.96ID:Aeoj/xNP0 軽い…?どこの世界の話ですか?
575デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/01(土) 11:02:52.60ID:RqnO9maa0 >>574
データ量が少ないと軽いからプロトタイプ作成で行けると勘違いして、いざ作ると一気に遅くなったわ
データ量が少ないと軽いからプロトタイプ作成で行けると勘違いして、いざ作ると一気に遅くなったわ
576デフォルトの名無しさん (ワッチョイ c223-8tFm)
2017/07/01(土) 11:06:33.55ID:3RWjHzVk0577デフォルトの名無しさん (ワッチョイ 1d4b-wjSU)
2017/07/01(土) 11:09:22.98ID:Aeoj/xNP0 そりゃ書籍は機能を網羅する必要があるから載せているだけだよ
「載っている=今でも使える」にはならないぞ
「載っている=今でも使える」にはならないぞ
578デフォルトの名無しさん (ワッチョイ 1911-CbVm)
2017/07/01(土) 11:13:14.26ID:7wn2WOTV0 >>569
なぜ今さらサポート切れのランタイムを?
なぜ今さらサポート切れのランタイムを?
579デフォルトの名無しさん (ワッチョイ c223-8tFm)
2017/07/01(土) 11:16:34.88ID:3RWjHzVk0 DataSet使わないで何使うんだよ?
580デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 11:49:40.14ID:41xGfxtKM Dapperがイイね
理解が簡単だし速いし生産性も高い
理解が簡単だし速いし生産性も高い
581デフォルトの名無しさん (アウアウウー Sa25-nP2k)
2017/07/01(土) 12:45:36.61ID:TklztT9sa 各環境事でSQLかける人にはそうだろう
582デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 13:26:56.32ID:41xGfxtKM SQLは環境ごとでいいんじゃないか
そんなところで互換性を確保するメリットは小さいだろう
リポジトリなどもう少し抽象的な層で互換をとろう
そんなところで互換性を確保するメリットは小さいだろう
リポジトリなどもう少し抽象的な層で互換をとろう
583デフォルトの名無しさん (ワッチョイ 625d-ILsS)
2017/07/01(土) 16:55:26.39ID:R3CPGyWF0 ちなみにEFは
エンティティティフーレムワークの略だからな
エンティティティフーレムワークの略だからな
584569 (ワッチョイ c9aa-a07H)
2017/07/01(土) 20:55:39.87ID:7kq0BhxN0585デフォルトの名無しさん (ワッチョイ 864a-zg54)
2017/07/01(土) 22:24:38.81ID:E3dk6Acc0 お前ら、何使ってるの?
Dataset?ダッパー?ef?
Dataset?ダッパー?ef?
586デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 22:25:43.42ID:41xGfxtKM Dapperがベストバランスパッケージ
587デフォルトの名無しさん (ワッチョイ c123-wjSU)
2017/07/02(日) 08:52:01.75ID:IJgSt27L0 http://i.imgur.com/ztvvQIS.png
このボタンを押したとき画像がunko1からunko2に切り替えるにはどうしたら良いでしょうか?
ネット上の画像を呼び出す(切り替える)ことはできるのですがデータ内の相対パス絶対パスがいまいちよくわからなくて困ってます
このボタンを押したとき画像がunko1からunko2に切り替えるにはどうしたら良いでしょうか?
ネット上の画像を呼び出す(切り替える)ことはできるのですがデータ内の相対パス絶対パスがいまいちよくわからなくて困ってます
588デフォルトの名無しさん (ワッチョイ 2e61-CicO)
2017/07/02(日) 08:57:33.81ID:CReiXwHD0 >>587
ネット上の参照はやったことはないけどunko1の同じ形式のパスを適用したらいいだけでは
「データ内の」がいまいちわからないがパスが相対パスならば補完して絶対パスにするとか
ローカルでの参照ならそうする
ネット上の参照はやったことはないけどunko1の同じ形式のパスを適用したらいいだけでは
「データ内の」がいまいちわからないがパスが相対パスならば補完して絶対パスにするとか
ローカルでの参照ならそうする
589デフォルトの名無しさん (ワッチョイ c123-wjSU)
2017/07/02(日) 09:13:50.60ID:IJgSt27L0 出来ました!
ありがとうございます!
ありがとうございます!
590デフォルトの名無しさん (ワッチョイ c123-wjSU)
2017/07/02(日) 10:04:30.01ID:IJgSt27L0 出来てなかった
絶対パスだと別のパソコンに移したりしたときとかに画像が読み込まれん
http://i.imgur.com/A7kdZFD.png
これをこうすればできると思ったけどこれだとエラーを吐いてしまいます
なぜでしょうか?
当方C#どころかパス云々についての知識もさっぱりの初心者なので・・・
絶対パスだと別のパソコンに移したりしたときとかに画像が読み込まれん
http://i.imgur.com/A7kdZFD.png
これをこうすればできると思ったけどこれだとエラーを吐いてしまいます
なぜでしょうか?
当方C#どころかパス云々についての知識もさっぱりの初心者なので・・・
591デフォルトの名無しさん (ブーイモ MM62-0ipK)
2017/07/02(日) 10:29:02.34ID:0JAKzAeZM592デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/02(日) 10:30:38.54ID:qQa06oVOM というか2ちゃんは勉強や議論には不向き
Markdownも使えないゴミシステムなんて今や罵り合いぐらいにしか使えん
Markdownも使えないゴミシステムなんて今や罵り合いぐらいにしか使えん
593デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/07/02(日) 10:44:40.55ID:BaqIvPNda C#を勉強し始めた初心者ですが質問させて下さい
LIST<T>に、あるクラスのインスタンスを追加していって、必要なくなったらRemoveしてるのですが、このRemoveしたインスタンスの破棄処理は明示的に行ったほうがいいのでしょうか
その場合どういう風にすればいいのか教えていただけないでしょうか
LIST<T>に、あるクラスのインスタンスを追加していって、必要なくなったらRemoveしてるのですが、このRemoveしたインスタンスの破棄処理は明示的に行ったほうがいいのでしょうか
その場合どういう風にすればいいのか教えていただけないでしょうか
594デフォルトの名無しさん (アウアウウー Sa25-nP2k)
2017/07/02(日) 10:49:58.90ID:uZLVxHTaa 何を突っ込んでるかによる
PCのリソースを独占したり圧迫するようなものなら破棄作業したほうがいい
でもよくあるデータだけの小さなクラスのインスタンスはほっとけばいい
PCのリソースを独占したり圧迫するようなものなら破棄作業したほうがいい
でもよくあるデータだけの小さなクラスのインスタンスはほっとけばいい
595デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/07/02(日) 11:13:27.07ID:EblgvX+p0 >>593
list
list
596デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/02(日) 11:13:46.07ID:qQa06oVOM597デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/07/02(日) 11:16:06.46ID:EblgvX+p0 >>593
listにのみインスタンスをnewしてるならlistからRemoveしたらガベージコレクションされると思うけど(タイミングは知らん)
listにのみインスタンスをnewしてるならlistからRemoveしたらガベージコレクションされると思うけど(タイミングは知らん)
598デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/02(日) 11:57:12.72ID:nvssW8dPa >>593
(1) リストから削除するアイテムの型がIDisposableを実装している
(2) リストから削除後はもう使うことはない
この2つを満たすならDispose呼んだ方がいいのかもね。
俺ならやらないけど、コード1行でも減らさないと死ぬ病気なら
拡張メソッド使ってIDisposable実装してたらRemoveと同時にDispose呼ぶメソッドでも追加するとか
(1) リストから削除するアイテムの型がIDisposableを実装している
(2) リストから削除後はもう使うことはない
この2つを満たすならDispose呼んだ方がいいのかもね。
俺ならやらないけど、コード1行でも減らさないと死ぬ病気なら
拡張メソッド使ってIDisposable実装してたらRemoveと同時にDispose呼ぶメソッドでも追加するとか
599デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/02(日) 12:25:36.45ID:nvssW8dPa っていうか、.NET のガベコレとか理解してないならまずそっちが先決だね
別に難しい話じゃないし
別に難しい話じゃないし
600デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 14:03:45.88ID:vHDN06g30 俺のアプリは10秒に一度強制ガベコレが動く
って実装にしといたら引き継いだやつが組んだコードが落ちまくる
強制ガベコレ動かすと落ちるプログラム組む奴って結構いるよ
オススメ
って実装にしといたら引き継いだやつが組んだコードが落ちまくる
強制ガベコレ動かすと落ちるプログラム組む奴って結構いるよ
オススメ
601デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/02(日) 15:03:56.21ID:qQa06oVOM 逆に疑問なんだけど、どうやったらガベコレで落ちるようなコードを書けるんだ?unsafe?
602デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 15:24:12.89ID:vHDN06g30603デフォルトの名無しさん (ワッチョイ d2b1-wjSU)
2017/07/02(日) 15:34:00.52ID:KsQTCCxQ0 rubyの拡張をC言語で書いてたりすると余裕でそんなことを起こせるが
c#でどうやったらそんなことになるのか全然わからん
c#でどうやったらそんなことになるのか全然わからん
604デフォルトの名無しさん (ワッチョイ 4211-zH8r)
2017/07/02(日) 15:39:04.23ID:E8kEd3o60 知ったか臭しかしないしスルーでいいよ
605デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/02(日) 15:40:01.17ID:E2bjFKws0 p/invokeとかunsafeが絡めばよくある話だな。
606デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 15:47:41.79ID:vHDN06g30 >>603
Diposeしてるやつ使おうとしたりremoveatしてるやつをremoveatされてないかのように使ったりして死んでる
後中身の見えないクラスで実はしんでんすよその状態的な
後はマルチスレッド関係で削除してんのに別スレッドではそうでないつもりで動いてたり
強制ガベコレかけるとゾンビも速攻であの世行くし不具合発見にいい
こういうタイミングが微妙なコード書くやつのソースって落ちやすい
Diposeしてるやつ使おうとしたりremoveatしてるやつをremoveatされてないかのように使ったりして死んでる
後中身の見えないクラスで実はしんでんすよその状態的な
後はマルチスレッド関係で削除してんのに別スレッドではそうでないつもりで動いてたり
強制ガベコレかけるとゾンビも速攻であの世行くし不具合発見にいい
こういうタイミングが微妙なコード書くやつのソースって落ちやすい
607デフォルトの名無しさん (ワッチョイ d2b1-wjSU)
2017/07/02(日) 16:08:18.93ID:KsQTCCxQ0 普通using使うだろ
608デフォルトの名無しさん (ワッチョイ 42ea-a07H)
2017/07/02(日) 16:41:39.44ID:BVHjPtPq0 そういえば、使い終わったオブジェクトは using 使うなりして破棄してね。
ってリクエストしたら、try - catch の finaly で .dispose するからいいんだって言った人がいたな。
結果は同じだけど、どうせ直すなら using の方が素直な気がしたんだけど。まあいいけど。
ってリクエストしたら、try - catch の finaly で .dispose するからいいんだって言った人がいたな。
結果は同じだけど、どうせ直すなら using の方が素直な気がしたんだけど。まあいいけど。
609デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/02(日) 16:50:21.19ID:8cy4cqEH0 >>608
usingの複数定義が気持ち悪いと言って頑なにfinalyでdisposeする人居たわ
usingの複数定義が気持ち悪いと言って頑なにfinalyでdisposeする人居たわ
610デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 16:51:54.15ID:vHDN06g30 >>607
開放されるかどうかは作り手の努力次第だけどなw
開放されるかどうかは作り手の努力次第だけどなw
611デフォルトの名無しさん (ワッチョイ 02c4-mEA4)
2017/07/02(日) 16:57:16.82ID:LSg2LORi0 なんかくせーなお前
技術的に風呂入ってる?
技術的に風呂入ってる?
612デフォルトの名無しさん (ワッチョイ 1d4b-wjSU)
2017/07/02(日) 16:57:31.53ID:63jjEdz20 >>609
シコシコ
シコシコ
613デフォルトの名無しさん (ワッチョイ 017f-wjSU)
2017/07/02(日) 16:59:16.69ID:MoO3L/4V0 他人の作った関数が仕様通りに動作するかどうかはその作り手の努力次第、ってのと何か違うの?
614デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 17:19:56.91ID:vHDN06g30 >>611
ウルセェゾホラァ!( ‘д‘⊂彡☆))Д´) パーン
ウルセェゾホラァ!( ‘д‘⊂彡☆))Д´) パーン
615デフォルトの名無しさん (ワッチョイ 4211-zH8r)
2017/07/02(日) 17:26:36.02ID:E8kEd3o60616デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 17:43:52.22ID:vHDN06g30 >>615
でもdisposeなら解放されるんでしょ?
でもdisposeなら解放されるんでしょ?
617デフォルトの名無しさん (ワッチョイ 4211-zH8r)
2017/07/02(日) 18:49:49.73ID:E8kEd3o60618デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 19:18:19.40ID:vHDN06g30 >>617
( ̄ー ̄)ニヤリ
( ̄ー ̄)ニヤリ
619デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/07/02(日) 20:12:27.11ID:ZKny9U86a >>593です
レス頂いた皆様ありがとうございます
listの追加はインスタンスの作成と同時に行いlistから削除した後は2度と使用しません
そのクラスは個別のデータを管理するだけのクラスです
とりあえずあまり何も考えずGCの対象になると思い明示的な解放は必要ないのかなと思ってたのですが作法的にどうなのかと思い確認しました
ですので現状IDisposableは実装しておらず言わばリストから削除してほったらしの状態です
GCについてはあまり勉強していないので調べてみたいと思います
その他アドバイスありましたらよろしくお願いします
レス頂いた皆様ありがとうございます
listの追加はインスタンスの作成と同時に行いlistから削除した後は2度と使用しません
そのクラスは個別のデータを管理するだけのクラスです
とりあえずあまり何も考えずGCの対象になると思い明示的な解放は必要ないのかなと思ってたのですが作法的にどうなのかと思い確認しました
ですので現状IDisposableは実装しておらず言わばリストから削除してほったらしの状態です
GCについてはあまり勉強していないので調べてみたいと思います
その他アドバイスありましたらよろしくお願いします
620デフォルトの名無しさん (アウアウエー Sa4a-kiAr)
2017/07/02(日) 21:55:59.98ID:19kDKEGSa >>606
そんなコード書き奴いるのが驚きだけど、居るところにゃ居るんだなぁ。。。
そんなコード書き奴いるのが驚きだけど、居るところにゃ居るんだなぁ。。。
621デフォルトの名無しさん (ドコグロ MMa9-zH8r)
2017/07/03(月) 07:19:58.02ID:oiFj/hKrM >>620
> Diposeしてるやつ使おうとしたりremoveatしてるやつをremoveatされてないかのように使ったりして死んでる
これGC関係ないし
> 後はマルチスレッド関係で削除してんのに別スレッドではそうでないつもりで動いてたり
別スレッドだろうが参照もってりゃ回収されないし
どう見てもおかしい人だから相手しなくていいと思うよ
> Diposeしてるやつ使おうとしたりremoveatしてるやつをremoveatされてないかのように使ったりして死んでる
これGC関係ないし
> 後はマルチスレッド関係で削除してんのに別スレッドではそうでないつもりで動いてたり
別スレッドだろうが参照もってりゃ回収されないし
どう見てもおかしい人だから相手しなくていいと思うよ
622デフォルトの名無しさん (ワッチョイ b18c-mEA4)
2017/07/03(月) 09:45:56.42ID:aLVc3s/F0 数日前からいるガイジだな
623デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 10:16:25.45ID:5B3ucqRJ0624デフォルトの名無しさん (ワッチョイ b15f-mEA4)
2017/07/03(月) 12:07:19.95ID:VcEmiG6s0 そうか困らないかよかったなおめでとさん
625デフォルトの名無しさん (ワッチョイ 2e96-naxa)
2017/07/03(月) 13:36:19.21ID:SOE5pMOT0 Visual StudioC#
同じ階層のフォルダをクリックしたら、設定を変更してメモ帳を起動でませんか?
構造
フォルダ0
ーーフォルダ1
ーーメモ.txt
フォルダ1をクリックしたら、同じファイルのメモ.txtを太字にして、
閉じる時に元に戻す。
同じ階層のフォルダをクリックしたら、設定を変更してメモ帳を起動でませんか?
構造
フォルダ0
ーーフォルダ1
ーーメモ.txt
フォルダ1をクリックしたら、同じファイルのメモ.txtを太字にして、
閉じる時に元に戻す。
626デフォルトの名無しさん (ワッチョイ 2e96-naxa)
2017/07/03(月) 13:37:07.82ID:SOE5pMOT0 >>625
太字にして起動でした。
太字にして起動でした。
627デフォルトの名無しさん (ワッチョイ 2e96-naxa)
2017/07/03(月) 13:50:01.76ID:SOE5pMOT0 すいません。
どうもテンパってる見たいです。
フォルダを開くと同時にメモ帳でフォルダ内のテキストファイルを全て起動
メモ帳を起動する前に 太字とファントにして文字サイズを変更したい。
メモ帳を閉じたら、設定を元に戻す
どうしたら良いでしょうか?
どうもテンパってる見たいです。
フォルダを開くと同時にメモ帳でフォルダ内のテキストファイルを全て起動
メモ帳を起動する前に 太字とファントにして文字サイズを変更したい。
メモ帳を閉じたら、設定を元に戻す
どうしたら良いでしょうか?
628デフォルトの名無しさん (ワッチョイ 2d6f-wjSU)
2017/07/03(月) 15:16:40.85ID:SV1wmXKG0 落ち着け
フォルダをクリックしたらってのはエクスプローラ上でってこと?
フォントはメモ帳開く前にレジストリ変更、開いたら戻すって感じでできると思う
フォルダをクリックしたらってのはエクスプローラ上でってこと?
フォントはメモ帳開く前にレジストリ変更、開いたら戻すって感じでできると思う
629デフォルトの名無しさん (ワッチョイ 2e96-naxa)
2017/07/03(月) 15:23:47.15ID:SOE5pMOT0 >>628
エクスプローラーの右側に有る奴です。
エクスプローラーの右側に有る奴です。
630デフォルトの名無しさん (ワッチョイ 2e96-naxa)
2017/07/03(月) 15:58:34.40ID:SOE5pMOT0 やゃ落ち着きました。
アクティブフォルダ(操作中のファオルダ)内にtxtファイル存在するか調べる。
もしも、存在するなら、Windows10のメモ帳で全てのtxtファイルを開く。
存在しないなら、何もしない。
メモ帳を開く場合
規定フォントかを調べる。
windows10付属の規定フォントで無いなら、規定フォントにする。
_規定フォントなら、文字を大きくする。
_次に太字にする。
メモ帳の開く場所をディスプレイ中央に設定する。
やりたい事はこんな感じです。
アクティブフォルダ(操作中のファオルダ)内にtxtファイル存在するか調べる。
もしも、存在するなら、Windows10のメモ帳で全てのtxtファイルを開く。
存在しないなら、何もしない。
メモ帳を開く場合
規定フォントかを調べる。
windows10付属の規定フォントで無いなら、規定フォントにする。
_規定フォントなら、文字を大きくする。
_次に太字にする。
メモ帳の開く場所をディスプレイ中央に設定する。
やりたい事はこんな感じです。
631デフォルトの名無しさん (ワンミングク MM92-pT0u)
2017/07/03(月) 16:05:48.40ID:c1Vi+KHiM >>601
Zombie
Zombie
632デフォルトの名無しさん (ワッチョイ 2e61-CicO)
2017/07/03(月) 17:26:05.31ID:KvFRlLU90633625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 17:40:07.28ID:SOE5pMOT0 >>632
アクティブフォルダを検知する方法はボクも知らないです。
タスクバーに存在するフォルダがアイドル常態かどうかを調べて、
アクティブなら実行させる とか考えました。
一日、数百回ほど、
フォルダを開くのに対してドロップ&ドラッグは流石に勘弁して下さい。
アクティブフォルダを検知する方法はボクも知らないです。
タスクバーに存在するフォルダがアイドル常態かどうかを調べて、
アクティブなら実行させる とか考えました。
一日、数百回ほど、
フォルダを開くのに対してドロップ&ドラッグは流石に勘弁して下さい。
634デフォルトの名無しさん (ワッチョイ 2e61-CicO)
2017/07/03(月) 17:43:31.54ID:KvFRlLU90635デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 17:52:47.65ID:5B3ucqRJ0 俺にはウィルスにしか見えないわけだが
こいつの目的は何なの?
こいつの目的は何なの?
636デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/03(月) 17:54:07.35ID:uUZDIYcxa DOSじゃないんだからOS全体でアクティブなディレクトリなんて存在しないと思うよw
637デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 17:55:34.21ID:5B3ucqRJ0 アプリケーションにドロップしたディレクトリじゃ駄目なのかよ
638デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 18:00:01.58ID:5B3ucqRJ0 まず現行業務フローの洗い出しができてないよね
1日数百回フォルダ移動してる暇な奴ってすでに俺には聞き込み調査か粛清が必要なレベル
プログラムを組むんじゃなくて
ローキックの連打で解決できそうな臭いしてる
1日数百回フォルダ移動してる暇な奴ってすでに俺には聞き込み調査か粛清が必要なレベル
プログラムを組むんじゃなくて
ローキックの連打で解決できそうな臭いしてる
639625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:14:18.18ID:SOE5pMOT0 皆さん、いろんな意見をありがとうございます。
(笑わないで聞いて下さい。)
毎回落としてくる、エロ画像がボクの宝物なので、
大事にパスワードを設定してます。
開く時にパスワードを書いたメモファイルを何時も開き忘れるので、
フォルダを開いたと同時に表示して欲しいんです。
>>638
画像によっては属性が夢の様に、いっぱい詰まってるので毎回、移動させてます。
(笑わないで聞いて下さい。)
毎回落としてくる、エロ画像がボクの宝物なので、
大事にパスワードを設定してます。
開く時にパスワードを書いたメモファイルを何時も開き忘れるので、
フォルダを開いたと同時に表示して欲しいんです。
>>638
画像によっては属性が夢の様に、いっぱい詰まってるので毎回、移動させてます。
640デフォルトの名無しさん (ワッチョイ 4266-CicO)
2017/07/03(月) 18:16:39.30ID:T3cHTlj+0 エクスプローラーもメモ帳も自分で作ればいいだけに見えるんだが・・・
それらの部品ならCodeProject漁れば出てくるよ
それらの部品ならCodeProject漁れば出てくるよ
641625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:17:23.61ID:SOE5pMOT0 フォルダにパスをかけなければと言う人も居ますが、フォルダにパスワードは必要です。
メモファイルは隠しフォルダにしたら何とか隠せますが、パスがついてない画像は
閲覧されちゃいます。
メモファイルは隠しフォルダにしたら何とか隠せますが、パスがついてない画像は
閲覧されちゃいます。
642デフォルトの名無しさん (ワッチョイ 2e61-CicO)
2017/07/03(月) 18:24:04.65ID:KvFRlLU90 >>640に賛成
ディレクトリの位置に紐つけたパスワードのデータベース作ればメモ帳起動する必要もなくなる
ディレクトリの位置に紐つけたパスワードのデータベース作ればメモ帳起動する必要もなくなる
643デフォルトの名無しさん (ドコグロ MMa9-zH8r)
2017/07/03(月) 18:28:02.02ID:oiFj/hKrM644652 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:34:05.18ID:SOE5pMOT0 >>642
メモ帳が必要な理由としては、コメント書いてるんです。
「今日も可愛いね」「その猫耳が似合ってるよ。」とか書き込んで、
後から同じファイルを開いた時に追加してコメント入れてるんので、メモ帳を起動させたいのです。
メモ帳が必要な理由としては、コメント書いてるんです。
「今日も可愛いね」「その猫耳が似合ってるよ。」とか書き込んで、
後から同じファイルを開いた時に追加してコメント入れてるんので、メモ帳を起動させたいのです。
645625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:35:12.16ID:SOE5pMOT0 間違えました。
652では無く、
625でした。
652では無く、
625でした。
646625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:46:56.71ID:SOE5pMOT0 現状では634の方法で行きたいと思います。
一部を保留にしながら、632にを参考に進めて行きたいと思います。
一部を保留にしながら、632にを参考に進めて行きたいと思います。
647625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 20:33:26.13ID:SOE5pMOT0 レジストリを触りたくないので、メモ帳を起動後にフォントと文字サイズを変更
しようと思ってますが、やり方が見つかりません。
ファイル内に.txtが有るか調べる
ファイルを指定してメモ帳で起動するまで行きましたが、
起動後、メモ帳の設定の仕方が分かりません。
どなたか教えてくれませんか?
(ファイルへの書き込みと読み込みは結構、でてくるんですけどねw)
しようと思ってますが、やり方が見つかりません。
ファイル内に.txtが有るか調べる
ファイルを指定してメモ帳で起動するまで行きましたが、
起動後、メモ帳の設定の仕方が分かりません。
どなたか教えてくれませんか?
(ファイルへの書き込みと読み込みは結構、でてくるんですけどねw)
648デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/03(月) 21:08:48.55ID:i2Oq28ow0 DLL AとAが参照しているDLL Bがあって、BでAのPOCOクラス使いたいんだけど循環参照になっちゃうからPOCOクラスをDLL Cとか別で定義するしかないよね?
C#なら別DLLにしなくてもいけると言われたんだが、どうやるのか見当つかない・・・
C#なら別DLLにしなくてもいけると言われたんだが、どうやるのか見当つかない・・・
649デフォルトの名無しさん (アウアウエー Sa4a-kiAr)
2017/07/03(月) 21:10:48.36ID:UwBLUxpla メモ帳だから出来ないんよ。
最低限テキスト編集機能しか無いからね。
ワープロじゃ無いから、テキスト編集さえ出来れば良い(高機能でも快適な編集が出来ればいい)ってのがテキストエディタ。
フォントとかはワープロの領分だよ。
最低限テキスト編集機能しか無いからね。
ワープロじゃ無いから、テキスト編集さえ出来れば良い(高機能でも快適な編集が出来ればいい)ってのがテキストエディタ。
フォントとかはワープロの領分だよ。
650デフォルトの名無しさん (ワキゲー MM8a-I/sj)
2017/07/03(月) 21:11:02.19ID:MkRtof65M >>648
Bに実装してAから呼び出す
Bに実装してAから呼び出す
651デフォルトの名無しさん (ブーイモ MM05-0ipK)
2017/07/03(月) 21:15:30.82ID:c43/+qrTM652デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/03(月) 21:19:23.58ID:o8LomREh0653デフォルトの名無しさん (アウアウエー Sa4a-kiAr)
2017/07/03(月) 21:21:13.75ID:UwBLUxpla あったっけ。
ま、どうでも良いけど。
ま、どうでも良いけど。
654デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/03(月) 21:29:33.51ID:o8LomREh0 指定じゃ誤解を招くな。
そういうアプリの設定ね。
そういうアプリの設定ね。
655デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/03(月) 21:31:35.49ID:XFlo9HmTa656デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/03(月) 21:34:16.70ID:i2Oq28ow0657デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 21:37:08.97ID:+vluAADOM 循環参照が発生した時点で設計バグなので楽しいリファクタリングタイムだ
658デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 21:52:41.27ID:5B3ucqRJ0 んでまた資料も書かずに突貫工事でプログラム組んで余計ややこしいことになっちゃうまでが準備体操
659デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 21:57:30.38ID:+vluAADOM あらゆる管理業務の負荷はコードの品質で天地の差が出る
循環参照してるようなクソコードのドキュメンテーションは地獄だ
リファクタリングしてからやった方がいい
循環参照してるようなクソコードのドキュメンテーションは地獄だ
リファクタリングしてからやった方がいい
660デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 22:01:47.75ID:5B3ucqRJ0 そのリファクタリングが正しく出来なさそうだからまず資料作れって言ってんだよハゲ
っていう不毛な会話はもうしない
突貫工事が好きなところといい
きっと彼は土属性に違いないのだから
っていう不毛な会話はもうしない
突貫工事が好きなところといい
きっと彼は土属性に違いないのだから
661625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 22:32:44.15ID:SOE5pMOT0 てっきり無視されるかと思ってました。w
フォルダを開くのを認識させるのは、どうしたら良いのでしょうか?
指定したフォルダを開く事はできても、これから開くフォルダを認識する事なんてできるのでしょうか?
質問ばかりで申し訳ないです。
フォルダを開くのを認識させるのは、どうしたら良いのでしょうか?
指定したフォルダを開く事はできても、これから開くフォルダを認識する事なんてできるのでしょうか?
質問ばかりで申し訳ないです。
662デフォルトの名無しさん (ワッチョイ 017f-wjSU)
2017/07/03(月) 22:35:33.59ID:rvaVDuHz0 >>656
よろしくないってだけで、無理ではないと思うが。
よろしくないってだけで、無理ではないと思うが。
663デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 22:40:33.08ID:+vluAADOM >>660
正しいドキュメントを書くことはコードを書くことよりはるかに難しい
循環参照するような破滅的コードが相手だとまともなドキュメントを工数に見合う時間で作れる見込みは少ない
そもそもコンパイラや静的解析ツールを利用して体系だった機械的なプロセスでコードの品質を高めて可読性を上げることができる
それがリファクタリングの中でも大きなメリットの1つだろ
そこへ来てドキュメントを書いてからリファクタリングなどというのは全く見当違いの馬鹿馬鹿しい行為なんだよ
ドキュメントを作るのはリファクタリングで整理されてドキュメント化可能な状態になってから
あるいは探索的リファクタリングで得た知識を忘れないようにドキュメント化する
なんにせよコードを弄った後の話だ
こんなこと普段からコードを書いてリファクタリングしてれば知識がなくとも体感的にわかることなんだけどね
この業界はコードを書かない自称エンジニアさんばかりでため息が出るね
正しいドキュメントを書くことはコードを書くことよりはるかに難しい
循環参照するような破滅的コードが相手だとまともなドキュメントを工数に見合う時間で作れる見込みは少ない
そもそもコンパイラや静的解析ツールを利用して体系だった機械的なプロセスでコードの品質を高めて可読性を上げることができる
それがリファクタリングの中でも大きなメリットの1つだろ
そこへ来てドキュメントを書いてからリファクタリングなどというのは全く見当違いの馬鹿馬鹿しい行為なんだよ
ドキュメントを作るのはリファクタリングで整理されてドキュメント化可能な状態になってから
あるいは探索的リファクタリングで得た知識を忘れないようにドキュメント化する
なんにせよコードを弄った後の話だ
こんなこと普段からコードを書いてリファクタリングしてれば知識がなくとも体感的にわかることなんだけどね
この業界はコードを書かない自称エンジニアさんばかりでため息が出るね
664デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 22:42:41.27ID:5B3ucqRJ0 >>663
せめて問題点がわかる粒度の表にするべきだと思うわ
せめて問題点がわかる粒度の表にするべきだと思うわ
665デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 22:46:38.52ID:5B3ucqRJ0 >>663
お前、ドキュメント書いてからソース書いたことないな
異なる文化を持ってる会社と仕事したらボコボコにぶっ叩かれるな
設計書を完璧にfixしないとソースコード触らせてもらえないとこあんぞ
でも一度はそういうところに行くべきだと思う
きっと違った世界が見えるはずだ
お前、ドキュメント書いてからソース書いたことないな
異なる文化を持ってる会社と仕事したらボコボコにぶっ叩かれるな
設計書を完璧にfixしないとソースコード触らせてもらえないとこあんぞ
でも一度はそういうところに行くべきだと思う
きっと違った世界が見えるはずだ
666デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/03(月) 22:50:03.47ID:XFlo9HmTa どうでもいいよw
それ以上はチラシの裏に書いてよw
それ以上はチラシの裏に書いてよw
667デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 22:51:34.84ID:5B3ucqRJ0 スタンダードはv字開発の方なんだけどな
668デフォルトの名無しさん (ワキゲー MM8a-I/sj)
2017/07/03(月) 22:58:15.68ID:MkRtof65M リバースエンジニアリングは小規模でのみ通用する方式
669デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 23:06:11.28ID:+vluAADOM >>664
リファクタリング対象を選ぶために、という理由でなら資料を作る意義はあるかもしれない
例えば複雑度、更新頻度、バグ密度などリファクタリングをする価値を判断できる数字というのは結構、ある
殆どのデータは自動収集できるものでレポートを手作りすることはないだろうが
ざっと目を通した時の難易度などは手作業の方が早いかもしれないね
でもね、リファクタリングの方法を探るために先に資料を作るというのは、ない
制限時間付きのパズルを解こうとしているのにまずはドキュメント?冗談でしょう
やるとしても、パズルを弄りながらメモ書き、程度でしょ
リファクタリング対象を選ぶために、という理由でなら資料を作る意義はあるかもしれない
例えば複雑度、更新頻度、バグ密度などリファクタリングをする価値を判断できる数字というのは結構、ある
殆どのデータは自動収集できるものでレポートを手作りすることはないだろうが
ざっと目を通した時の難易度などは手作業の方が早いかもしれないね
でもね、リファクタリングの方法を探るために先に資料を作るというのは、ない
制限時間付きのパズルを解こうとしているのにまずはドキュメント?冗談でしょう
やるとしても、パズルを弄りながらメモ書き、程度でしょ
670デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 23:24:27.65ID:5B3ucqRJ0 >>669
もうそれ設計でもなんでもねーじゃんw
もうそれ設計でもなんでもねーじゃんw
671デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 23:24:29.30ID:+vluAADOM >>665
ガラパゴスの国だからね
文化の違いは認めるよ
修正は設計書のレビューを通してからコーディングという現場に居たこともある
しかし徹底的なドキュメンテーションが正解だとは思わない
ドキュメンテーションには時間がかかるし統一的な記法も機械的な検証方法も無い
実際の挙動を決定するコードと同期しているか定かでは無い
何よりこの手の現場ではコードを弄るという探索的プロセスを軽視する傾向が強いことが問題だ
コードを弄らずにドキュメントだけ正しい状態に持っていこうとするということは
まるでパズルを頭の中で組み立てて手順を資料化するような馬鹿馬鹿しい行為だ
パズルに挑戦する人は誰だって自分の手でパズルを弄りながら考える
それと同じでリファクタリングの方法を考える人は自分の手でリファクタリングをしながら方法を考えるんだ
手を動かす前に思いつくようなアイデアはいつだって陳腐で使い物にならないものばかりだ
ガラパゴスの国だからね
文化の違いは認めるよ
修正は設計書のレビューを通してからコーディングという現場に居たこともある
しかし徹底的なドキュメンテーションが正解だとは思わない
ドキュメンテーションには時間がかかるし統一的な記法も機械的な検証方法も無い
実際の挙動を決定するコードと同期しているか定かでは無い
何よりこの手の現場ではコードを弄るという探索的プロセスを軽視する傾向が強いことが問題だ
コードを弄らずにドキュメントだけ正しい状態に持っていこうとするということは
まるでパズルを頭の中で組み立てて手順を資料化するような馬鹿馬鹿しい行為だ
パズルに挑戦する人は誰だって自分の手でパズルを弄りながら考える
それと同じでリファクタリングの方法を考える人は自分の手でリファクタリングをしながら方法を考えるんだ
手を動かす前に思いつくようなアイデアはいつだって陳腐で使い物にならないものばかりだ
672デフォルトの名無しさん (ワッチョイ 6de4-N7Gk)
2017/07/03(月) 23:28:02.84ID:JtdFOURz0 完成するかどうか分からんパズルと仕事をおなじにされてもなぁ
673デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 23:32:35.22ID:5B3ucqRJ0 肉体言語の使い手だよね
メラ!(右フック!)
メラ!(右フック!)
674デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 23:39:08.40ID:+vluAADOM >>670
そもそも設計ってなんだと思う?
俺はビルドを実行する前までのプロセスが設計だと思う
コーディングは設計フェーズでコードは設計書
製造はビルダーの仕事
俺らが作るものは最終的には動くプログラムなんだよね
それでコードはそのプログラムがどういう仕組みでどういう風に動きますっていう定義をずらずらと書いたものだよね
それってまさにプログラムの設計書じゃないか
じゃあ世間の言う設計書ってなんだって話だけど
俺からするとそういうのは設計概要とか設計方針の方がしっくりくるんだわ
そもそも設計ってなんだと思う?
俺はビルドを実行する前までのプロセスが設計だと思う
コーディングは設計フェーズでコードは設計書
製造はビルダーの仕事
俺らが作るものは最終的には動くプログラムなんだよね
それでコードはそのプログラムがどういう仕組みでどういう風に動きますっていう定義をずらずらと書いたものだよね
それってまさにプログラムの設計書じゃないか
じゃあ世間の言う設計書ってなんだって話だけど
俺からするとそういうのは設計概要とか設計方針の方がしっくりくるんだわ
675デフォルトの名無しさん (ワッチョイ 5d23-nIbb)
2017/07/03(月) 23:41:12.61ID:LZbV1PnE0 どっちのいいぶんもまぁわからんでもないが結局プロジェクトの規模によるんじゃないの?
みんなだいたい一人どれくらいのプログラムの量かくの?
みんなだいたい一人どれくらいのプログラムの量かくの?
676デフォルトの名無しさん (アウアウエー Sa4a-kiAr)
2017/07/03(月) 23:41:26.60ID:hTTgnp+ka 宣言型言語で書くならそうだが、普通コードは命令書であって設計書じゃない。
677デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 23:42:46.19ID:+vluAADOM >>673
もう投了ですか?
もう投了ですか?
678デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 23:49:00.34ID:5B3ucqRJ0679デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 23:51:24.33ID:+vluAADOM680デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 23:52:11.27ID:5B3ucqRJ0 だいたいリファクタリングとか言ってるけど
ここまで来てそんな問題起きちゃうのはただの設計ミスだよね?
設計書から完成させる文化の仕事受けて1回軍法会議にかけられて死ねばいいよ
ここまで来てそんな問題起きちゃうのはただの設計ミスだよね?
設計書から完成させる文化の仕事受けて1回軍法会議にかけられて死ねばいいよ
681デフォルトの名無しさん (ワキゲー MM8a-I/sj)
2017/07/03(月) 23:53:02.74ID:MkRtof65M ひとつの型が唯一解とは思わないが設計書は必要だよ
コーディング以降は各テストレビュー完了毎にメンテナンスするくらいの頻度でいい
アルゴリズムの伝達にプログラム要素は含まれない
コーディング以降は各テストレビュー完了毎にメンテナンスするくらいの頻度でいい
アルゴリズムの伝達にプログラム要素は含まれない
682デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 23:59:24.25ID:+vluAADOM >>678
現実的な時間で終わるかどうかの見極めはコード弄ってればすぐにわかるよ
むしろコード弄らずにドキュメントベースで話を進めると簡単だと思ったら実は思ったより時間かかりました〜なんてことになる
悲しいけど世の中そんなプロジェクトで溢れかえってるのが事実なんだ
現実的な時間で終わるかどうかの見極めはコード弄ってればすぐにわかるよ
むしろコード弄らずにドキュメントベースで話を進めると簡単だと思ったら実は思ったより時間かかりました〜なんてことになる
悲しいけど世の中そんなプロジェクトで溢れかえってるのが事実なんだ
683デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/04(火) 00:00:45.70ID:IVSy+wIs0684デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/04(火) 00:00:55.20ID:MbM3EkKwM685デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 00:03:06.32ID:WRdzRcYr0 >>682
それを外したからリファクタリングなんて名前の設計ミスの修正をやってるように見えるんだが?
それを外したからリファクタリングなんて名前の設計ミスの修正をやってるように見えるんだが?
686デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/04(火) 00:10:19.18ID:MbM3EkKwM >>681
概要を素早く把握するには設計書はちょうどいい文書だと思う
しかし概要を超えた明細はコードで語るべきだ
コードを直す前に必ず設計書修正しろなんてパラノイア的なやり方は負担を増やすだけで利益は少ない
コスト意識のない完璧主義者に付き合わされるのは苦痛だ
概要を素早く把握するには設計書はちょうどいい文書だと思う
しかし概要を超えた明細はコードで語るべきだ
コードを直す前に必ず設計書修正しろなんてパラノイア的なやり方は負担を増やすだけで利益は少ない
コスト意識のない完璧主義者に付き合わされるのは苦痛だ
687デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/04(火) 00:14:55.81ID:MbM3EkKwM688デフォルトの名無しさん (ワキゲー MM8a-I/sj)
2017/07/04(火) 00:16:28.89ID:L/qJLU5VM >>686
テストレビュー完了毎にメンテナンスするって意味がうまく伝えられなくてすまん
修正毎とか時間と人件費の無駄、やってらんねーっすよってこと
俺にとっての設計書ってのはほぼテスト仕様書
詳細設計=単体テスト
概要設計=結合テスト
要件設計=統合テスト
テストレビュー完了毎にメンテナンスするって意味がうまく伝えられなくてすまん
修正毎とか時間と人件費の無駄、やってらんねーっすよってこと
俺にとっての設計書ってのはほぼテスト仕様書
詳細設計=単体テスト
概要設計=結合テスト
要件設計=統合テスト
689デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/04(火) 00:21:53.60ID:MbM3EkKwM >>685
どんなに慎重にやっても設計ミスは出る
そもそも仕様そのものが業務の変化に依存している以上不変ではない
完全な設計書などこの世界には存在しない
設計書の間違いを検証する手段がないので設計書には間違いがないと勘違いする人が居る
設計ミスではなくともリファクタリングを行うことが多々ある
どんなに慎重にやっても設計ミスは出る
そもそも仕様そのものが業務の変化に依存している以上不変ではない
完全な設計書などこの世界には存在しない
設計書の間違いを検証する手段がないので設計書には間違いがないと勘違いする人が居る
設計ミスではなくともリファクタリングを行うことが多々ある
690デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 00:24:42.89ID:WRdzRcYr0 >>686
いやーさすがにテキストボックスが右詰めか左詰めかとかまで書かせるのはキチガイだと思うけど
全体の大まかな構造までしけちゃってるのを見ると流石に見逃せねぇ
ってところじゃん?
しかもそこからの対応もパズルとか言って用は動くまでブラウン管テレビぶん殴ってるババアと大差ねぇなと
これはねぇキミ、プロのやるこっちゃないよ
いやーさすがにテキストボックスが右詰めか左詰めかとかまで書かせるのはキチガイだと思うけど
全体の大まかな構造までしけちゃってるのを見ると流石に見逃せねぇ
ってところじゃん?
しかもそこからの対応もパズルとか言って用は動くまでブラウン管テレビぶん殴ってるババアと大差ねぇなと
これはねぇキミ、プロのやるこっちゃないよ
691デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/04(火) 00:27:36.58ID:VQWxt7Oqa プロがこんなところでしょうもない揚げ足取りの議論なんかするかw
ばっかじゃねえのほんっと
ばっかじゃねえのほんっと
692625 (ワッチョイ 2e96-naxa)
2017/07/04(火) 01:07:42.92ID:cQQJFeYO0 色々考えましたが、解決法が見つかりませんでした。
どなたか、何か良い案は有りませんかね?
どなたか、何か良い案は有りませんかね?
693デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/04(火) 01:17:30.16ID:g265ht6F0 エクスプローラーっぽいアプリを自作した方が楽だと思う。
メモ帳にしたって、アプリにテキストボックス埋め込んで表示すれば足りそうだし。
メモ帳にしたって、アプリにテキストボックス埋め込んで表示すれば足りそうだし。
694デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 01:28:43.92ID:WRdzRcYr0695デフォルトの名無しさん (ドコグロ MMe1-rRjJ)
2017/07/04(火) 02:03:27.54ID:Xx7vldzqM nameofって短縮系の名前しか得られないの?
名前空間とかそのまま欲しいな
名前空間とかそのまま欲しいな
696デフォルトの名無しさん (ワッチョイ 02c4-mEA4)
2017/07/04(火) 04:20:45.13ID:30FFvUbG0 伸びてる時は
697デフォルトの名無しさん (ワッチョイ c9aa-IRuQ)
2017/07/04(火) 07:32:18.26ID:6x2CTTFI0 動的にはtypeof(...).Namespaceやらで取れるからそれで十分って判断じゃね
文字列で完全限定名が取れて嬉しいケースってあんまり思いつかん
属性で型名を指定するのはコンパイル時に型を参照できないからなわけでそこでnameofは使えないし
文字列で完全限定名が取れて嬉しいケースってあんまり思いつかん
属性で型名を指定するのはコンパイル時に型を参照できないからなわけでそこでnameofは使えないし
698デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/04(火) 07:44:04.75ID:MbM3EkKwM >>690
故障したテレビを外から眺めながら中身のことを妄想して原因はあーでもないこーでもないと議論するのが設計書文化
とりあえず安全確保はしておいてから、テレビを分解して内部構造を調べ、故障原因を理解し、原因を取り除いたり、より良い構造になるように努力するのがコーディング文化
どちらが有意義な仕事をして居るかは一目瞭然だね
故障したテレビを外から眺めながら中身のことを妄想して原因はあーでもないこーでもないと議論するのが設計書文化
とりあえず安全確保はしておいてから、テレビを分解して内部構造を調べ、故障原因を理解し、原因を取り除いたり、より良い構造になるように努力するのがコーディング文化
どちらが有意義な仕事をして居るかは一目瞭然だね
699デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 08:55:00.74ID:WRdzRcYr0700デフォルトの名無しさん (ワッチョイ c9aa-X7Kb)
2017/07/04(火) 10:52:33.77ID:ZQS+6DN80701デフォルトの名無しさん (ラクッペ MMe1-zrjb)
2017/07/04(火) 19:27:22.44ID:lzeKWGAxM C言語やC++やJavaを学んできたけど、C#が一番難しいです
こういう方居ますか?
また言語の難易度はどのようなものなのでしょうか
こういう方居ますか?
また言語の難易度はどのようなものなのでしょうか
702デフォルトの名無しさん (ワッチョイ c2e7-TsYo)
2017/07/04(火) 19:30:26.44ID:i7X4UBGk0 >>701
どういうところが難しいと感じますか?
どういうところが難しいと感じますか?
703デフォルトの名無しさん (ワッチョイ b13a-mEA4)
2017/07/04(火) 19:31:23.02ID:uVbqp3bl0 むしろC++の何を知ってるのか聞いてみたい
704デフォルトの名無しさん (ラクッペ MMe1-zrjb)
2017/07/04(火) 19:32:43.87ID:lzeKWGAxM705デフォルトの名無しさん (ブーイモ MMed-PA5H)
2017/07/04(火) 19:35:23.49ID:i4/Vnl6JM >>704
競技プログラミングなら、C++でいいんじゃ……
競技プログラミングなら、C++でいいんじゃ……
706デフォルトの名無しさん (ドコグロ MMf5-HpRm)
2017/07/04(火) 19:41:30.05ID:lu0GxyOqM 全体像が多すぎて掴めないってなにさ。競技プログラミング向きではないとおもうが。
707デフォルトの名無しさん (ラクッペ MMe1-zrjb)
2017/07/04(火) 19:42:09.30ID:lzeKWGAxM708デフォルトの名無しさん (ラクッペ MMe1-zrjb)
2017/07/04(火) 19:47:44.39ID:lzeKWGAxM709デフォルトの名無しさん (アウアウウー Sa25-nP2k)
2017/07/04(火) 21:21:54.56ID:C0QCHaIba 難しいと感じるところもあるかもしれないけど
いいところもいっぱいあるでしょ?
もうプロパティがない言語触りたくない
いいところもいっぱいあるでしょ?
もうプロパティがない言語触りたくない
710デフォルトの名無しさん (ワッチョイ 8693-zrjb)
2017/07/04(火) 22:05:02.40ID:sHaUSfW10 >>709
良いところもあるけど、色々作って試行錯誤します
良いところもあるけど、色々作って試行錯誤します
711デフォルトの名無しさん (ワッチョイ 8693-zrjb)
2017/07/04(火) 22:05:31.08ID:sHaUSfW10 >>709
プロパティは確かに便利ですね
プロパティは確かに便利ですね
712デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/04(火) 22:09:38.11ID:IVSy+wIs0 慣れてくるとあんまりプロパティ作らなくなるけどね
C#初心者はWinFormsとかの「お客さん向け」設計を真似してプロパティを大量に作りがち
次第に整合性を重視するようになると自然にプロパティは減っていく
C#初心者はWinFormsとかの「お客さん向け」設計を真似してプロパティを大量に作りがち
次第に整合性を重視するようになると自然にプロパティは減っていく
713デフォルトの名無しさん (ワッチョイ 6143-MtvO)
2017/07/04(火) 22:20:04.96ID:2R49bdwT0 自然にプロパティが減ってく人でも皆無にはならない程度には便利だということ
714デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/04(火) 22:22:09.64ID:g265ht6F0715デフォルトの名無しさん (ワッチョイ 017f-wjSU)
2017/07/04(火) 22:27:37.54ID:AKPIjSm80 お客さん向け設計ってのもわかるようなわからんような。
716デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/04(火) 22:37:51.95ID:vts0HE+ua 自分だけが気づいた何かがあると思いたいお年頃なんでしょう
ネットde真実の一種だねw
ネットde真実の一種だねw
717デフォルトの名無しさん (ブーイモ MMed-PA5H)
2017/07/04(火) 23:06:36.69ID:i4/Vnl6JM718デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/04(火) 23:22:54.20ID:IVSy+wIs0 >>714-715
プロパティを正しく公開するのって結構大変なんだよ
内部で生じた一時的な変な状態を外に見せないようにしたり、
常にプロパティの値が外から書き換えられることを考慮する必要があったり
不特定多数の人に便利に使ってもらうためのクラスならそこに手間をかける価値はあるけど、我々が作るクラスのほとんどはそうではない
プロパティを正しく公開するのって結構大変なんだよ
内部で生じた一時的な変な状態を外に見せないようにしたり、
常にプロパティの値が外から書き換えられることを考慮する必要があったり
不特定多数の人に便利に使ってもらうためのクラスならそこに手間をかける価値はあるけど、我々が作るクラスのほとんどはそうではない
719デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/04(火) 23:28:02.70ID:vts0HE+ua プロパティを使わない(フィールド直公開?メソッド?)ことで問題が回避されるんじゃなければ
何言ってるのか意味不明だね
何言ってるのか意味不明だね
720デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 23:28:07.57ID:WRdzRcYr0 公開されてるからいつでも触っていいのかと思ったら
initの前だけかよって?
initの前だけかよって?
721デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 23:29:50.21ID:WRdzRcYr0 なんの注意書きもないから1ミリ秒単位で更新してたら死にやがったよコイツ的な?
722デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 23:32:37.20ID:WRdzRcYr0 update()するたびに使用メモリが増えて行くのは仕様ですか?
723デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/04(火) 23:32:49.21ID:IVSy+wIs0 >>719
プロパティに限らず、余計なメンバを公開しないほうが楽だと言ってるだけだよ
プロパティに限らず、余計なメンバを公開しないほうが楽だと言ってるだけだよ
724デフォルトの名無しさん (ワッチョイ 017f-wjSU)
2017/07/04(火) 23:34:22.56ID:AKPIjSm80 アンカ付けたんなら「お客さん向け設計」の説明もしてくれよ。
725デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/04(火) 23:36:17.05ID:vts0HE+ua726デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 23:37:40.88ID:WRdzRcYr0 お客さんは開発者だろ?
マイクロソフトが開発者向けに用意したコントロールと
うちらが仕事で仕様を満たすために作るものとは手間やクオリティが全然違うってことだろ
マイクロソフトが開発者向けに用意したコントロールと
うちらが仕事で仕様を満たすために作るものとは手間やクオリティが全然違うってことだろ
727デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/04(火) 23:39:13.52ID:IVSy+wIs0728デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 23:40:18.13ID:WRdzRcYr0 じゃあ誰かに公開して誰かに使わせる予定あるのかよ?
って言ったらほとんどないんじゃん?的な?
感じで代弁してみた
って言ったらほとんどないんじゃん?的な?
感じで代弁してみた
729デフォルトの名無しさん (ワッチョイ 2d6f-wjSU)
2017/07/04(火) 23:54:47.56ID:U+lkwqtt0730デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/04(火) 23:55:16.97ID:vts0HE+ua そういう話なら、初心者は何でもpublicにしがちだけど慣れてくると
適切なアクセス修飾子を使うようになる、とか言わなきゃ。
でもこれってそんな気張って言うような話じゃなくて、初歩の初歩の話だよねw
適切なアクセス修飾子を使うようになる、とか言わなきゃ。
でもこれってそんな気張って言うような話じゃなくて、初歩の初歩の話だよねw
731デフォルトの名無しさん (ワッチョイ 2d6f-wjSU)
2017/07/04(火) 23:56:43.86ID:U+lkwqtt0 安価みすってた>>727ね
732デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/05(水) 00:01:10.61ID:xlOAkI1j0 整合性を重視って妙な言い回しするから何かと思ったら…
733デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/05(水) 00:40:08.75ID:AQhGA2i/M 初心者スレだよ
734デフォルトの名無しさん (ドコグロ MMe1-zH8r)
2017/07/05(水) 12:46:25.76ID:eFHntyyqM 初心者が質問するスレな
初心者がプロパティガーって知ったかするスレじゃない
初心者がプロパティガーって知ったかするスレじゃない
735デフォルトの名無しさん (ワッチョイ 6eca-HpRm)
2017/07/05(水) 17:00:46.07ID:IuExXpbW0736デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/05(水) 17:25:23.39ID:JPPyl3nWa そういう丸投げの質問にわざわざ回答してくれるお人よしがいるかもしれないと
思えるところが凄い
思えるところが凄い
737デフォルトの名無しさん (ワッチョイ 2ea2-wjSU)
2017/07/05(水) 17:32:08.14ID:Y/w4lOMB0 >>735
動画主がソース公開してるみたいだから自分のと比較してみたら?
動画主がソース公開してるみたいだから自分のと比較してみたら?
738デフォルトの名無しさん (ワッチョイ 6eca-HpRm)
2017/07/05(水) 18:14:22.85ID:IuExXpbW0 お騒がせしました
公開されてるソースと比べたところ、違いは勇者の名前と勝手に追加したゴールドの乱数だけでした
結局String name ="";の行を弄ったらバグらず表示することができました
名前の文字数が5文字以下だと文字がバグりました
公開されてるソースと比べたところ、違いは勇者の名前と勝手に追加したゴールドの乱数だけでした
結局String name ="";の行を弄ったらバグらず表示することができました
名前の文字数が5文字以下だと文字がバグりました
739デフォルトの名無しさん (ワッチョイ 6eca-HpRm)
2017/07/05(水) 18:20:17.61ID:IuExXpbW0 5文字ではなく4文字以下で数字がバグるでした
740デフォルトの名無しさん (アウアウウー Sa25-kiAr)
2017/07/05(水) 21:34:50.46ID:z3CI8qH6a それ動画主もクソやんか。
どこがどうクソなのか自分で理解出来るようにしなよ。
どこがどうクソなのか自分で理解出来るようにしなよ。
741デフォルトの名無しさん (ササクッテロリ Sp71-HpRm)
2017/07/05(水) 22:04:55.79ID:RvrPy5l3p 役立たずの口だけ番長は黙って死んでろゴミカス
てめえみたいな奴が初心者スレを腐らせんだよ
てめえみたいな奴が初心者スレを腐らせんだよ
742デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/05(水) 22:36:26.64ID:I3hQhyW7a ササクッテロリって初めて見たww
どうでもいいけど
どうでもいいけど
743デフォルトの名無しさん (ワッチョイ 06ea-s8c2)
2017/07/05(水) 22:37:44.89ID:uTn2RlgN0 某所のクソコテがササクッテロルだからいつも見てるな
744デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/06(木) 09:16:24.92ID:Wdgs4/ag0 >>738
いきなり中ボスに挑んだなw
いきなり中ボスに挑んだなw
745デフォルトの名無しさん (ワッチョイ ffb3-O3UY)
2017/07/06(木) 09:19:32.16ID:9B2MU8kU0 webbrowserでダイアログボックスを開いて操作することってできるんでしょうか?
たとえば画像アップロードサイトでファイルをアップロードするために「ファイルを選択」ボタンを押すと
ファイル選択画面になりますが、ここにファイル名を自動で入力して自動で「開く」ボタンを押したいと。
外部のブラウザならウィンドウハンドルを取得してそこに投げてやればいいのはわかるのですが、
webbrowserでやろうとして失敗しました。
たとえば画像アップロードサイトでファイルをアップロードするために「ファイルを選択」ボタンを押すと
ファイル選択画面になりますが、ここにファイル名を自動で入力して自動で「開く」ボタンを押したいと。
外部のブラウザならウィンドウハンドルを取得してそこに投げてやればいいのはわかるのですが、
webbrowserでやろうとして失敗しました。
746デフォルトの名無しさん (ワッチョイ 9f66-rvkC)
2017/07/06(木) 09:36:10.51ID:SJTPfom00 >>745
webのやり取りは普通は[POST]と言う命令をサーバーに送るだけなので、C#で制御するにはそのページがデータを送る仕組みを解析して
同じようにデータを送る方法があります
そのページで何をやっているのか知るために、htmlとjavascriptの基本は抑えておいたほうが良いよ
webのやり取りは普通は[POST]と言う命令をサーバーに送るだけなので、C#で制御するにはそのページがデータを送る仕組みを解析して
同じようにデータを送る方法があります
そのページで何をやっているのか知るために、htmlとjavascriptの基本は抑えておいたほうが良いよ
747デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/06(木) 15:47:39.70ID:R3A9km6A0 今更 var に感動してるんだけど、foreach の中じゃ無理なん?
System.Web.UI.WebControls.CheckBoxList checkboxlist;
foreach(var list in checkboxlist.Items)
{
list.・・・
}
System.Web.UI.WebControls.ListControl 型を類推してほしいのだが、object になってしまう。。。
System.Web.UI.WebControls.CheckBoxList checkboxlist;
foreach(var list in checkboxlist.Items)
{
list.・・・
}
System.Web.UI.WebControls.ListControl 型を類推してほしいのだが、object になってしまう。。。
748デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/06(木) 15:50:14.08ID:R3A9km6A0 × System.Web.UI.WebControls.ListControl 型を類推してほしいのだが
○ System.Web.UI.WebControls.ListItem 型を類推してほしいのだが
○ System.Web.UI.WebControls.ListItem 型を類推してほしいのだが
749デフォルトの名無しさん (ドコグロ MM8b-jxDt)
2017/07/06(木) 15:54:53.37ID:j+3WJv+ZM そのプロパティが返す型がobject型なんでしょ。キャストすればいい
750デフォルトの名無しさん (ワキゲー MMdf-bHlx)
2017/07/06(木) 16:07:03.45ID:qhsH+LBBM ジェネリックは.NET 2.0から
System.Web.UI.WebControlsみたいな.NET 1.xからあるものはIEnumerableしか実装してない
IEnumerator.Currentがobjectなのでvarは常にobjectとしか扱えない
System.Web.UI.WebControlsみたいな.NET 1.xからあるものはIEnumerableしか実装してない
IEnumerator.Currentがobjectなのでvarは常にobjectとしか扱えない
751デフォルトの名無しさん (ドコグロ MM8b-jxDt)
2017/07/06(木) 16:10:25.20ID:j+3WJv+ZM msdnみた。
itemsはlistcollectionという型を返すらしい。
それはenumrableを継承した型でジェネリックによる型推論が効かない。
キャストでEnumrable〈型〉を指定すればいけるんじゃないかな。
itemsはlistcollectionという型を返すらしい。
それはenumrableを継承した型でジェネリックによる型推論が効かない。
キャストでEnumrable〈型〉を指定すればいけるんじゃないかな。
752デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/06(木) 16:36:28.81ID:M4nTNHGha どうでもいいけど類推って言葉の使い方間違ってますよw
753デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/06(木) 17:09:22.66ID:Wdgs4/ag0754デフォルトの名無しさん (ワッチョイ ffb3-O3UY)
2017/07/06(木) 19:25:03.65ID:9B2MU8kU0 >>746
そのやり方自体はテキストベースではやったことがあるので使い方はわかりますが、ファイルを添付したい場合にどうしたらいいか
知らなかったのでウィンドウ操作のほうでやってみました。
ウィンドウ操作の方法もご存知でしたら教えてください。
そのやり方自体はテキストベースではやったことがあるので使い方はわかりますが、ファイルを添付したい場合にどうしたらいいか
知らなかったのでウィンドウ操作のほうでやってみました。
ウィンドウ操作の方法もご存知でしたら教えてください。
755デフォルトの名無しさん (ブーイモ MMfb-Uxer)
2017/07/06(木) 23:14:22.57ID:rKvRSNC9M var [ ] 配列
こーゆうふうにvarじゃ配列組めないの?
こーゆうふうにvarじゃ配列組めないの?
756デフォルトの名無しさん (ワッチョイ ff61-rvkC)
2017/07/06(木) 23:17:58.00ID:e4P8WO3j0 >>755
var (C# リファレンス)
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/var
varによる変数宣言とコレクション初期化子
varが使用できる場面
http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_03/csharp30_03_03.html
var (C# リファレンス)
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/var
varによる変数宣言とコレクション初期化子
varが使用できる場面
http://www.atmarkit.co.jp/fdotnet/csharp30/csharp30_03/csharp30_03_03.html
757デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/06(木) 23:52:16.07ID:M4nTNHGha こういう風ってどういう風だよww
758デフォルトの名無しさん (ワッチョイ b732-oOTD)
2017/07/07(金) 00:03:47.18ID:uaUrbh0r0759デフォルトの名無しさん (ワッチョイ 571c-7rrK)
2017/07/07(金) 00:28:42.12ID:5tYOHdE20760デフォルトの名無しさん (ワッチョイ bf23-jxDt)
2017/07/07(金) 01:41:04.05ID:G2hd19q10 ai仕込んで、そろそろ型を推測するようにして欲しい。
ここで数字型の配列使いそうとか
ここで数字型の配列使いそうとか
761デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/07(金) 01:56:18.71ID:VVUNYRiAa それはAIじゃなくてESPだと思う
762デフォルトの名無しさん (アウアウエー Sadf-X9Wr)
2017/07/07(金) 06:06:54.85ID:1OiH67XQa >>760
CPUの分岐予測みたいに予測間違ったらストールして待って今予測し直すからって失敗時に待たされるんですね分かります。
思い通りのコードが出るまで何度も予測させるってなるとFacebookみたいに色んな感情選べるgoodボタン要るね。
CPUの分岐予測みたいに予測間違ったらストールして待って今予測し直すからって失敗時に待たされるんですね分かります。
思い通りのコードが出るまで何度も予測させるってなるとFacebookみたいに色んな感情選べるgoodボタン要るね。
763デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 07:16:00.55ID:Vo0hmpPS0 型を定義できないって不便だと思うがな
764デフォルトの名無しさん (オッペケ Srcb-nSBM)
2017/07/07(金) 08:13:32.94ID:gXsXTAypr765デフォルトの名無しさん (ドコグロ MMdf-d65a)
2017/07/07(金) 08:23:25.36ID:URSZRmHsM 型を定義してないと思ってる>>763が不憫だと思うがな
766デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 08:27:59.78ID:9lQTb6dz0 var a = new ・・・
は、意図どおりに型定義されるからいいけど、
var a = 1;
は何か嫌だなぁ
int32? int16?
どっちに判断したんだろって思ってしまう
var a = 1;
while(a < 100000000000)
{
// 処理
a++;
{
みたいにすると、勝手にint64に判定してくれるの?
は、意図どおりに型定義されるからいいけど、
var a = 1;
は何か嫌だなぁ
int32? int16?
どっちに判断したんだろって思ってしまう
var a = 1;
while(a < 100000000000)
{
// 処理
a++;
{
みたいにすると、勝手にint64に判定してくれるの?
767デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 08:31:13.22ID:Vo0hmpPS0 int16のラップアラウンドを狙ってる俺のプログラムが動かないわけだ
768デフォルトの名無しさん (アウアウエー Sadf-X9Wr)
2017/07/07(金) 08:31:31.51ID:3s7e5LVua 文脈から判断出来るならしてくれるはずだが。
気持ち悪いって。。。
むしろそこが目指すところじゃん。
気持ち悪いって。。。
むしろそこが目指すところじゃん。
769デフォルトの名無しさん (ワッチョイ bf23-jxDt)
2017/07/07(金) 08:58:12.84ID:G2hd19q10 コンパイラに何を望んでるの?
何が言いたいの?
勝手に型推論されると困る箇所は、明示的に定義するで済む話じゃない?
それとも、宣言より、後で出てきた命令も、
型推論の対象にしろと言っているの?
論点は何?
何が言いたいの?
勝手に型推論されると困る箇所は、明示的に定義するで済む話じゃない?
それとも、宣言より、後で出てきた命令も、
型推論の対象にしろと言っているの?
論点は何?
770デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 09:05:15.42ID:Vo0hmpPS0 バグが増えるの目に見えてんだよ
しかも組み手が面倒だからって理由だろ?
いらね
この程度で工数が縮まるわけじゃないし
品質は悪くはなるけど良くはならないよね?
って理由
しかも組み手が面倒だからって理由だろ?
いらね
この程度で工数が縮まるわけじゃないし
品質は悪くはなるけど良くはならないよね?
って理由
771デフォルトの名無しさん (ワッチョイ 9fc4-VbWY)
2017/07/07(金) 09:19:40.74ID:SZgf6Ov20772デフォルトの名無しさん (スップ Sdbf-1ba3)
2017/07/07(金) 09:20:57.77ID:PTSkr6xOd >>770
使い方が悪ければそりゃバグも増える
使い方が悪ければそりゃバグも増える
773デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 09:56:03.26ID:9lQTb6dz0 うん、だから自分は
System.Collection.Generic.List<string> a = new System.Collection.Generic.List<string>();
↓
var a = new System.Collection.Generic.List<string>();
という時にしか使ってないな。
System.Collection.Generic.List<string> a = new System.Collection.Generic.List<string>();
↓
var a = new System.Collection.Generic.List<string>();
という時にしか使ってないな。
774デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 10:22:52.10ID:Vo0hmpPS0775デフォルトの名無しさん (ワッチョイ 9f0d-dbRO)
2017/07/07(金) 10:34:17.30ID:k3/HVzL10 var化
776デフォルトの名無しさん (ワッチョイ 97c0-rvkC)
2017/07/07(金) 10:38:41.22ID:cHmqbnKr0 varはコードレビューを紙でやってるような会社だとまず無理なんだろうな
777デフォルトの名無しさん (アウアウエー Sadf-X9Wr)
2017/07/07(金) 10:51:37.63ID:NO/da/cwa778デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/07(金) 12:10:35.47ID:SENaJwbTM 使う側としては型を意識したくない
作る側としては型を意識したい
もやもやする
作る側としては型を意識したい
もやもやする
779デフォルトの名無しさん (ドコグロ MMdf-d65a)
2017/07/07(金) 12:21:38.99ID:XSZI/EScM >>766
> var a = 1;
> は何か嫌だなぁ
> int32? int16?
> どっちに判断したんだろって思ってしまう
数値リテラルの型を理解してないのか?
long (符号つき64bit) としたいなら
var a = 1L;
って書きなさいよ
> var a = 1;
> は何か嫌だなぁ
> int32? int16?
> どっちに判断したんだろって思ってしまう
数値リテラルの型を理解してないのか?
long (符号つき64bit) としたいなら
var a = 1L;
って書きなさいよ
780デフォルトの名無しさん (ドコグロ MMdf-d65a)
2017/07/07(金) 12:24:56.38ID:XSZI/EScM781デフォルトの名無しさん (ブーイモ MMbf-1B52)
2017/07/07(金) 12:26:56.17ID:Q2kSZF88M 数値リテラルが書かれた後にpythonの話どうぞ↓
782デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/07(金) 12:41:52.18ID:SENaJwbTM783デフォルトの名無しさん (ワッチョイ 173a-VbWY)
2017/07/07(金) 13:00:31.32ID:oeznL6ez0784デフォルトの名無しさん (ワッチョイ ffb3-O3UY)
2017/07/07(金) 13:06:55.37ID:1gWkujGM0785デフォルトの名無しさん (スププ Sdbf-lHvp)
2017/07/07(金) 13:14:51.13ID:4tey7BLBd >>783
通報しますた
通報しますた
786デフォルトの名無しさん (ワッチョイ f7e4-iVv1)
2017/07/07(金) 14:00:45.31ID:SiIRctva0 >>777
varで宣言した変数に
数値と文字列を代入してたら
あるいは、実数と整数を代入してたら
ベースクラスと派生クラスと代入してたら
どっちが正しいのかどうやって判断するの?
結局どうやって判断しても、それがコードの品質にも
生産性にも寄与しないって判断なんじゃないの
varで宣言した変数に
数値と文字列を代入してたら
あるいは、実数と整数を代入してたら
ベースクラスと派生クラスと代入してたら
どっちが正しいのかどうやって判断するの?
結局どうやって判断しても、それがコードの品質にも
生産性にも寄与しないって判断なんじゃないの
787デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 14:14:59.32ID:9lQTb6dz0788デフォルトの名無しさん (アウアウカー Sa2b-P7Iq)
2017/07/07(金) 14:35:08.74ID:N5kyklD6a789デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 14:50:40.06ID:9lQTb6dz0 var a = 1L; と書かない俺が悪かっただけと理解したので、その件はクリアした。
790デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 16:13:39.09ID:Vo0hmpPS0 var a=1;だとバグって
var a=1L;だと正常に動く言語ってもはやわかりにくいだけじゃない?
var a=1L;だと正常に動く言語ってもはやわかりにくいだけじゃない?
791デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 16:26:40.00ID:9lQTb6dz0 制限時は小さい値だけど、実際にはLongまで使っちゃうよ、って場合に
バグの原因になると思うけど、c++ でも int に毛嫌い感じていた自分としては
全く受け入れられないほどでもない。
まぁ最初に書いたように、var を積極的に使うのはクラス生成時くらいだが
バグの原因になると思うけど、c++ でも int に毛嫌い感じていた自分としては
全く受け入れられないほどでもない。
まぁ最初に書いたように、var を積極的に使うのはクラス生成時くらいだが
792デフォルトの名無しさん (ワッチョイ f7e4-iVv1)
2017/07/07(金) 16:46:34.06ID:SiIRctva0 varを使う最大の理由は、それしか匿名型を宣言できないから
LINQなんかで匿名型使うときに使えって話で
LINQテクノロジ入門で著者の赤間氏は
自動型推定機能だけを取り出して、「コーディングの手抜きをするための機能」として使うのは大きな誤りである
と言いきってるぞ
LINQなんかで匿名型使うときに使えって話で
LINQテクノロジ入門で著者の赤間氏は
自動型推定機能だけを取り出して、「コーディングの手抜きをするための機能」として使うのは大きな誤りである
と言いきってるぞ
793デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 17:07:33.31ID:9lQTb6dz0 自分はVBもやってるけど
C# に var がなかった時代に
System.Collection.Generic.List<String> a = new System.Collection.Generic.List<String>();
はさすがにありえんだろ、と思ったぞ
みんなが悪口を叩くVBですら
Dim a As New System.Collection.Generic.List(Of String)();
ってシンプルに定義&宣言できたわけで
C# に var がなかった時代に
System.Collection.Generic.List<String> a = new System.Collection.Generic.List<String>();
はさすがにありえんだろ、と思ったぞ
みんなが悪口を叩くVBですら
Dim a As New System.Collection.Generic.List(Of String)();
ってシンプルに定義&宣言できたわけで
794デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 17:08:50.09ID:Vo0hmpPS0 >>793
別にnewじゃないときもあるし
別にnewじゃないときもあるし
795デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 17:14:05.56ID:9lQTb6dz0 System.Collection.Generic.List<String> a;
a = new();
みたいな記述を未来のC#が許してくれると便利なんだがな
a = new();
みたいな記述を未来のC#が許してくれると便利なんだがな
796デフォルトの名無しさん (スップ Sdbf-1ba3)
2017/07/07(金) 17:18:03.95ID:PTSkr6xOd >>786
var知らんだろお前
var知らんだろお前
797デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/07(金) 18:10:03.94ID:uxSF98L50 スカイプを使っていますが、
送ったメッセージが時間しか表示されません。
2017年7月7日 18:10
みたいなここまで時間を表示させたいのですが
何か方法はありますか?
送ったメッセージが時間しか表示されません。
2017年7月7日 18:10
みたいなここまで時間を表示させたいのですが
何か方法はありますか?
798デフォルトの名無しさん (エムゾネ FFbf-R1hf)
2017/07/07(金) 18:13:24.15ID:/0QWkrJMF >>797
それはc#とどのような関係がありますか?
それはc#とどのような関係がありますか?
799デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/07(金) 18:25:55.79ID:RHxA7IUxa >>795
それは採用されないと思うわ
それは採用されないと思うわ
800デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/07(金) 18:43:43.61ID:uxSF98L50 >>798
関係を見つけるのがあなたの宿題です。
関係を見つけるのがあなたの宿題です。
801デフォルトの名無しさん (ドコグロ MMdf-jxDt)
2017/07/07(金) 18:59:17.65ID:WzcYN8gwM802デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/07(金) 19:08:02.66ID:SENaJwbTM803デフォルトの名無しさん (ドコグロ MMdf-jxDt)
2017/07/07(金) 19:25:06.02ID:WzcYN8gwM c# asp.net mvc でアプリを作っていますが、
アプリケーションのバージョンってどこに持たせますか?
gitのブランチ名と同期?というか、バージョン名のうまい運用方法などあったら教えて頂きたいです。
アプリケーションのバージョンってどこに持たせますか?
gitのブランチ名と同期?というか、バージョン名のうまい運用方法などあったら教えて頂きたいです。
804デフォルトの名無しさん (ワッチョイ 9fac-Razr)
2017/07/07(金) 20:05:53.11ID:cfjlOUj60 >>766
個人的には組み込み型はintとかって書く派ではあるけど、varの推論はオーバーロード解決と同じなので理解しておかないとまずい。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/int
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/byte
にあるように、intで表せればint。無理ならuint,long,ulongの順に優先される。
ただし、右辺値がintより小さいとリテラルの場合は暗黙的に型変換される。
>>777
どこまで推論するかにもよるけど、実際にはかなり時間がかかる状況があるらしい。
コンパイラならまだしも、C#ではリアルタイムに正確なインテリセスが出せないといけない都合上、高度な型推論は無理みたいだね。
ここらにまとまってた。ついでに>>795の左辺値による型推論についてもちょうど乗ってるな。
Roslynのissueがあるのかと思って探したけど、数が多すぎて見つからん
http://ufcpp.net/study/csharp/sp3_var.html?p=2#rhs-inference
個人的には組み込み型はintとかって書く派ではあるけど、varの推論はオーバーロード解決と同じなので理解しておかないとまずい。
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/int
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/byte
にあるように、intで表せればint。無理ならuint,long,ulongの順に優先される。
ただし、右辺値がintより小さいとリテラルの場合は暗黙的に型変換される。
>>777
どこまで推論するかにもよるけど、実際にはかなり時間がかかる状況があるらしい。
コンパイラならまだしも、C#ではリアルタイムに正確なインテリセスが出せないといけない都合上、高度な型推論は無理みたいだね。
ここらにまとまってた。ついでに>>795の左辺値による型推論についてもちょうど乗ってるな。
Roslynのissueがあるのかと思って探したけど、数が多すぎて見つからん
http://ufcpp.net/study/csharp/sp3_var.html?p=2#rhs-inference
805デフォルトの名無しさん (ブーイモ MMbf-4VhL)
2017/07/07(金) 20:28:27.40ID:ZSQ0qsfGM >>803
CIやれば?
ツールは何でもいいけど、要はgitから特定のコミット取得→ビルド→デプロイ→どっかの構成情報にコミットIDを書き込む
までを自動化してやればいいわけでしょ
そんなに難しいことではないと思うけど
CIやれば?
ツールは何でもいいけど、要はgitから特定のコミット取得→ビルド→デプロイ→どっかの構成情報にコミットIDを書き込む
までを自動化してやればいいわけでしょ
そんなに難しいことではないと思うけど
806デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/07(金) 20:49:06.51ID:591C1YpBa いい加減アルツハイマーの繰り言みたいなvarの話に乗りたくないけど、
なんか「推論」って言葉の語感に騙されてる人が何人かいるねw
あえて推論という言葉を使ってるのは、例えば
class Hoge:IHoge
{
}
var x = new Hoge();
においてxの型がIHogeやObjectでも矛盾が起こらないのに
矛盾が起こらない一番狭い型Hogeに決まるからだろうけど、
実体は推論っていうより重複する型指定が省略できるってだけの話
なんか「推論」って言葉の語感に騙されてる人が何人かいるねw
あえて推論という言葉を使ってるのは、例えば
class Hoge:IHoge
{
}
var x = new Hoge();
においてxの型がIHogeやObjectでも矛盾が起こらないのに
矛盾が起こらない一番狭い型Hogeに決まるからだろうけど、
実体は推論っていうより重複する型指定が省略できるってだけの話
807デフォルトの名無しさん (ドコグロ MMdf-jxDt)
2017/07/07(金) 21:19:06.08ID:WzcYN8gwM808デフォルトの名無しさん (ワッチョイ 5711-QdYR)
2017/07/07(金) 22:10:15.14ID:hIjTIVzv0 >>803
GitVersionとCakeの組み合わせが最強
GitVersionとCakeの組み合わせが最強
809デフォルトの名無しさん (ワッチョイ f7e4-iVv1)
2017/07/07(金) 23:11:26.49ID:SiIRctva0 >>807
まあそれはその通りだ
あの本はLINQのための本だから、多少言いすぎ感はある
ただ、匿名型の宣言はvarでしかできないってのと
やりすぎるとプログラムの見通しが悪くなる
って点はまあ気に留めといて良いんじゃね
まあそれはその通りだ
あの本はLINQのための本だから、多少言いすぎ感はある
ただ、匿名型の宣言はvarでしかできないってのと
やりすぎるとプログラムの見通しが悪くなる
って点はまあ気に留めといて良いんじゃね
810デフォルトの名無しさん (ワッチョイ 9f11-d65a)
2017/07/08(土) 10:53:59.63ID:H/yQ/C3x0811デフォルトの名無しさん (ドコグロ MMdf-LU+S)
2017/07/08(土) 10:58:59.78ID:KLTA7RLdM var unk=GetUnko();
型は?
ハイ、論破
ってレスしたら前スレ潰れた
型は?
ハイ、論破
ってレスしたら前スレ潰れた
812デフォルトの名無しさん (ワッチョイ 9f80-ay8l)
2017/07/08(土) 11:32:42.29ID:DYgwIkoI0 またvarの話してるw
813デフォルトの名無しさん (ワッチョイ 9f66-rvkC)
2017/07/08(土) 13:17:11.47ID:iUWc0Lt60 頭が var code
814デフォルトの名無しさん (ワッチョイ bfea-lHvp)
2017/07/08(土) 17:40:02.88ID:+dVEYhio0 var code = hage;
815デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/08(土) 17:50:02.15ID:P6T2V/+uM nullはバグの元
816デフォルトの名無しさん (ドコグロ MMbf-jxDt)
2017/07/08(土) 21:19:54.26ID:yyvtXfzAM var moukon = null
817デフォルトの名無しさん (ワッチョイ ffa2-rvkC)
2017/07/08(土) 21:41:27.81ID:+Y6XHfRP0 var便利!型なんて気にしなくていいじゃん!いっぱい使お
818デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/08(土) 22:00:35.68ID:Rp+AsbLLa 違うだろ、違うだろ〜っ
819デフォルトの名無しさん (ワッチョイ ff4b-zXdO)
2017/07/08(土) 22:02:16.36ID:n52tISe+0 型を気にするか気にしないかで言えばJavaScriptでもPHPでも気にするし・・・
820デフォルトの名無しさん (ワッチョイ 774b-KuRC)
2017/07/08(土) 22:16:42.84ID:VrqbZITR0 動的型付けはunko
静的型付けこそ至高
静的型付けこそ至高
821デフォルトの名無しさん (ワッチョイ d74f-rvkC)
2017/07/08(土) 22:32:13.97ID:DL1526nj0 C#を勉強していて、1年くらい前に少しだけPythonもかじってみた素人だけど
Pythonの型のほうに違和感をおぼえた・・・
たとえばメソッドに想定外の型を渡そうとしたら、C#だとコンパイルエラーになるし
Pythonも実行時にたいていエラーになるんだろうけど
Pythonで、型が違うけどたまたまエラーにはならず、でも想定外の挙動をしているって場合は
面倒なことになるんじゃないかなと思った
ちょっと勉強してPythonはやめてしまったので、自分が知らないだけでたぶん型の間違いを
防ぐ方法はあるんだろうし、C#も勉強を中断中だからいろいろ的を得てないかもしれないけど・・・
Pythonの型のほうに違和感をおぼえた・・・
たとえばメソッドに想定外の型を渡そうとしたら、C#だとコンパイルエラーになるし
Pythonも実行時にたいていエラーになるんだろうけど
Pythonで、型が違うけどたまたまエラーにはならず、でも想定外の挙動をしているって場合は
面倒なことになるんじゃないかなと思った
ちょっと勉強してPythonはやめてしまったので、自分が知らないだけでたぶん型の間違いを
防ぐ方法はあるんだろうし、C#も勉強を中断中だからいろいろ的を得てないかもしれないけど・・・
822デフォルトの名無しさん (ワッチョイ bf23-jxDt)
2017/07/08(土) 22:35:52.31ID:OfhYt3zE0 動的型付けと静的型付けって言葉を知ってるかい
823デフォルトの名無しさん (ワンミングク MM7f-L5XL)
2017/07/08(土) 23:00:17.81ID:8YhBgLjXM コンパイラのフィードバックを得られればおk
人間が型を把握しきるメリットはない
人間が型を把握しきるメリットはない
824デフォルトの名無しさん (ワッチョイ ff4b-zXdO)
2017/07/08(土) 23:00:56.87ID:n52tISe+0 JavaScriptで関数を定義したとき仮引数は本来何でもOKなのだが
実際には99.9%その仮引数に特定の種類の値を想定するわけで
VSCodeでインテリセンスに頼ろうと思うと結局JSDocコメントつけて静的型付け同然にしちゃう
実際には99.9%その仮引数に特定の種類の値を想定するわけで
VSCodeでインテリセンスに頼ろうと思うと結局JSDocコメントつけて静的型付け同然にしちゃう
825デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/08(土) 23:20:47.10ID:tYGsw7Ad0 >>821
タプル地獄にしてやれる自信が俺にはある
タプル地獄にしてやれる自信が俺にはある
826デフォルトの名無しさん (ワッチョイ 9779-N8hs)
2017/07/09(日) 01:54:35.14ID:pwRHbkyi0 Eclipse でコンソールの入力が受けられなくて悩むあるある
Python
タプルだ、ちゃんとキャストしなさい
c++
gdbとか色々絡んでパイプがつまるのか?よくわからん
Python
タプルだ、ちゃんとキャストしなさい
c++
gdbとか色々絡んでパイプがつまるのか?よくわからん
827デフォルトの名無しさん (ワッチョイ 7f4c-KuRC)
2017/07/09(日) 22:42:35.74ID:H6/RuZ0J0 {"price":{"apple":"100","orange":"50","grape":"80"}}
こういう形式のjsonをC#でデシリアライズしたいんですが、コントラクトはどう書けばいいんでしょうか?
果物の数と名前は不特定です。
こういう形式のjsonをC#でデシリアライズしたいんですが、コントラクトはどう書けばいいんでしょうか?
果物の数と名前は不特定です。
828デフォルトの名無しさん (ワッチョイ 976e-4VhL)
2017/07/09(日) 22:59:54.75ID:MzxM8ASX0829デフォルトの名無しさん (ワッチョイ 7f4c-KuRC)
2017/07/09(日) 23:16:12.83ID:H6/RuZ0J0 >>828
あっさりできました!ありがとうございます
あっさりできました!ありがとうございます
830デフォルトの名無しさん (ワッチョイ d7aa-gXZb)
2017/07/10(月) 18:47:09.19ID:w+1H0LRc0 C#でテトリスを作っているのですがブロックによっては回転させるとおかしくなったり、また端っこまで寄せてそれ以上移動させようとすると変形したり散々です
ブロックを回転させるときにx座標にyを、y座標に-xを入れればいいと書いてあったのですが違うのですか?
http://ideone.com/35p7Ko
ブロックを回転させるときにx座標にyを、y座標に-xを入れればいいと書いてあったのですが違うのですか?
http://ideone.com/35p7Ko
831デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/10(月) 19:06:29.55ID:QQHtP4rc0 既にあるのに
C#でテトリスなんて作る必要ある?
C#でテトリスなんて作る必要ある?
832デフォルトの名無しさん (アウアウカー Sa2b-P7Iq)
2017/07/10(月) 19:34:24.67ID:O/cYMYfea >>830
自分で紙にでも書いてみりゃわかるが単にx=y,y=-xにしても望む回転はしないよね?
それはx=0,y=0を軸とした回転であって動いてるブロックの中心を軸とした回転じゃない
ブロックの中心軸回転したいなら中心座標からのオフセットを回転させる的なことしないとダメ
詳しくは調べりゃ絶対出てくる
自分で紙にでも書いてみりゃわかるが単にx=y,y=-xにしても望む回転はしないよね?
それはx=0,y=0を軸とした回転であって動いてるブロックの中心を軸とした回転じゃない
ブロックの中心軸回転したいなら中心座標からのオフセットを回転させる的なことしないとダメ
詳しくは調べりゃ絶対出てくる
833デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/10(月) 19:55:43.44ID:Ypzg3NP6M せっかくならボンブリス作成に精を出してもらいたい
834デフォルトの名無しさん (ラクッペ MM8b-rPCP)
2017/07/10(月) 20:12:20.59ID:qOKFO2KrM >>830
テトリスを作るのが凄いんじゃなくて、最初に発想した人が凄い
テトリスを作るのが凄いんじゃなくて、最初に発想した人が凄い
835デフォルトの名無しさん (ワッチョイ bfea-lHvp)
2017/07/10(月) 20:16:20.81ID:9oiksQC/0 >>831
つまらない人生送ってるでしょ君
つまらない人生送ってるでしょ君
836デフォルトの名無しさん (ワッチョイ 7732-KuRC)
2017/07/10(月) 22:23:10.72ID:6R2l0O8O0 WebBrowserのプロキシ設定をやりたいのですが、InternetSetOption使うとIEの設定まで変わっちゃいますよね?
アプリはプロキシ通してIEはプロキシ通さない方法ってないですかね?
アプリはプロキシ通してIEはプロキシ通さない方法ってないですかね?
837デフォルトの名無しさん (ワッチョイ 7732-KuRC)
2017/07/11(火) 00:44:10.74ID:9LvcNct10 すいません、自己解決しました。
IEの設定を書き換えるコード消さずにInternetSetOptionしてたらそりゃIEも設定されますわ・・・
何やってんだろ俺
IEの設定を書き換えるコード消さずにInternetSetOptionしてたらそりゃIEも設定されますわ・・・
何やってんだろ俺
838デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/11(火) 02:45:03.56ID:awT4MGi50 お前がテトリス作っても誰も遊ばねーよ
839デフォルトの名無しさん (ワッチョイ b732-oOTD)
2017/07/11(火) 03:12:45.75ID:7rDHAaRU0 初心者が練習で作るなら何でも良いだろうに。
Hellow world作るなと難癖付けてるのと同じ位無意味。
テトリスならプログラミング的には割と単純だし、練習の題材としては悪くないだろう。
Hellow world作るなと難癖付けてるのと同じ位無意味。
テトリスならプログラミング的には割と単純だし、練習の題材としては悪くないだろう。
840デフォルトの名無しさん (ワッチョイ bf93-rPCP)
2017/07/11(火) 07:40:44.76ID:R2QBTC310 いやテトリスは無い
オリジナルの機能も付けないんだろ?
オリジナルの機能も付けないんだろ?
841デフォルトの名無しさん (アウーイモ MM5b-quG2)
2017/07/11(火) 08:07:41.32ID:4tLCxKGnM 誰が何を作ってもそんなの各々の勝手だし。
842デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/11(火) 08:19:02.76ID:Uezk8qzjM 最近になってようやく拡張メソッドってすげーなって感じた
843デフォルトの名無しさん (ササクッテロレ Spcb-XAlt)
2017/07/11(火) 11:14:07.06ID:HR/3NLpFp >>842
実際は単なるstaticメソッドの構文糖だけどな
実際は単なるstaticメソッドの構文糖だけどな
844デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/11(火) 12:10:09.14ID:7obiTgu70 拡張プロパティが欲しくなる
845デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/11(火) 12:11:43.17ID:7obiTgu70 SetXX、GetXX って拡張メソッドが美しくないもん。。
多重継承ができないから、どうしても拡張メソッドでカバーせざるを得ない場面が多い
多重継承ができないから、どうしても拡張メソッドでカバーせざるを得ない場面が多い
846デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/11(火) 12:21:38.98ID:w51PVrvpM それはクラスに手を入れなよ
847デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/11(火) 12:32:43.48ID:7obiTgu70 分かりやすく既成品で言うと
TextBoxとLabelに共通する機能を追加したいとき、
共通機能を MyClass に書いて
class MyTextBox : TextBox, MyClass
class MyLabel : Label, MyClass
って風にしたオリジナルクラスを作りたいのだが、それが出来ない。
Interface定義するにせよ、中身はそれぞれに書かないといけない
拡張メソッドで
public static MyMethod(this System.Web.Ui.WebControl Control, ・・・)
って風に共通化させざるを得ない
TextBoxとLabelに共通する機能を追加したいとき、
共通機能を MyClass に書いて
class MyTextBox : TextBox, MyClass
class MyLabel : Label, MyClass
って風にしたオリジナルクラスを作りたいのだが、それが出来ない。
Interface定義するにせよ、中身はそれぞれに書かないといけない
拡張メソッドで
public static MyMethod(this System.Web.Ui.WebControl Control, ・・・)
って風に共通化させざるを得ない
848デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/11(火) 12:39:25.35ID:w51PVrvpM >>843も言ってくれてるけど拡張メソッドは所詮ただのstaticメソッド
同じような感じでプロパティってなるとどこからでも参照できる単一の状態となる
プロパティの存在意義を考えたらstaticな状態はとっても危険
同じような感じでプロパティってなるとどこからでも参照できる単一の状態となる
プロパティの存在意義を考えたらstaticな状態はとっても危険
849デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/11(火) 12:46:19.28ID:t4lUkhAUa 第一引数にthisを取ってるんですがw
何が危険なんだw
意味が分からん
何が危険なんだw
意味が分からん
850デフォルトの名無しさん (ブーイモ MMfb-z+Rf)
2017/07/11(火) 13:02:42.77ID:BFcSVt3FM >>847
エヴァンジェリストなんかは「実装の継承は悪」て言ってるけど。
エヴァンジェリストなんかは「実装の継承は悪」て言ってるけど。
851デフォルトの名無しさん (アウアウカー Sa2b-P7Iq)
2017/07/11(火) 13:18:32.42ID:EEzJWlBea プロパティはオブジェクトの状態を表すわけであって
既に閉じたクラスに対して状態を外から付け加えたいって場面はそうないだろ
既に閉じたクラスに対して状態を外から付け加えたいって場面はそうないだろ
852デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/11(火) 13:43:38.38ID:t4lUkhAUa Rectangleに右下の座標をPointで返すプロパティが欲しいとか、
配列の最後の要素のインデックスを頻繁に使うからa.Length - 1じゃなくてa.LastItemIndexって書きたいとか、
要するにプロパティを追加したいケースなんて普通にコード書いてれば山ほどあるよ。
例に挙げたのはゲッターだけだけどセッター込みで欲しいケースもね。
配列の最後の要素のインデックスを頻繁に使うからa.Length - 1じゃなくてa.LastItemIndexって書きたいとか、
要するにプロパティを追加したいケースなんて普通にコード書いてれば山ほどあるよ。
例に挙げたのはゲッターだけだけどセッター込みで欲しいケースもね。
853デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/11(火) 14:23:28.23ID:yF5c0Q2u0 内容がダセェ
金にならない些末なことはテキトーにやっとけよ
誰も突っ込まねーから
金にならない些末なことはテキトーにやっとけよ
誰も突っ込まねーから
854デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/11(火) 14:28:40.11ID:awT4MGi50 テトリスなんて作ってどーするんだよ。
855デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/11(火) 14:34:06.59ID:yF5c0Q2u0 次は倉庫番だ
856デフォルトの名無しさん (アウーイモ MM5b-quG2)
2017/07/11(火) 19:40:01.52ID:4tLCxKGnM >>853
お前うぜぇよ、どっか行け。
お前うぜぇよ、どっか行け。
857デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/11(火) 19:46:36.47ID:yF5c0Q2u0 >>856
(*゚∀゚)はぁ?
(*゚∀゚)はぁ?
858デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/11(火) 19:59:58.44ID:w51PVrvpM859デフォルトの名無しさん (ワッチョイ ffa2-KuRC)
2017/07/11(火) 21:35:17.36ID:av7+DLXh0 インベーダーでもパックマンでもブロック崩しでも
なんでも好きなの作ればいい
なんでも好きなの作ればいい
860デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/11(火) 22:24:42.60ID:awT4MGi50 vpn gateを使っていると2chに書込みが出来ません。
その場合、なんで2chはvpn gate 使ってるのがわかるのでしょうか?
その場合、なんで2chはvpn gate 使ってるのがわかるのでしょうか?
861デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/11(火) 22:35:07.26ID:yF5c0Q2u0 vpn gateのグローバルipアドレスが固定なんだろ?
っていうかBot荒らしが多いから全部アク禁になってんじゃねーの?
っていうかBot荒らしが多いから全部アク禁になってんじゃねーの?
862デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/11(火) 23:24:35.69ID:awT4MGi50863デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/11(火) 23:37:08.42ID:yF5c0Q2u0864デフォルトの名無しさん (ワッチョイ 9779-ZZOI)
2017/07/12(水) 00:47:55.19ID:FFWGyTUP0 ワシの股間の拡張メソッドを
喪前らのライブラリに公開してやろうか!?!!
(´・ω・`)b
喪前らのライブラリに公開してやろうか!?!!
(´・ω・`)b
865デフォルトの名無しさん (スフッ Sdbf-lHvp)
2017/07/12(水) 07:02:36.50ID:lpNw3V5Vd >>864
インポートエラーでるぞおい
インポートエラーでるぞおい
866デフォルトの名無しさん (ワッチョイ 9f80-ay8l)
2017/07/12(水) 11:11:16.31ID:gJCzfoEB0867デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/12(水) 11:27:05.53ID:SKU2xR2g0 なんかリークしてるぽいし
868デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/12(水) 11:33:18.78ID:uz/DDJspM >>864
くわえても何もできないからしまってて下さい
くわえても何もできないからしまってて下さい
869デフォルトの名無しさん (ワッチョイ ffb3-O3UY)
2017/07/12(水) 11:53:08.34ID:YWvoGq9a0870デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/12(水) 15:53:27.29ID:gcxNWTIE0 >>863
2chはvpnのサーバのIPアドレスを逐一クロールして補足してるのかな?
2chはvpnのサーバのIPアドレスを逐一クロールして補足してるのかな?
871デフォルトの名無しさん (ワッチョイ 17e1-VbWY)
2017/07/12(水) 19:46:28.80ID:mMMvRD100 C#の話じゃねえ
質問者と相手してる奴は死ね
質問者と相手してる奴は死ね
872デフォルトの名無しさん (スプッッ Sd9e-e7nf)
2017/07/14(金) 02:55:50.32ID:i27thCjZd Javaを勉強していてC♯にも興味を持っています
C♯とJavaの似ている点、異なる点を教えていただけないでしょうか?
C♯とJavaの似ている点、異なる点を教えていただけないでしょうか?
873デフォルトの名無しさん (ブーイモ MM5e-5eCk)
2017/07/14(金) 04:59:45.06ID:+GVaW66DM C#はだいたいJavaの上位互換
Javaにある機能はだいたいC#にもあり、C#の方がずっと機能が多く複雑な言語
周辺技術は圧倒的にJavaの方が充実してる
C#はその点MS技術の枠内でわりとコンパクトに完結するので比較的わかりやすい
Javaにある機能はだいたいC#にもあり、C#の方がずっと機能が多く複雑な言語
周辺技術は圧倒的にJavaの方が充実してる
C#はその点MS技術の枠内でわりとコンパクトに完結するので比較的わかりやすい
874デフォルトの名無しさん (ワキゲー MM6e-FPdr)
2017/07/14(金) 06:41:36.15ID:FOyXX5hRM Javaのinterfaceデフォルト実装はC#に存在しない
875デフォルトの名無しさん (ブーイモ MM5a-gxcq)
2017/07/14(金) 07:05:21.07ID:nFfk1BV8M >>872
Visual Studioが使える
Visual Studioが使える
876デフォルトの名無しさん (ワッチョイ 4023-z+eH)
2017/07/14(金) 07:20:35.60ID:PnYwerQL0 僕はC#もといプログラミング初心者でふ(^^
まだ関数の有用性がわからないのでふ(^^
優しく関数の使い道や例を紹介してるサイトはありまふか?(^^
まだ関数の有用性がわからないのでふ(^^
優しく関数の使い道や例を紹介してるサイトはありまふか?(^^
877デフォルトの名無しさん (ワキゲー MM6e-FPdr)
2017/07/14(金) 07:22:13.60ID:FOyXX5hRM >>876
日本語でおk
日本語でおk
878デフォルトの名無しさん (ワッチョイ 4023-z+eH)
2017/07/14(金) 07:28:46.03ID:PnYwerQL0 僕はまだなぜ関数が便利なのかよく分かってまふぇん(^^
なので関数をコピペ以外で使ったことがないのでふよ(^^
関数を使うとなぜ便利なのかを解説してるサイトを教えてくらふぁい(^^
ボッキング!(^^
なので関数をコピペ以外で使ったことがないのでふよ(^^
関数を使うとなぜ便利なのかを解説してるサイトを教えてくらふぁい(^^
ボッキング!(^^
879デフォルトの名無しさん (ワッチョイ 3cc4-WfmG)
2017/07/14(金) 08:59:32.10ID:NzZdCYLZ0 fuck
880デフォルトの名無しさん (JP 0H32-v2r+)
2017/07/14(金) 10:02:07.24ID:ak+4FQ9QH 大規模のプログラムで
アチコチに同じような処理が実装されてると憂鬱になるだろ
つまりそういうことだ
アチコチに同じような処理が実装されてると憂鬱になるだろ
つまりそういうことだ
881デフォルトの名無しさん (ワキゲー MM6e-FPdr)
2017/07/14(金) 10:03:41.84ID:poHR6O80M >>880
つまり、どう言うことだってばよ?
つまり、どう言うことだってばよ?
882デフォルトの名無しさん (ドコグロ MM02-zKZC)
2017/07/14(金) 10:13:35.24ID:Lg3YjH2aM >>878
テトリスでも作ってみろ
テトリスでも作ってみろ
883デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/14(金) 10:23:02.18ID:D7n96xFVa 関数には大事な機能がいくつもある
処理の一般化
処理の抽象化
コールバック関数
再帰を利用できるようになる
スコープの局所化
他にもいろいろある
でも最初は同じ処理をなんども書かなくていいぐらいでいいんだな
処理の一般化
処理の抽象化
コールバック関数
再帰を利用できるようになる
スコープの局所化
他にもいろいろある
でも最初は同じ処理をなんども書かなくていいぐらいでいいんだな
884デフォルトの名無しさん (ワッチョイ 5691-z+eH)
2017/07/14(金) 13:01:26.15ID:Kku2Hunh0 保守
885デフォルトの名無しさん (ブーイモ MM5a-gxcq)
2017/07/14(金) 14:34:00.53ID:Ryu4JgnUM >>881
1000行のコードが100行で済む
1000行のコードが100行で済む
886デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/14(金) 14:41:07.20ID:LqMz4TjHM >>885
主語を明記して欲しい
主語を明記して欲しい
887デフォルトの名無しさん (ワッチョイ 4023-z+eH)
2017/07/14(金) 16:17:33.09ID:PnYwerQL0 遅くなりまひたがありがとうございまふ(^^
ボッキング!(^^
ボッキング!(^^
888デフォルトの名無しさん (ワントンキン MM3e-e7nf)
2017/07/14(金) 21:11:39.26ID:TBQIVSbVM889デフォルトの名無しさん (ワッチョイ e266-S4qQ)
2017/07/14(金) 23:16:31.20ID:IdRI9jY90 しかし、C#には関数なるものは存在しない・・・
890デフォルトの名無しさん (ワッチョイ cee6-gxcq)
2017/07/15(土) 06:38:14.05ID:TwERH/ly0 メソッドっていうんだぜ
891デフォルトの名無しさん (ワッチョイ 321b-HOJV)
2017/07/15(土) 07:49:42.88ID:tXCHrVaZ0 どうもinterfaceがよくわかりません。
調べていくうち↓のサイトがありました。
http://garicchi.hatenablog.jp/entry/2014/09/11/181456
クラス設計する際、hasかasかの考え方があります。
メンバとして別なクラスを持たせるのか、継承するかですが。
ここに出てくるTVクラスとISwitchインターフェースは、
public class TV:ISwitch
となってて、TVクラスがISWitchから派生した子供のクラスのように見えてすごく違和感があります。
TVはISWitchを継承するんじゃなくISWitchをhasしてる方がはるかに考えやすいんですが。
そもそも、インターフェースってのは継承するものじゃなく、具備してるものでやっぱhasだと思うんですが、
どう考えたらいいんですかね?
調べていくうち↓のサイトがありました。
http://garicchi.hatenablog.jp/entry/2014/09/11/181456
クラス設計する際、hasかasかの考え方があります。
メンバとして別なクラスを持たせるのか、継承するかですが。
ここに出てくるTVクラスとISwitchインターフェースは、
public class TV:ISwitch
となってて、TVクラスがISWitchから派生した子供のクラスのように見えてすごく違和感があります。
TVはISWitchを継承するんじゃなくISWitchをhasしてる方がはるかに考えやすいんですが。
そもそも、インターフェースってのは継承するものじゃなく、具備してるものでやっぱhasだと思うんですが、
どう考えたらいいんですかね?
892デフォルトの名無しさん (ワッチョイ 321b-HOJV)
2017/07/15(土) 08:06:44.71ID:tXCHrVaZ0 あと上のサイトでTVのメンバ変数channelがprivateなので、触れないとか書かれてますが、
class TVそのものにChangeChannelメンバ関数を追加改変するならISwitchがあろうが無かろうが関係なく
channelを自由にいじくれるんですけど。
class TVそのものにChangeChannelメンバ関数を追加改変するならISwitchがあろうが無かろうが関係なく
channelを自由にいじくれるんですけど。
893デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 08:54:29.21ID:0zGsqKYGM テレビそのものに書くって事は人はチャンネルを変えらんない
もしくは変えるために直接テレビを触らねばならない
そうしたときにラジオが出てきたらめんどくさいことになる
interfaceは受付窓口と同じ
駅、遊園地、ライブは内部でどんな処理をしてるかそれぞれ異なったとしても利用側はどこでも受付ってinterfaceに切符を渡せば望む結果を得られる
c#は実装側の書き方がabstractとinterfaceでほぼ同じなので慣れるしかないよ
それかここだけjavaで勉強するってのもあり
もしくは変えるために直接テレビを触らねばならない
そうしたときにラジオが出てきたらめんどくさいことになる
interfaceは受付窓口と同じ
駅、遊園地、ライブは内部でどんな処理をしてるかそれぞれ異なったとしても利用側はどこでも受付ってinterfaceに切符を渡せば望む結果を得られる
c#は実装側の書き方がabstractとinterfaceでほぼ同じなので慣れるしかないよ
それかここだけjavaで勉強するってのもあり
894デフォルトの名無しさん (ワッチョイ 321b-HOJV)
2017/07/15(土) 09:24:34.53ID:tXCHrVaZ0 ChngeChannel を public にしてしまえば。
あるいはアクセサを用意すればprivateメンバに誰でもアクセス可能かと思われますが?
インターフェースというならこういうアクセサのほうがずっとしっくりきます。
そもそもアクセサってインターフェースですよねwww
たとえば既製のクラスにインターフェースを追加したいときってどうすればいいんでしょうか?
よく既製のクラスを拡張するのに、基本クラスのコードには手をつけず、継承して、機能追加しますよね。
インターフェースにこういう発想は根本的に間違ってるのかな?
でも、上のテレビで、址から赤外線リモコンインターフェースを追加したいと、
そして、元のTVクラスのソースヘッダは触れないときはどーすればいいか?です。
あるいはアクセサを用意すればprivateメンバに誰でもアクセス可能かと思われますが?
インターフェースというならこういうアクセサのほうがずっとしっくりきます。
そもそもアクセサってインターフェースですよねwww
たとえば既製のクラスにインターフェースを追加したいときってどうすればいいんでしょうか?
よく既製のクラスを拡張するのに、基本クラスのコードには手をつけず、継承して、機能追加しますよね。
インターフェースにこういう発想は根本的に間違ってるのかな?
でも、上のテレビで、址から赤外線リモコンインターフェースを追加したいと、
そして、元のTVクラスのソースヘッダは触れないときはどーすればいいか?です。
895デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 09:35:28.99ID:IcmPd+odM そしたら人が直接テレビを触らねばならない
人は必ず有効値を入れるとは限らない
故障の原因になり得る
触りたくないのであれば既存のクラスを継承してinterfaceを貼り付けた新しいクラスを作ればよい
人は必ず有効値を入れるとは限らない
故障の原因になり得る
触りたくないのであれば既存のクラスを継承してinterfaceを貼り付けた新しいクラスを作ればよい
896デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/15(土) 09:45:52.69ID:K6HEWwBua そのサイトの例が悪いとしか言えない
ISwitchじゃなくてISwitchableとでも考えればいい
TVはスイッチを持っている!やTVはスイッチだ!
じゃなくてTVはチャンネルを切り替えられるぐらいのこと
ISwitchじゃなくてISwitchableとでも考えればいい
TVはスイッチを持っている!やTVはスイッチだ!
じゃなくてTVはチャンネルを切り替えられるぐらいのこと
897デフォルトの名無しさん (ワッチョイ e266-1CH6)
2017/07/15(土) 10:10:22.92ID:uJRk81Er0 >>894
インターフェイスは継承関係のないクラスたちを、同じ手続きで操作する為の物なので…
そのサイトの例だと対象が1つなので、確かにアクセサの説明かの様になってしまっている
.NET Reference Sourceで既存インターフェイスの使われ方を見てみるのも良いと思う、複数実装とか
継承か委譲かというのはまた少し異なる話…というか妙な例えは往々にして本質からずれる気がする
インターフェイスは継承関係のないクラスたちを、同じ手続きで操作する為の物なので…
そのサイトの例だと対象が1つなので、確かにアクセサの説明かの様になってしまっている
.NET Reference Sourceで既存インターフェイスの使われ方を見てみるのも良いと思う、複数実装とか
継承か委譲かというのはまた少し異なる話…というか妙な例えは往々にして本質からずれる気がする
898デフォルトの名無しさん (ワッチョイ 6e96-z+eH)
2017/07/15(土) 10:12:54.91ID:miTEGb900 このへんで詰まるアホって大抵ネットで拾ってきた一つの例題だけをこねくり回そうとして話が明後日に飛んでくよね
899デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/15(土) 10:27:42.98ID:K6HEWwBua いやいや誰でも最初はこんなもんよ
多重継承の代わりと言われたinterfaceの内容知った時の落胆...
非力すぎて涙が出たわ
多重継承の代わりと言われたinterfaceの内容知った時の落胆...
非力すぎて涙が出たわ
900デフォルトの名無しさん (ワントンキン MM3e-roJc)
2017/07/15(土) 10:32:45.07ID:qqsDF0t/M 多重継承するとメモリレイアウトがおかしくなって効率悪すぎ
↓
じゃあ継承はひとつだけにしようか
↓
でもフィールドなければ問題なくね?
↓
ならフィールドなしなら多重継承していいよ
↓
悪く無いねっていうかメソッド実装も衝突するから要らなくないか
↓
なんだこれ凄くイイぞコーディングがめちゃ捗る
↓
あまりにも便利だから名前付けて言語機能にしよう
↓
インターフェース誕生
↓
じゃあ継承はひとつだけにしようか
↓
でもフィールドなければ問題なくね?
↓
ならフィールドなしなら多重継承していいよ
↓
悪く無いねっていうかメソッド実装も衝突するから要らなくないか
↓
なんだこれ凄くイイぞコーディングがめちゃ捗る
↓
あまりにも便利だから名前付けて言語機能にしよう
↓
インターフェース誕生
901デフォルトの名無しさん (ブーイモ MM5a-1CH6)
2017/07/15(土) 10:52:25.26ID:wHixeaDXM 多重継承が捨てられたのはそんな理由じゃない
ググってから出直せ
ググってから出直せ
902デフォルトの名無しさん (ワントンキン MM3e-roJc)
2017/07/15(土) 10:54:05.46ID:qqsDF0t/M >>901
どんな理由だよ
どんな理由だよ
903デフォルトの名無しさん (ブーイモ MM5a-1CH6)
2017/07/15(土) 10:54:39.28ID:wHixeaDXM ググれよ
904デフォルトの名無しさん (ワントンキン MM3e-roJc)
2017/07/15(土) 11:15:41.99ID:qqsDF0t/M ググったがわからんかった
解説して
解説して
905デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 11:27:09.38ID:nQVjhHv2M >>900
javaのデフォルト実装についてコメント願います
javaのデフォルト実装についてコメント願います
906デフォルトの名無しさん (ワントンキン MM3e-roJc)
2017/07/15(土) 11:32:14.35ID:qqsDF0t/M >>905
まああってもいいかな〜ぐらいのノリ
まああってもいいかな〜ぐらいのノリ
907デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 13:41:14.84ID:YwzOlwqa0 結局テストするときはマトリックス書いて全部抜けが無いようにしなきゃいけないからインターフェイスなんて邪魔だけどな
継承なんてありがたがってるやつはまともなテストなんか要求されないゴミ環境にいるとしか考えられない
継承なんてありがたがってるやつはまともなテストなんか要求されないゴミ環境にいるとしか考えられない
908デフォルトの名無しさん (ワントンキン MM3e-roJc)
2017/07/15(土) 14:10:33.48ID:qqsDF0t/M >>907
まともなテストをしたことがない人って不思議とみんなこういうこと言うよね
まともなテストをしたことがない人って不思議とみんなこういうこと言うよね
909デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:14:37.87ID:YwzOlwqa0 >>908
そうかな?
じゃあインターフェイスから派生してる処理は全部でいくつあってそれぞれいつ呼ばれるの?
一覧になってる?
こんな当たり前のこと聞かれても
本能に任せて作っちゃったもんだから
全く説明できないでしょ?
じゃ、明日までに一覧作ってテストやり直してくれるかなぁ?
って言われちゃうよ
そうかな?
じゃあインターフェイスから派生してる処理は全部でいくつあってそれぞれいつ呼ばれるの?
一覧になってる?
こんな当たり前のこと聞かれても
本能に任せて作っちゃったもんだから
全く説明できないでしょ?
じゃ、明日までに一覧作ってテストやり直してくれるかなぁ?
って言われちゃうよ
910デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:18:16.87ID:YwzOlwqa0 単純に作るだけのアマチュアから脱却しなくてはならない
911デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:22:44.84ID:4WiC8QMiM >>909
そんなのすぐにわかるよ
わからないならそれはお前にスキルがないだけだろ
というか君の認識は全く逆だよ
そういった「機能が幾つあるのか」「どんな時に使われるのか」ってのを明確にするためにインターフェースを使うんだろ
インターフェースを使ったらそれがわからなくなるという発言は全くもって理解が足りてない証拠
インターフェースも使わずに密結合しまくった汚いシステムだと
そもそも「どっからどこまでが1つの機能なの?」って問いに明確に答えられない
そして境界がわからないから、「幾つあるか」も数えられないし
それが「どんな時にどれが有効になるのか」もわからない(どれ?という問いは当然だけどそれぞれが明確に区別できる前提がないと答えられない)
そんなのすぐにわかるよ
わからないならそれはお前にスキルがないだけだろ
というか君の認識は全く逆だよ
そういった「機能が幾つあるのか」「どんな時に使われるのか」ってのを明確にするためにインターフェースを使うんだろ
インターフェースを使ったらそれがわからなくなるという発言は全くもって理解が足りてない証拠
インターフェースも使わずに密結合しまくった汚いシステムだと
そもそも「どっからどこまでが1つの機能なの?」って問いに明確に答えられない
そして境界がわからないから、「幾つあるか」も数えられないし
それが「どんな時にどれが有効になるのか」もわからない(どれ?という問いは当然だけどそれぞれが明確に区別できる前提がないと答えられない)
912デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:27:02.76ID:4WiC8QMiM さらにいうと
インターフェースで疎結合を維持すれば自動テストを構築できる
そうすれば明日までと言わずに1時間もあれば回帰テストをやり直せる
インターフェースを使わないガチガチに密結合したシステムではこうはいかない
テストだけでも丸一日、下手すれば数日はかかる
インターフェースで疎結合を維持すれば自動テストを構築できる
そうすれば明日までと言わずに1時間もあれば回帰テストをやり直せる
インターフェースを使わないガチガチに密結合したシステムではこうはいかない
テストだけでも丸一日、下手すれば数日はかかる
913デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:28:56.54ID:4WiC8QMiM >>910
まさに君のことだね
まさに君のことだね
914デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:32:21.17ID:YwzOlwqa0915デフォルトの名無しさん (ワッチョイ 4691-z+eH)
2017/07/15(土) 14:33:55.74ID:wIL5gJgE0 個人だとインターフェース使う機会があまりないなぁ
916デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:34:40.29ID:YwzOlwqa0 ここから俺とお前で
(*゚∀゚)明確になるなる!
(*゚∀゚)明確にならないならない!
(*゚∀゚)なるなる!
(*゚∀゚)ならないならない!
って1000レスぐらい想定www
(*゚∀゚)明確になるなる!
(*゚∀゚)明確にならないならない!
(*゚∀゚)なるなる!
(*゚∀゚)ならないならない!
って1000レスぐらい想定www
917デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:37:21.67ID:4WiC8QMiM918デフォルトの名無しさん (スフッ Sd70-Icm7)
2017/07/15(土) 14:38:08.00ID:qtlS5nEUd switchでその手の分岐かますと汚くて保守性低いコードになるから嫌い
919デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:43:55.40ID:4WiC8QMiM タイプコードswitchはたいていの場合おなじようなswitchをコードのあらゆるところにばら撒いてどこで何やってんだ状態(いわゆるスイッチヘル)に陥る
インターフェースを使うとそのようなswitchは一箇所にまとめられたり、設定ファイルに抽出されたり、コーディング規約に従って動作するようになり、誰が見てもはっきりとどんな時のどの実装が使われるかを理解できるようになる
このように構造化されていれば機能一覧や使用条件などをリアルタイムに出力することすらできる
switchとの格闘で費やしていた無駄な時間をバカンスに割当てることもできるのだ
インターフェースを使うとそのようなswitchは一箇所にまとめられたり、設定ファイルに抽出されたり、コーディング規約に従って動作するようになり、誰が見てもはっきりとどんな時のどの実装が使われるかを理解できるようになる
このように構造化されていれば機能一覧や使用条件などをリアルタイムに出力することすらできる
switchとの格闘で費やしていた無駄な時間をバカンスに割当てることもできるのだ
920デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:44:31.73ID:YwzOlwqa0921デフォルトの名無しさん (スフッ Sd70-Icm7)
2017/07/15(土) 14:47:19.82ID:qtlS5nEUd >>920
IDEで追えるだろ全部
IDEで追えるだろ全部
922デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:47:37.52ID:YwzOlwqa0923デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:48:35.92ID:YwzOlwqa0 >>921
死にコードもわかる?
死にコードもわかる?
924デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:50:14.71ID:4WiC8QMiM >>920
間違いがあるのはswitchを多用する複雑怪奇な方法
間違いがないのはインターフェースを使ってエレガントな方法
switchでパターンがわかるのは1箇所だけ
実際にはswitchの数だけ掛け算したパターンを把握しなければならない
3分岐のswitchが4箇所で使われていたらそれだけで3 * 3 * 3 * 3 = 81パターンの実行パスが考えられる
このコードベースで処理パターンと条件を列挙するのは事実上無理と言っていい
ところがインターフェースを使った方法ならswitchは1箇所で済むのでコードパスの爆発は起こらない
機能一覧と使用条件を洗い出すのもとても容易になる
間違いがあるのはswitchを多用する複雑怪奇な方法
間違いがないのはインターフェースを使ってエレガントな方法
switchでパターンがわかるのは1箇所だけ
実際にはswitchの数だけ掛け算したパターンを把握しなければならない
3分岐のswitchが4箇所で使われていたらそれだけで3 * 3 * 3 * 3 = 81パターンの実行パスが考えられる
このコードベースで処理パターンと条件を列挙するのは事実上無理と言っていい
ところがインターフェースを使った方法ならswitchは1箇所で済むのでコードパスの爆発は起こらない
機能一覧と使用条件を洗い出すのもとても容易になる
925デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:53:15.41ID:4WiC8QMiM >>922
コード全部ちょうだい
コードってのはインターフェース使ってOOPで書かれたコードのことな
あっという間に数えてやるよ
ちなみにお前の書いた汚いswitchスパゲティは意味わからんからいらないよ
それはコードじゃなくてゴミだから
コード全部ちょうだい
コードってのはインターフェース使ってOOPで書かれたコードのことな
あっという間に数えてやるよ
ちなみにお前の書いた汚いswitchスパゲティは意味わからんからいらないよ
それはコードじゃなくてゴミだから
926デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:59:32.85ID:4WiC8QMiM >>923
容易に判明するよ
インターフェースを使っていれば生成箇所だけを見れば判断ができる
場合によってはソースや設定ファイルを見ただけでわかるし
生成箇所が変数に依存して実行するまでわからない場合も生成箇所だけにログを仕込めばわかる
そして何より重要なポイントは仮に死にコードだとしても全く害がないということ
スイッチヘルだと全てのコードを追跡しなければならない
何時間も何日もかけてソースを読んで
ログを仕込む作業何百回と繰り返し
そのログを仕込む作業で凡ミスしてないかの確認を要求されて
また何時間も何日もかけて回帰テストを手作業で行い
スイッチヘルだと死にコードだからと言って無視することはできない
なぜならスイッチヘルでは死んでるコードと死んでないコードが密結合していて分けて考えることが極めて難しいから一緒くたに行きていると判断するしかないからね
もう考えただけでも嫌になってくるよ
容易に判明するよ
インターフェースを使っていれば生成箇所だけを見れば判断ができる
場合によってはソースや設定ファイルを見ただけでわかるし
生成箇所が変数に依存して実行するまでわからない場合も生成箇所だけにログを仕込めばわかる
そして何より重要なポイントは仮に死にコードだとしても全く害がないということ
スイッチヘルだと全てのコードを追跡しなければならない
何時間も何日もかけてソースを読んで
ログを仕込む作業何百回と繰り返し
そのログを仕込む作業で凡ミスしてないかの確認を要求されて
また何時間も何日もかけて回帰テストを手作業で行い
スイッチヘルだと死にコードだからと言って無視することはできない
なぜならスイッチヘルでは死んでるコードと死んでないコードが密結合していて分けて考えることが極めて難しいから一緒くたに行きていると判断するしかないからね
もう考えただけでも嫌になってくるよ
927デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 15:05:09.36ID:YwzOlwqa0 >>925
それはすべてのコードを見ないと分からないという敗北宣言でいいのかな?
それはすべてのコードを見ないと分からないという敗北宣言でいいのかな?
928デフォルトの名無しさん (ワッチョイ 934b-z+eH)
2017/07/15(土) 15:10:16.49ID:rcsbZkMo0 まーた始まった
929デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 15:11:54.72ID:4WiC8QMiM >>927
そう言っておかないとお前後出しするじゃん
じゃあ逆に
void main() {
switch (unko) {
case 1: foo();
case 2: bar();
case 3: baz(); } }
このシステムにおいてどの機能がいつ使われるか全て列挙して
もちろん関数の呼び出し先にも無数のswitchがあるけど聞かれたことしか教えないよ
そう言っておかないとお前後出しするじゃん
じゃあ逆に
void main() {
switch (unko) {
case 1: foo();
case 2: bar();
case 3: baz(); } }
このシステムにおいてどの機能がいつ使われるか全て列挙して
もちろん関数の呼び出し先にも無数のswitchがあるけど聞かれたことしか教えないよ
930デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 15:13:00.41ID:YwzOlwqa0 >>928
だろ?
(*゚∀゚)なるなる!
(*゚∀゚)ならないならない!
ウォーズになっただろ?
そもそも根拠も示さないで
明確になるなんて嘘つくのが悪い
switch case以上のものなんかできねぇよ
だろ?
(*゚∀゚)なるなる!
(*゚∀゚)ならないならない!
ウォーズになっただろ?
そもそも根拠も示さないで
明確になるなんて嘘つくのが悪い
switch case以上のものなんかできねぇよ
931デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 15:14:20.05ID:YwzOlwqa0 >>929
君、俺の質問に答えるのは止めたの?
君、俺の質問に答えるのは止めたの?
932デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 15:14:29.69ID:4WiC8QMiM >>930
根拠は示してるがお前が無視してるだけだろ
根拠は示してるがお前が無視してるだけだろ
933デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 15:16:56.21ID:4WiC8QMiM934デフォルトの名無しさん (スフッ Sd70-Icm7)
2017/07/15(土) 15:16:58.46ID:qtlS5nEUd 底辺SIer丸出しで草
まあ初心者なら混乱するよな、処理追おうとして読んでもインターフェースの呼び出ししか書いてないからswitchのほうが分かりやすいってなる
まあ初心者なら混乱するよな、処理追おうとして読んでもインターフェースの呼び出ししか書いてないからswitchのほうが分かりやすいってなる
935デフォルトの名無しさん (アウアウカー Sa0a-kIy9)
2017/07/15(土) 15:20:47.88ID:Ha2IzMP7a リポジトリが泣いとるわ
936デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 15:22:43.89ID:YwzOlwqa0 >>934
いや、明確に判断するにはインターフェイスが継承されてるクラスをくまなく追っかけて呼び出されてる箇所マークして
死にコードと生きコードを分けなきゃならんでしょ?
こんな面倒臭いものをなんで有難がってるのか?
頭がおかしいのか?
switvh caseが問題とかいってるけどお前の脳味噌のが問題だよwww
いや、明確に判断するにはインターフェイスが継承されてるクラスをくまなく追っかけて呼び出されてる箇所マークして
死にコードと生きコードを分けなきゃならんでしょ?
こんな面倒臭いものをなんで有難がってるのか?
頭がおかしいのか?
switvh caseが問題とかいってるけどお前の脳味噌のが問題だよwww
937デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 15:25:53.28ID:YwzOlwqa0 >>933
全部見ないと分かんないって言ったよね?
あの一言で僕の勝ち
君の理論は腐っている
そして全部みなきゃ分からないという君の主張は正しい
だけどそんな複雑なものを好んで使おうとしてる君の脳みそは腐っている
全部見ないと分かんないって言ったよね?
あの一言で僕の勝ち
君の理論は腐っている
そして全部みなきゃ分からないという君の主張は正しい
だけどそんな複雑なものを好んで使おうとしてる君の脳みそは腐っている
938デフォルトの名無しさん (ワッチョイ ac32-5NcT)
2017/07/15(土) 15:29:35.43ID:SkRXwKg10 技術論から離れて揚げ足取り始めたらお終いだろ。
939デフォルトの名無しさん (ワッチョイ 9623-MRQN)
2017/07/15(土) 15:39:40.47ID:RkJDHgF90 前回の再復刻がふたつ同時だったから、以降はふたつずつ追加されるのかと思ったら今回はひとつだけで残念
実は実装間隔が半分に短縮されている…とかじゃないよね?
実は実装間隔が半分に短縮されている…とかじゃないよね?
940デフォルトの名無しさん (ワッチョイ 9623-MRQN)
2017/07/15(土) 15:39:56.94ID:RkJDHgF90 すまん、誤爆
941デフォルトの名無しさん (ワッチョイ e9c0-S4qQ)
2017/07/15(土) 16:00:49.45ID:Npc2MKz10 社内でユニットテスト定着させようとしたらこんな感じの話がズレている層に拒否られたの思い出したわ
942デフォルトの名無しさん (スフッ Sd70-Icm7)
2017/07/15(土) 16:02:37.05ID:qtlS5nEUd .NETのソース見ればいいよ、switch連打じゃなくてインターフェースばっかだから
943デフォルトの名無しさん (ワッチョイ ac3a-WfmG)
2017/07/15(土) 17:47:55.79ID:rJTB/Aaz0 このクソ最近暴れてた奴だろ
クソの相手するな
スカトロ趣味かオメー
クソの相手するな
スカトロ趣味かオメー
944デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 18:08:42.19ID:+h55DWxyM 気づいたらすげー流れてるなぁ
関心があると考えたらいいこととも思えるけど
関心があると考えたらいいこととも思えるけど
945デフォルトの名無しさん (ドコグロ MM36-KaH7)
2017/07/15(土) 18:10:54.37ID:sSrRYJ/sM 一画面で収まるならswitch使う
946遊園地 (ワッチョイ d896-1jjp)
2017/07/15(土) 18:11:43.15ID:PtVLhebb0 xp C#2008
メモリが30Mなんだけど、そんなもんなん?(正常に動きます)
メモリが30Mなんだけど、そんなもんなん?(正常に動きます)
947デフォルトの名無しさん (スッップ Sd70-YOS7)
2017/07/15(土) 18:59:17.09ID:3Bm+zU1dd >>922
あーこれjavaだろwww
あーこれjavaだろwww
948デフォルトの名無しさん (アウアウイー Sa81-lKTh)
2017/07/15(土) 19:24:08.20ID:1X9hghUUa >>891
要は、本来全然違う物を同じ物とみなして使いたい場合が結構あるってこと。
例えば、
例1:
外部機器との通信プログラムで、USBもRS-232Cもイーサも「通信ポート」とみなして
同じように扱えるようにしたい
例2:
ゲームのプログラムで、物理的なゲームコントローラも、過去の操作の記録データも、
AIによる操作も同じように扱えるようにしたい
インターフェイスは同じ物とみなされるために必要な要件を定義するためのもの。
要は、本来全然違う物を同じ物とみなして使いたい場合が結構あるってこと。
例えば、
例1:
外部機器との通信プログラムで、USBもRS-232Cもイーサも「通信ポート」とみなして
同じように扱えるようにしたい
例2:
ゲームのプログラムで、物理的なゲームコントローラも、過去の操作の記録データも、
AIによる操作も同じように扱えるようにしたい
インターフェイスは同じ物とみなされるために必要な要件を定義するためのもの。
949デフォルトの名無しさん (ワッチョイ 3043-1bhL)
2017/07/15(土) 19:37:37.93ID:dGaj0Gpt0 C#使っててinterfaceの有用さを実感したいなら、IEnumerable<T>を実装したクラスたちについて調べるといいと思う
(そして同時にジェネリックのありがたみもわかる)
(そして同時にジェネリックのありがたみもわかる)
950デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/15(土) 20:01:15.09ID:sSghns+0a スレが進んでると思えば…
ID:YwzOlwqa0はNGにしておけばいいよ
テストやったことない人の意見はガン無視でいい
ID:YwzOlwqa0はNGにしておけばいいよ
テストやったことない人の意見はガン無視でいい
951デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 20:18:35.24ID:+h55DWxyM 頑固なヤツに成長はない
そのまま消えていただければ幸いです
そのまま消えていただければ幸いです
952デフォルトの名無しさん (ドコグロ MM36-KaH7)
2017/07/15(土) 20:28:24.07ID:sSrRYJ/sM enumrableとenumratorの発音にいつも困る。
953デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:29:22.37ID:nacMKYtH0954デフォルトの名無しさん (ブーイモ MM5a-1CH6)
2017/07/15(土) 21:31:14.89ID:wHixeaDXM955デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:35:27.08ID:nacMKYtH0956デフォルトの名無しさん (ブーイモ MM5a-1CH6)
2017/07/15(土) 21:38:17.50ID:wHixeaDXM 俺にレスしても無駄だよ
お前の超絶技巧で.net framewaorkをinterface無しで再実装してからにしてくれ
お前の超絶技巧で.net framewaorkをinterface無しで再実装してからにしてくれ
957デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:40:02.60ID:nacMKYtH0958デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 21:42:12.07ID:+h55DWxyM NGName:ワッチョイ c469
スッキリ!
スッキリ!
959デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:43:55.73ID:nacMKYtH0 まあ、お前の言いたいことはわかるよ
みずほ銀行のシステムをcobol無しで再実装してからcobolの批判をしてくれないか?
ってことだろ?
みずほ銀行のシステムをcobol無しで再実装してからcobolの批判をしてくれないか?
ってことだろ?
960デフォルトの名無しさん (ワッチョイ e6ea-Icm7)
2017/07/15(土) 21:49:16.74ID:g8mCRq5Q0 COBOLの話がすぐ出てくる辺りマジで底辺か、多分ほとんどの奴はお前と話合わないからすっこんでろ
961デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:51:37.25ID:nacMKYtH0962デフォルトの名無しさん (ワッチョイ e6ea-Icm7)
2017/07/15(土) 21:53:48.27ID:g8mCRq5Q0 >>961
誰でもいいじゃん、匿名掲示板なんだしお前と議論する気なんて一切ないし
誰でもいいじゃん、匿名掲示板なんだしお前と議論する気なんて一切ないし
963デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 22:10:48.06ID:+h55DWxyM964デフォルトの名無しさん (ワッチョイ a76f-xIn+)
2017/07/16(日) 01:10:42.69ID:YiC7eEBy0 >>959
いくら出すの?
いくら出すの?
965デフォルトの名無しさん (ワッチョイ 741b-HOJV)
2017/07/16(日) 06:41:53.08ID:S+S2REts0 >>928
たとえばclass PCを定義したいと、
インターフェースとしてUSB、HDMI、DP、PCI-exを持ってる。
この場合
class PC: interface USB, HDMI, DP, PCI-ex
より。
PCはUSBやHDMIを具備していると解釈するのが自然でしょ。つまり
class PC{
public:
Interface USB{
};
Interface HDMI{
};
Interface DP{
};
interface PCI-ex{
};
};
とでもした方が感覚的にしっくりきませんか?
アクセス権としてはclass 内部でInterface宣言されたものはPCのリソースに無条件でアクセスできる。
としたほうが直感的にわかりやすくないですか?
USBやHDMIがPCを出産するってのはあまりに無理がある。
たとえばclass PCを定義したいと、
インターフェースとしてUSB、HDMI、DP、PCI-exを持ってる。
この場合
class PC: interface USB, HDMI, DP, PCI-ex
より。
PCはUSBやHDMIを具備していると解釈するのが自然でしょ。つまり
class PC{
public:
Interface USB{
};
Interface HDMI{
};
Interface DP{
};
interface PCI-ex{
};
};
とでもした方が感覚的にしっくりきませんか?
アクセス権としてはclass 内部でInterface宣言されたものはPCのリソースに無条件でアクセスできる。
としたほうが直感的にわかりやすくないですか?
USBやHDMIがPCを出産するってのはあまりに無理がある。
966デフォルトの名無しさん (ワッチョイ 741b-HOJV)
2017/07/16(日) 06:43:38.07ID:S+S2REts0 つづき
工業製品のシミュレートを考えると継承でインターフェースを増やす、とか機能を増やすとかがしっくりこない。
新製品が旧製品を継承するってならOKだけど、
ある世代のみの製品を定義するなら、
基本モデルに搭載された機能があって、
そこにオプションが追加されて、製品グレードが構成される方がしっくり来ませんか?
この機能追加が継承で実現されるってのはしっくり来ない。
>USBもRS-232Cもイーサも「通信ポート」とみなして
>同じように扱えるようにしたい
これこそ各種インターフェースが通信ポートと派生関係 (is a)関係にある話で、
それらが搭載される大本のPCを派生関係に巻き込むのはおかしな話じゃないですか?
PCから見て同じ通信機能を有するポートと見なしたいだけならエイリアスにでもするとか。
通信ポートがセクロスしてPC出産するなんて考える方が無理ボ
工業製品のシミュレートを考えると継承でインターフェースを増やす、とか機能を増やすとかがしっくりこない。
新製品が旧製品を継承するってならOKだけど、
ある世代のみの製品を定義するなら、
基本モデルに搭載された機能があって、
そこにオプションが追加されて、製品グレードが構成される方がしっくり来ませんか?
この機能追加が継承で実現されるってのはしっくり来ない。
>USBもRS-232Cもイーサも「通信ポート」とみなして
>同じように扱えるようにしたい
これこそ各種インターフェースが通信ポートと派生関係 (is a)関係にある話で、
それらが搭載される大本のPCを派生関係に巻き込むのはおかしな話じゃないですか?
PCから見て同じ通信機能を有するポートと見なしたいだけならエイリアスにでもするとか。
通信ポートがセクロスしてPC出産するなんて考える方が無理ボ
967デフォルトの名無しさん (ワッチョイ 2623-KaH7)
2017/07/16(日) 06:55:25.86ID:QwczUPDI0 何論点に話してるがしらんけど、
部品を組み合わせるんだからhas aで持たせておけよ。
こんなのに継承なんか使ったら破綻するわ。
部品を組み合わせるんだからhas aで持たせておけよ。
こんなのに継承なんか使ったら破綻するわ。
968デフォルトの名無しさん (ワッチョイ ec90-k9rv)
2017/07/16(日) 07:36:55.65ID:DFiYZAtb0 is-aって電子回路で例えるとICの非公開の隠しコマンド使うようなもんだからなあ
その密結合した側からは百歩譲っていいとしても他からそのICを使うと整合が取れなくて
マニュアル通りの動作をしないような事態になったらほとんど手直し不能と言う
その密結合した側からは百歩譲っていいとしても他からそのICを使うと整合が取れなくて
マニュアル通りの動作をしないような事態になったらほとんど手直し不能と言う
969デフォルトの名無しさん (スップ Sd02-sREA)
2017/07/16(日) 09:15:00.53ID:HardVP8Ld インターフェイスとしては、
IDataIOConnectable みたいなのを持つのでは?
IDataIOConnectable みたいなのを持つのでは?
970デフォルトの名無しさん (ワッチョイ e266-S4qQ)
2017/07/16(日) 11:21:50.59ID:tS49D6IL0 C#は移譲とプロバティーとインターフェースを使って、C++の多重継承と外形上同じものを構築できて
しかもより安全なんだよね
道具は使いようだよ
しかもより安全なんだよね
道具は使いようだよ
971デフォルトの名無しさん (ワッチョイ ec90-k9rv)
2017/07/16(日) 12:03:25.24ID:7Dogvjad0972デフォルトの名無しさん (ワッチョイ da4b-MRQN)
2017/07/16(日) 14:36:34.61ID:HcadT/Qg0 誰か>>965-966について解説をオナシャス
973デフォルトの名無しさん (ワッチョイ aa11-OTuW)
2017/07/16(日) 14:42:13.82ID:ZbG5GhXO0 よくわからないなら特に理解する必要はないよ
>>967が正解だし
>>967が正解だし
974デフォルトの名無しさん (ドコグロ MM2e-eqnq)
2017/07/16(日) 14:59:39.16ID:qZs6BFdqM きませんかと言われてもきませんとしか言えんわな
Interfaceを理解することが目的じゃないならチラ裏いき
理解したいならとりあえず自分で利用したコードをかけとしか
Interfaceを理解することが目的じゃないならチラ裏いき
理解したいならとりあえず自分で利用したコードをかけとしか
975デフォルトの名無しさん (ワッチョイ 6e69-zKZC)
2017/07/16(日) 18:58:11.86ID:N3AOnliK0 機能は理解していても適用でゴミにするんだな
976デフォルトの名無しさん (ワッチョイ f6e4-esLu)
2017/07/17(月) 00:13:06.25ID:rrWwnLpM0 そもそもPCクラスが直接USBインターフェイスを実装する必要なんてないし
USBインターフェイスを実装したUSB1クラスとかUSB2クラスをプロパティで持つのが普通だろ
IO装置としてのインターフェースって用語と、プログラミング用語としてのそれを混同してるとしか思えん
USBインターフェイスを実装したUSB1クラスとかUSB2クラスをプロパティで持つのが普通だろ
IO装置としてのインターフェースって用語と、プログラミング用語としてのそれを混同してるとしか思えん
977デフォルトの名無しさん (ワッチョイ 2623-KaH7)
2017/07/17(月) 01:30:28.73ID:ka/V7JjN0 そもそも、USB端子2つ持ってたらどうするの?
PC自体にUSBの機能を持たせたら、usb1と2の区別ができない。
よって、そういった場合を考慮すると、部品化して、プロパティとしてusb1、usb2を持たせるのが正しい。
終了。
PC自体にUSBの機能を持たせたら、usb1と2の区別ができない。
よって、そういった場合を考慮すると、部品化して、プロパティとしてusb1、usb2を持たせるのが正しい。
終了。
978デフォルトの名無しさん (スププ Sd70-KmKO)
2017/07/17(月) 08:04:00.32ID:Ijzu2DgTd この話どーせCOMやActiveXの時代までさかのぼるんでしょ?
979デフォルトの名無しさん (ワッチョイ 8ee3-S4qQ)
2017/07/17(月) 12:18:55.20ID:tm+LZBsa0 Visual Studio2017でタプルを使いたいのですが
(ネットで公開されている)正しいコードを入力しても「valueTupleがインポートされていません」
と言われてしまいます。
ターゲットフレームワークがタプルをサポートしているものより古い4.6.1であるのが原因だと思うのですが、
プロジェクトのプロパティには4.6.1までしか表示できず、visual studioの更新もいろいろ試したのですが(CreatorsUpdateなど)
どうしても4.7を採用できません。
どうしたらよいでしょうか OSはwin10です
(ネットで公開されている)正しいコードを入力しても「valueTupleがインポートされていません」
と言われてしまいます。
ターゲットフレームワークがタプルをサポートしているものより古い4.6.1であるのが原因だと思うのですが、
プロジェクトのプロパティには4.6.1までしか表示できず、visual studioの更新もいろいろ試したのですが(CreatorsUpdateなど)
どうしても4.7を採用できません。
どうしたらよいでしょうか OSはwin10です
980デフォルトの名無しさん (ワッチョイ ec90-k9rv)
2017/07/17(月) 12:32:26.53ID:+UBTk6HR0 >>979
新しいプロジェクトの作成画面で.NET Framework 4.7になってないとか
もし古い.NETでプロジェクトを作成してしまっていたらソリューションを右クリック→プロパティ→アプリケーション
で、ターゲットフレームワークを.NET Framwork 4.7に変更する
新しいプロジェクトの作成画面で.NET Framework 4.7になってないとか
もし古い.NETでプロジェクトを作成してしまっていたらソリューションを右クリック→プロパティ→アプリケーション
で、ターゲットフレームワークを.NET Framwork 4.7に変更する
981デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/17(月) 12:45:01.80ID:50vkYHara >>979
インストーラーから4.7開発ツールインストールしてないなら当たり前
インストーラーから4.7開発ツールインストールしてないなら当たり前
982479 (ワッチョイ 8ee3-S4qQ)
2017/07/17(月) 12:55:32.89ID:tm+LZBsa0983デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/17(月) 12:57:07.69ID:50vkYHara ただのアップデートしただけじゃ4.7は使えない
インストーラーから個別のコンポーネント選んでインストール
インストーラーから個別のコンポーネント選んでインストール
984979 (ワッチョイ 8ee3-S4qQ)
2017/07/17(月) 13:13:20.69ID:tm+LZBsa0 解決しました ありがとうございます
個別のコンポーネントを選択していませんでした。
個別のコンポーネントを選択していませんでした。
985デフォルトの名無しさん (ワッチョイ 4128-NvYO)
2017/07/17(月) 13:59:58.84ID:T9aCvdZt0 複数の読み込みタスクと一つの書き込みタスクを並列で動かすとき、
書き込みタスクを優先させて動かしたいんだけど、どうするのが正解?
タスクのプライオリティ上げるのかと思ったけど、調べるとどうも違いそうで。
ConcurrentExclusiveSchedulerPairとかのスケジューラをうまく使うのかな?
書き込みタスクを優先させて動かしたいんだけど、どうするのが正解?
タスクのプライオリティ上げるのかと思ったけど、調べるとどうも違いそうで。
ConcurrentExclusiveSchedulerPairとかのスケジューラをうまく使うのかな?
986デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/17(月) 14:19:08.39ID:hqPHwZli0 実際何やるの?
並列で動かすよりPC買えよ
並列で動かすよりPC買えよ
987985 (ワッチョイ 4128-NvYO)
2017/07/17(月) 17:22:16.54ID:T9aCvdZt0 ・複数サーバからネットワーク経由でファイルDL
・ファイル数が閾値を超える毎にDB書き込み(シリアル)
DLタスクの並列数を増やすと、書き込みタスク1つあたりの処理時間が伸びて困ってる・・
・ファイル数が閾値を超える毎にDB書き込み(シリアル)
DLタスクの並列数を増やすと、書き込みタスク1つあたりの処理時間が伸びて困ってる・・
988デフォルトの名無しさん (ワッチョイ e9c0-S4qQ)
2017/07/17(月) 17:27:24.08ID:aUy3ijYs0 それタスクの優先度じゃなくて単にファイルIOの問題じゃないの
ファイルDLの書き込みとDLしたファイルの読み込みとDB書き込みを同じストレージに対して行っているなら処理時間伸びるのは当然に思えるが
ファイルDLの書き込みとDLしたファイルの読み込みとDB書き込みを同じストレージに対して行っているなら処理時間伸びるのは当然に思えるが
989985 (ワッチョイ 4128-NvYO)
2017/07/17(月) 17:41:44.40ID:T9aCvdZt0990デフォルトの名無しさん (ワッチョイ 7666-S4qQ)
2017/07/17(月) 18:38:09.74ID:DedzLYOT0 >>989
System.Threading.Thread.CurrentThread.Priorityで、優先度弄れるらしいが、実際に使ったこと無いから何とも・・・
スレッドのメソッドの上の方で指定すればOK
System.Threading.Thread.CurrentThread.Priorityで、優先度弄れるらしいが、実際に使ったこと無いから何とも・・・
スレッドのメソッドの上の方で指定すればOK
991デフォルトの名無しさん (ワンミングク MM3e-roJc)
2017/07/17(月) 19:05:43.77ID:GUuZ6Fu+M スケジューラを実装するといいよ
優先度の設定があるけどそれをどう解釈するかはスケジューラの実装によるからね
優先度の設定があるけどそれをどう解釈するかはスケジューラの実装によるからね
992デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/17(月) 19:20:13.04ID:hqPHwZli0 並列にするメリットが全くわからないのだけれど?
分析能力の欠如っていうか脳がやられたの?
分析能力の欠如っていうか脳がやられたの?
993デフォルトの名無しさん (ワッチョイ 3cc4-WfmG)
2017/07/17(月) 20:49:23.39ID:NQ4+oaEv0 謎行為やってるなとは思うが
謎行為をする動機を語ってないからそう見えるだけだろ
と好意的に解釈してやる
謎行為をする動機を語ってないからそう見えるだけだろ
と好意的に解釈してやる
994デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/17(月) 21:19:25.73ID:c9FD5MjOM とりあえずダウンロードしたファイルはさっさとローカルに保存しなよ
ネットワークに余裕がある時にDBにストアすればいい
ネットワークに余裕がある時にDBにストアすればいい
995デフォルトの名無しさん (ワッチョイ ce19-MRQN)
2017/07/18(火) 00:41:32.31ID:SlyZJJmU0 現役PGの頃に宇宙仮面のサイトみてたけど
2014年で更新止まってるんだよね。
あの人生きてる???
2014年で更新止まってるんだよね。
あの人生きてる???
996デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/18(火) 00:46:21.86ID:y43ZtB+J0 >>995
そういうのここでやんないでくんない?
そういうのここでやんないでくんない?
997985 (ワッチョイ 4128-NvYO)
2017/07/18(火) 01:08:53.19ID:4C5Wl6we0 >>990,991
ありがとう。スケジューラの方向で色々やってみる
>>992,993
ありがとう。動機を説明してみるので、おかしな実装だったら指摘してもらえると嬉しい。
わりと見たことある実装だと思ってるんだけど・・
どこの部分に対する指摘かわからなかったので3点で書いてみる
1.なんでファイルDLしてるの
→空いた時間にダウンロードして、日時の決まった時間にDBを更新するようなバッチじゃないから
2.DLタスクが並列な理由
DLタスクでは数kbのファイルを読み込んで、それをパースしてDBに格納するデータに変換してる。
ファイルは10数個のサーバ毎に日時で1万個くらい生成される。
→各サーバに対して並列で一斉(ないし数台)にリクエストを送る方が、サーバ*ファイル数分、直列でやるより速いと思ってる
3.DLタスクとDBへの書き込みが並列な理由
DLタスクが終了してからDB書き込みしてももちろん動作はする
(実際はメモリの関係で、何度かに分割するだろうけど)
DLタスクはネットワークがボトルネック
DBタスクはDBでの処理がボトルネック*1
→だったらDLタスクが一部終わる毎にDBに書き込ませていった方が、全体のパフォーマンスとして効率的だと思ってる
(本当にpriorityが問題なのかとか、*1が正いかとか、スケールの話は実装とか環境によると思うので省いてほしい。パースはDBタスクの方じゃってのも)
ありがとう。スケジューラの方向で色々やってみる
>>992,993
ありがとう。動機を説明してみるので、おかしな実装だったら指摘してもらえると嬉しい。
わりと見たことある実装だと思ってるんだけど・・
どこの部分に対する指摘かわからなかったので3点で書いてみる
1.なんでファイルDLしてるの
→空いた時間にダウンロードして、日時の決まった時間にDBを更新するようなバッチじゃないから
2.DLタスクが並列な理由
DLタスクでは数kbのファイルを読み込んで、それをパースしてDBに格納するデータに変換してる。
ファイルは10数個のサーバ毎に日時で1万個くらい生成される。
→各サーバに対して並列で一斉(ないし数台)にリクエストを送る方が、サーバ*ファイル数分、直列でやるより速いと思ってる
3.DLタスクとDBへの書き込みが並列な理由
DLタスクが終了してからDB書き込みしてももちろん動作はする
(実際はメモリの関係で、何度かに分割するだろうけど)
DLタスクはネットワークがボトルネック
DBタスクはDBでの処理がボトルネック*1
→だったらDLタスクが一部終わる毎にDBに書き込ませていった方が、全体のパフォーマンスとして効率的だと思ってる
(本当にpriorityが問題なのかとか、*1が正いかとか、スケールの話は実装とか環境によると思うので省いてほしい。パースはDBタスクの方じゃってのも)
998985 (ワッチョイ 4128-NvYO)
2017/07/18(火) 01:13:35.64ID:4C5Wl6we0 訂正
誤)1.なんでファイルDLしてるの
正)1.なんでファイルDLして保存しないの
誤)1.なんでファイルDLしてるの
正)1.なんでファイルDLして保存しないの
999デフォルトの名無しさん (ワッチョイ 1e6e-5eCk)
2017/07/18(火) 02:18:02.65ID:tovqy0R70 書き込みタスクもファイル毎に別なのか?
どうせシリアルなら書き込みはBlockingQueue使って単一コンテキストでループさせ続けるのが無難だと思うが
どうせシリアルなら書き込みはBlockingQueue使って単一コンテキストでループさせ続けるのが無難だと思うが
1000999 (ワッチョイ 1e6e-5eCk)
2017/07/18(火) 02:23:36.02ID:tovqy0R70 訂正
ConcurrentQueueを使ったBlockingCollectionだな
BlockingCollectionなら上限数を指定しとけばコンシューマの処理が追いつかないときにプロデューサをブロックすることもできるよ
ConcurrentQueueを使ったBlockingCollectionだな
BlockingCollectionなら上限数を指定しとけばコンシューマの処理が追いつかないときにプロデューサをブロックすることもできるよ
10011001
Over 1000Thread このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 38日 7時間 47分 35秒
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 38日 7時間 47分 35秒
10021002
Over 1000Thread 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
運営にご協力お願いいたします。
───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────
会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。
▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/
▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。
ニュース
- 日経平均、一時1300円超安 米景気懸念で3万6000円割れ [蚤の市★]
- 【すき家】「ネズミが鍋に飛び込む可能性は非常に低い」「ネズミは熱に敏感で、本能的に高温の物体を避ける傾向がある」★4 [煮卵★]
- 【スタバ】日本のスターバックスはなぜ「絶好調」なのか 米国本社が不調なのに成長を続けられている訳 [七波羅探題★]
- 【大阪万博】視察した府議は思わずぼうぜん、パビリオン建設「骨組みがむき出しで資材が積み上がり…」 [七波羅探題★]
- 【経産省】ラピダスに8025億円追加支援、4月から試作開始 [蚤の市★]
- 【江頭2:50】「オールスター感謝祭」での“暴走”を謝罪「永野芽郁ちゃん、ごめんなさい」★2 [Ailuropoda melanoleuca★]
- 【速報】大阪万博の超目玉である空飛ぶクルマさん、デモ飛行まで断念! [194819832]
- 株イズオーバー… [963243619]
- 【悲報】女子「女性のことを『女』ってゆう男、全員死んで!!」 3.6万いいね [839150984]
- 中国「狂ったアメリカハブって中日韓で同盟組もうぜ」21世紀の大東亜共栄圏へ [377482965]
- 「親の死」→実際これ耐えられる? [466049647]
- 【悲報】アメリカ「台湾有事の際に日本には前線に立ってもらう」 [344473725]