◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

ふらっと C#,C♯,C#(初心者用) Part129 [無断転載禁止]©2ch.net YouTube動画>1本 ->画像>3枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1497000961/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

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 の関連項目を見てもいまいち理解できないのですが、もしかしてこれはかなり難度高めでしょうか?

無知で申し訳ありませんがよろしくお願いします。
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で作っていけば?
4デフォルトの名無しさん (ワッチョイ 7d8e-NVn+)
2017/06/09(金) 19:24:13.24ID:raePFHAA0
>>3
ありがとうございます。
後者は恥ずかしながら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
8デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/09(金) 20:33:06.88ID:jPp38qoUa
テキストコントロール自体を改良するか自分でいちから作り上げるか
どっちにしても初心者には鬼門過ぎる

似たような問題で
電卓作ってcalcと同じ動作で作れる奴
なんか新卒でいても1人だな
9デフォルトの名無しさん (ワッチョイ db93-C3i6)
2017/06/09(金) 20:38:33.22ID:/H0LPwnR0
>>6
実はもう買ってるんだけど、自分で理解出来てるのか、出来てないのか分からなくて困ってる‥
こういう微妙な立ち位置なんだよね
まあ理解できてると思うけど
他の言語は分かるけど
10デフォルトの名無しさん (ワッチョイ bd66-yTT2)
2017/06/09(金) 20:47:11.62ID:iWWz3Pko0
AvalonEditって代物が有って、コレを使えば簡単にエディター作れるには作れるんだがwpfなんだよな
http://avalonedit.net/
11デフォルトの名無しさん (ワッチョイ 1512-KUvf)
2017/06/09(金) 21:07:37.49ID:k+3fMdQf0
>>10
仮にForms版があったとしても、プログラミングの勉強にはならないだろ。
12デフォルトの名無しさん (ブーイモ MMa9-puft)
2017/06/09(金) 21:24:43.76ID:lTunlEdIM
>>10
こういうデカい部品を相手にするのは初心者の勉強には最悪
まったく応用の利かないバッドノウハウに時間取られるだけ
13デフォルトの名無しさん (JP 0H91-Fz1p)
2017/06/09(金) 21:52:17.12ID:Mc8AIFQyH
あまり理想を追求せずにメモ帳程度のとりあえず動きますレベルの作るんだったら、
入門用に手頃な題材だと思うけどな
ただ、textboxの動作のカスタマイズとか考え出したら、途端にノウハウが必要に
なってくるし、さらに多くを求めると、自分でコントロール自作したほうがいいじゃ
ないかって話になってくる
14デフォルトの名無しさん (ワッチョイ 7d8e-NVn+)
2017/06/09(金) 22:05:28.35ID:raePFHAA0
>>6
田舎だと現物がなくて地味に大変なんですよね……
電子版のサンプルがあればまだいいんですが、どうにもいまひとつなものが多くて

>>7
ありがとうございます
実装など考えて「これは何から何まで初心者向きじゃないのでは?」と思ったので質問させていただきましたが、やはりみたいですね
ひとまずのところは素直に諦めておきます
作りたかったのはアウトラインプロセッサなので尚更困難そうですし……

>>10
感謝です
上述の通りひとまずは諦めますが、扱えるようになった日のためにメモさせていただきました
15デフォルトの名無しさん (ワッチョイ 0de3-K3wN)
2017/06/09(金) 22:50:12.15ID:3riuGxqe0
>>7
だよな、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のクソ長い川俣の文法解説を苦しみながら読んでやっと身についた
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 が必要になるという
22デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/10(土) 17:31:02.75ID:BjmuQFWZr
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もようわからん
27デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 20:20:15.41ID:rv8ogaG3a
フォームにテキストボックスどれくらいの数までパフォーマンス落ちないでいけるかわかる?
150個近く置きたいんだけど、ロードの時パラパラ漫画なるかな?
28デフォルトの名無しさん (ワッチョイ 8b6f-yWa+)
2017/06/10(土) 20:23:21.17ID:HebsjGPU0
設計を見直せ
29デフォルトの名無しさん (ワッチョイ 0b61-yTT2)
2017/06/10(土) 20:23:28.55ID:MbS3wo5J0
>>27
それはさすがに自分の環境で試さないとだめだろ
背景の有無とかでも変わるし
30デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 20:30:35.51ID:rv8ogaG3a
>>28
何使ったらいいと思います?datagridview?
>>29
それはもちろん確認しますけど、CPUやらメモリやらの環境依存もあったりするかな?と思って参考までに実績ある人がいたら聞いておきたかったです
31デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/10(土) 20:35:28.02ID:s9o/w7+ta
>>30
結論から言うと無理だよ
クソ重くて動かない
絵にしといて編集するときだけテキストボックス出した
32デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 20:45:06.73ID:rv8ogaG3a
>>31
ありがとうございます
やっぱりそうすかねー。んーどうしよう
33デフォルトの名無しさん (ワッチョイ d5c5-Kg10)
2017/06/10(土) 21:04:20.90ID:vfV2Yx340
>>32
dategridviewじゃあかんのか?
34デフォルトの名無しさん (ワッチョイ 15c0-yTT2)
2017/06/10(土) 21:19:08.32ID:M+kTqTcG0
>>27
分類できるならタブで分けるなりした方が楽じゃね
1画面で150項目入力とか表示以前にきつそうな
35デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 21:22:26.64ID:rv8ogaG3a
>>33
ありがとうございます
datagridviewだとレイアウト上ちょっと厳しいんですよね。。
最悪テキストボックスとdatagridviewの組み合わせでいこうとは思ってますが
もしくはformをわけるかですかね。。
36デフォルトの名無しさん (アウアウカー Sae1-doPM)
2017/06/10(土) 21:24:13.48ID:rv8ogaG3a
>>34
ありがとうございます
一度に全部を確認したいのでタブだと駄目なんですよね
37デフォルトの名無しさん (ワッチョイ 23ea-wVeE)
2017/06/10(土) 22:33:54.40ID:XdYy5zTm0
150個のテキストボックスなんて表示されてたとしても使う方がついてけないと思うけど。

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みたいなの
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の引数がこれからも同じ保証なんかないじゃん
余計なことするなよ
44デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/11(日) 01:40:30.93ID:zqgDUCjYa
>>42
「ので」は理由を表す助詞だけど、
一行目のどこがどう二行目の理由になっているのか理解できん
45デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/11(日) 14:09:21.09ID:h7UNpT7Nr
>>41
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#関係ないじゃんスレチだぞ
48デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 14:15:49.84ID:tNh5tYdla
>>45
だからExcelがやりたいんだろ
49デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 14:18:20.91ID:tNh5tYdla
>>42
後からBだけ引数1個増えましたってときに「コイツ(製作者)ばっかじゃねーの」って思う
50デフォルトの名無しさん (ワッチョイ 0de3-Fz1p)
2017/06/11(日) 15:10:20.00ID:LjgG7elm0
>>27
.NETじゃなくてAccessのフォームに150個近く(たぶん正確には135個)のテキストボックスを
配置して業務用の単票フォームを作ったことあるけど全然問題なく動いてたよ。表示も一瞬で表示されてた

テキストボックスにはデータセット紐づけのほかに計算式入れてたりユーザー定義関数を使ってたりで
色々データを表示してた
51デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 15:16:13.74ID:tNh5tYdla
>>50
それ別モンじゃん
そもそもAccessは割といい動作するし
52デフォルトの名無しさん (ワッチョイ 1512-KUvf)
2017/06/11(日) 15:17:08.87ID:xcBrsLWO0
>>50
.NETじゃないなら、あまり参考にならないのでは。
53デフォルトの名無しさん (ワッチョイ 0de3-Fz1p)
2017/06/11(日) 15:37:41.91ID:LjgG7elm0
>>51
Accessって動作いいほうなのか、知らなかったわ

>>52
Accessで大丈夫なら.NETも大丈夫そうだと思ったけど違うようだな
54デフォルトの名無しさん (アウアウカー Sae1-yWa+)
2017/06/11(日) 16:10:25.22ID:ZoOWYz/Pa
>>27です
レスくれた皆さんありがとうございました
自分の環境で確認したら80個くらいまではロード時違和感なく表示されましたが、150個ともなるとロード時に斜めに走るようにパラパラ表示されました
ロードしたその時だけなので別にいいかなという気もしてますがやはりアプリ自体が重たい印象を受けるのでちょっと見直してみます
55デフォルトの名無しさん (ブーイモ MMa9-puft)
2017/06/11(日) 16:24:09.83ID:4DbbNWthM
>>54
業務アプリでしょ?どうでもいいじゃん
もしパンピー向けのアプリだとしたら、パフォーマンス以前にそんなゴミ誰も使いたがらないよ
56デフォルトの名無しさん (ワッチョイ 0b61-yTT2)
2017/06/11(日) 16:48:21.90ID:usK/W+VE0
>>50
.NETでも表示だけなら一瞬だな
http://ideone.com/OSS1xG
これにイベントとか入れたら知らんけど、そこまで試すの面倒
自分で作る時にこんなことやらないし
57デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/11(日) 17:18:37.22ID:3RzQhoqha
managementstudioはたくさんフィールドがあるテーブル表示してもあんなに軽いのに
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万件とか表示させても楽々表示してるし
60デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/11(日) 20:07:45.10ID:h7UNpT7Nr
>>54
どんな作り方してるのか全く不明だけど、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

君のやろうとしていることは、会社みたいな組織に例えたら
部署を名前のあいうえお順で分けるような話

何で人事部とか経理部とか営業部とか技術開発部とか
機能別に分割されているか考えたことある?
64デフォルトの名無しさん (ワッチョイ 15c0-yTT2)
2017/06/11(日) 22:38:10.80ID:Y992bXXK0
ソース晒してスレ住民にリファクタリングしてもらうのが手っ取り早い
65デフォルトの名無しさん (ワッチョイ d56f-D9zB)
2017/06/11(日) 23:15:58.98ID:ldHAHhtB0
>>62
土方の回答は的外れだな
>>63
こっちのがマシ
66デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/11(日) 23:51:07.00ID:h7UNpT7Nr
>>61
ドカタは横に置いておいてw

同じ引数云々は「結果」の問題
「責務」で考えた方が良いと思う
67デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/12(月) 06:32:30.65ID:+fwK+2k2a
>>65
理由は?
68デフォルトの名無しさん (ワッチョイ 0ba2-yTT2)
2017/06/12(月) 06:43:36.79ID:nTXT2jNo0
プログラムの話じゃなくて業務の話だからじゃないかな

俺は>>61はそんな間違ってないと思うけど
基本的なクラス構造は保つべきだけど
頻繁に変更される箇所を別クラスに切り出したりするのは当たり前だと思う
柔軟に対応ってのがオブジェクト指向でしょ理由があるなら
69デフォルトの名無しさん (ワッチョイ 156e-puft)
2017/06/12(月) 07:06:54.56ID:8YsEkU6k0
>>68
どこが頻繁に変更されるか、その変更の単位はどうなるかはビジネスドメインに依存する
70デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/12(月) 07:22:19.15ID:GxfLKN7ia
>>68
頻繁に変更される根拠は?
頻繁に変更のされ方がA-Zがα-γに代わる可能性はこの時点で排除していいの?
71デフォルトの名無しさん (ドコグロ MM13-W6lL)
2017/06/12(月) 08:15:39.24ID:A8Wo+8nmM
具体的な要件もなしに
ぼくのさいきょうのせっけい
を語るスレ
72デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/12(月) 08:50:40.43ID:chkTGcOaa
>>71
そうそれがないと動けない
でも積極的に将来的な保守を考えている!


らしい
73デフォルトの名無しさん (ワッチョイ 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:WNBrqgLFa
>>75
ふつうに機能を網羅してる本を読んでった方がいい
ググってると抜ける
79デフォルトの名無しさん (ワッチョイ 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];

エラー処理とかしなくていいとしたら、これをタプルとかで一度にする方法ってありますか?
85デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/13(火) 12:17:17.70ID:E7DiHEZba
何言ってるのか分からない
これってどれよ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
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)とかはできないようだし。
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回ずつプリントされるんですが
なぜでしょうか。
92デフォルトの名無しさん (ワッチョイ 2366-yTT2)
2017/06/13(火) 14:49:22.12ID:9q19kSwz0
多分
//timer1.Tick += new EventHandler(timer1_Tick);
と、コメントアウトすれば解決
93デフォルトの名無しさん (アウアウカー Sae1-Ell8)
2017/06/13(火) 14:55:25.44ID:5ju7MduYa
>>92
ありがとうございます!
なるほど確かに。。きちんと動きました!
94デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 16:15:13.18ID:u75hJbewa
>>89
最近多いよね
こういうアホ
できるだけ複雑なコード入れて自分の居場所でも確保しようとしてんのかな?(笑)
95デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/13(火) 17:07:42.77ID:yp0lpCGoa
>>94
アホはお前。そういうこと言わないの。

質問者はたぶん、ひょっとしてもっとスッキリ書ける方法があるけど
自分が知らないだけじゃないかと思っただけでしょ。

他ではやりづらいアホな質問でも気軽にできる2chの数少ない利点を
つぶすようなことしてどうする。
96デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 17:47:30.12ID:w2943itEa
>>95
それって逆に言うと今の自分レベルには読めないコードを書こうとしてるわけで
突き詰めて考えるとやっぱりバカなんだよ
いいじゃん
バカって言ってあげようよリアルだと
なかなか聞けないし
97デフォルトの名無しさん (アウアウイー 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が代入できる
これを最初に見た時なんだか目からうろこが落ちた

便利っちゃ便利だわな
99デフォルトの名無しさん (アウアウイー Saf1-7Kim)
2017/06/13(火) 18:07:10.82ID:yp0lpCGoa
ダメだなこりゃw

なるほど知らないことを知ろうとすることが「自分レベルには読めないコードを書こうとしてる」
ことになるわけか。

こういうのを牽強付会って言うんだよね。
バカって言われるべきなのはお宅の方だと思うよw
100デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 18:20:38.27ID:w2943itEa
>>99
違うよ
目的がねーもん求めるなっつってんの
今回でいうと
スッキリってなーに?
って話かな
仮にスッキリ(?)書けたとして
それって何が良かったの?
って説明できるのか?
101デフォルトの名無しさん (ブーイモ 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
105デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 18:36:27.33ID:w2943itEa
>>104
ちなみに元のコードから何が良くなったの?
106デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:38:33.46ID:yfz+mfcVr
>>88
その考え方は割と的確で
式を意識してコードを書く
ととても「見通しのよいコード」になる

その辺を無意識に自覚出来てるんだと思う
107デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:40:01.60ID:yfz+mfcVr
>>105
理解出来ないならそれで良いじゃんw
無理する必要はさらさら無い
108デフォルトの名無しさん (ワキゲー MM13-S7v4)
2017/06/13(火) 18:42:24.13ID:2H7RAtZfM
「一度に処理する方法」の有無を知りたがってるから>>104は可能だと提示した
質問と回答が通じてるからそれでいい
109デフォルトの名無しさん (ブーイモ MM59-puft)
2017/06/13(火) 18:44:44.90ID:1lda3qQJM
>>106
いや>>84はいちおう宣言的なコードだぞ
副作用には依存してない
110デフォルトの名無しさん (ワッチョイ 156e-puft)
2017/06/13(火) 18:50:59.77ID:KW2Tb1Ft0
そもそも>>88は破壊的代入してる糞だろ
111デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 18:58:47.41ID:yfz+mfcVr
>>88の何処に破壊的代入があるんだろう??

まあReadLineで「out var a」みたいな書き方出来ないのは癪だが
112デフォルトの名無しさん (ブーイモ 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:2H7RAtZfM
>>113
何に噛みついてんの?
やりたいことさえ実現できてれば後は趣味の世界なんだから気楽にやろーぜ
116デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 19:58:18.16ID:w2943itEa
>>115
初心者スレで甘やかすのよくねーよ
こんなメリットの説明もできないコード書かれても困る
俺も独学で組んでた時代長かったけど
なんとなくこっち
何となくこれ
って感性でコードの良し悪しを決める癖って仕事で使うときに害にしかならねーよ
117デフォルトの名無しさん (ワキゲー MM13-S7v4)
2017/06/13(火) 20:04:14.41ID:2H7RAtZfM
>>116
それは仕事だからだろ
ここは仕事じゃないよ

俺は初心者スレだからこそ細かいことは置いといてまず楽しむってことが大切だと思ってる
118デフォルトの名無しさん (アウアウイー Saf1-I6cc)
2017/06/13(火) 20:07:38.68ID:w2943itEa
>>117
じゃ、お前はそういうレス担当な
俺はこっち担当で
119デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 20:10:00.35ID:zMNW55ydM
答えとしては言語仕様上は簡単な方法はありません
定石となる書き方もありません
120デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 20:16:21.76ID:yfz+mfcVr
>>112
麻疹と同じで子供のうちに掛かった方が良いのかもねww
(比喩的な意味で)
お爺さんになってからは手遅れなのかもねww
121デフォルトの名無しさん (オッペケ Sr71-F3NT)
2017/06/13(火) 20:18:24.89ID:yfz+mfcVr
>>113
>>106

仕事じゃないんで
これ以上は有料ならw
122デフォルトの名無しさん (ワッチョイ 1d4b-D9zB)
2017/06/13(火) 20:31:37.23ID:
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スレッド?で実行しなければいけないので、実行時に一瞬ですが止まってしまいます。
これを繰り返すともちろんフォームを操作できなくなるので、この方法もダメでした。

他に何かいい方法はありませんでしょうか?
もちろん自分のやり方や理解が間違っているということも十分にあるので、そこは指摘してくれればうれしいです。

長文失礼しました。
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でできるんじゃない?
キャプチャーするレートにもよるだろうけど、余程複雑なコントロールでもない限り
プチフリとかならんと思うけど
129デフォルトの名無しさん (ワッチョイ 7d96-D9zB)
2017/06/13(火) 22:12:35.61ID:dK6efeen0
隠れAPIのDwmGetDxSharedSurfaceあたりから探ればええんでないかしら
130デフォルトの名無しさん (ワッチョイ d56f-kOr2)
2017/06/13(火) 23:14:01.47ID:swVjUcbe0
>>126
自ソフトです。

>>127 >>129
DWMですね、一度調べてみます。

>>128
自分で作りたいと思ったからです。少し時間が掛かっても作りたいものは作りたいでしょう?
131デフォルトの名無しさん (ブーイモ MM43-OlK+)
2017/06/13(火) 23:20:16.99ID:zMNW55ydM
>>130
自ソフトなら録画する必要ないと思うけど
ログ取って再生するだけ
132デフォルトの名無しさん (ワッチョイ 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級ですがね。
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
136デフォルトの名無しさん (ブーイモ MMa9-CZFd)
2017/06/14(水) 12:34:01.59ID:TtxDPC/bM
>>125
僕もC#のことはよくわかりませんが
C#で書いてるオープンソースのイケてるウインドウ動画キャプチャソフトです
参考になれば
https://github.com/NickeManarin/ScreenToGif
137デフォルトの名無しさん (ブーイモ MM59-Kg10)
2017/06/14(水) 16:23:09.99ID:TJHy+lk+M
>>133
語弊があるな。
本当に初心者かよ!?っていみです
138デフォルトの名無しさん (ブーイモ 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するにはどうやれば良いでしょうか。
139デフォルトの名無しさん (ワッチョイ 4de0-TW1k)
2017/06/14(水) 16:51:08.03ID:XhCLl6nw0
単に表示してないだけじゃね?
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:Keax5Nyj0
>>140
.NET Frameworkは.NETで作られたプログラムを実行するためのランタイム
VB.NETはその中で使える言語の一つ、C#とかの仲間
142デフォルトの名無しさん (ワッチョイ db93-C3i6)
2017/06/14(水) 20:50:15.87ID:f81xY7pa0
>>141
ありがとう
理解するのに時間がかかった‥
143デフォルトの名無しさん (ワッチョイ d56f-kOr2)
2017/06/14(水) 21:09:53.73ID:2DT+QGf30
>>136
ありがとうございます!
まだ見れていないのですが、ぜひ参考にさせて頂きます。
144デフォルトの名無しさん (ワッチョイ 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で設定してる高解像度対応が無効になる)

調べてもよく分からないからそのまま使ってるけど、理由わかる人いますか?
146デフォルトの名無しさん (ブーイモ MMab-OlK+)
2017/06/14(水) 23:13:48.31ID:vAJEYwl8M
>>145
自分で作ったもの?
それとも他人が作ったもの?
147デフォルトの名無しさん (ワッチョイ db0d-ZzMJ)
2017/06/14(水) 23:17:44.15ID:ji83wWfb0
>>146
自作です
1年前に作り初めてコツコツ改良しつつ使ってます
148デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/15(木) 08:24:20.94ID:2A/yC8Ge0
>>147
多分外してると思うが、ソリューションのクリーンで治る場合もあります
149145 (ワッチョイ 160d-hsT2)
2017/06/15(木) 21:40:53.73ID:3vAYf7Jr0
>>148
ありがとうございますm(_ _)m
今試した限りではダメでした

やっぱり追加、修正してるうちにどこかおかしくなってるのかな
とりあえず時間ができるまではこのまま使うことにします
150デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/16(金) 17:33:39.10ID:+giSoZYq0
コンボボックスやテキストボックスを10個 for文などで処理したいんですけど何使えばいいですか
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, ....};
152デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/16(金) 19:01:39.55ID:pyKmluG/0
>>150
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:ThJw6ZZia
>>153
自動ブログ作成まっしーん
俺の2ちゃんねるの書き込みを元にブログを作成する
使用者は俺のみ
155デフォルトの名無しさん (アウアウエー Saf2-2WTa)
2017/06/16(金) 20:27:07.99ID:hd0Ql4Nya
ゲーム
156デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/16(金) 20:36:11.50ID:A6bnq7Mza
無粋な突っ込みだけど、自分のレスでも2chに書き込んだ時点で著作権は2chに移動するので
>>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:+giSoZYq0
>>151
>>152
ありがとうございます
理解するのに時間かかりましたがなんとかできそうです
163デフォルトの名無しさん (ワッチョイ eb42-S2F3)
2017/06/16(金) 22:45:03.44ID:SNTjPZEm0
>>154を公開してたらマズいだろうな。アフィとかつけてたら更に。
でもまぁ、マイナーである限りは訴えられるリスクは低いかもしれないけど。

>>158
ヨダレが出るほどやりたい。
164デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/16(金) 22:46:38.91ID:BaZST6Yaa
アルゴの性能差が顕著に出そうやなw
165デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/16(金) 22:49:24.32ID:pyKmluG/0
>>163
電車男は2ちゃんのものになったけど、2ちゃんでラノベ書いた人の著作権は作者のものになったと思ったよ
今問題にしているのはまとめサイトとの抗争だけでしょ
166デフォルトの名無しさん (ワッチョイ 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:IAjbbKvT0
>>168
Amazonを一通り作れるようになるべき。
まずはログインからか。
170デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/17(土) 06:57:39.48ID:OHTO1ViL0
カメレオンベースの改造人間は高度すぎて初心者向けじゃねーな
171デフォルトの名無しさん (JP 0H9b-HMVo)
2017/06/17(土) 08:50:19.87ID:Pz+rULOlH
>>168
そんな事も人に聞かないと判断・決断できないようじゃ、ろくなプログラマーに
なれねーぞ
172デフォルトの名無しさん (ワッチョイ 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とかだと自分専用テキストエディタとかモチベーション維持に良いかも。
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経由じゃないかなあ

ちな、圧縮ファイル内の画像をリサイズアプリ
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♯は自分で書かなきゃならない。
183デフォルトの名無しさん (ワッチョイ 53c0-yC+1)
2017/06/17(土) 10:51:50.98ID:+efmFY/i0
>>182
それ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回押すのも面倒なの?
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
190デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/17(土) 12:28:42.76ID:25P2TRU/a
フォームアプリで無限ループをまわすと画面が固まるので、ループ処理を別スレッドで行いたいのですが.NET4の環境でこれを行うのはどういう記述をすればいいのでしょうか
ボタン1を押して無限ループ処理開始
ボタン2を押して無限ループ処理停止
みたいな感じです。よろしくお願いします。
191デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/17(土) 12:35:29.47ID:mqhokTvga
非同期処理
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 )
 {
  ;
 }
}
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)は全く同一処理と思っていいでしょうか
195デフォルトの名無しさん (ワッチョイ 5312-kYIN)
2017/06/17(土) 13:52:44.39ID:mQN0Gi2S0
>>194
修正版
http://ideone.com/1vh2bo

Task.RunとTask.Factory.StartNewは似てるけど、全く同じではないらしい。
MSDNのTaskFactory.StartNewの備考に書いてある。
今回の例ではどちらでも動くけど。
196デフォルトの名無しさん (ワッチョイ ba66-yC+1)
2017/06/17(土) 13:57:47.94ID:OHTO1ViL0
>>194
https://www.nuget.org/packages/Microsoft.Bcl.Async
コレ入れてね
197デフォルトの名無しさん (アウアウイー 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つ手動で保存する方法はわかるのですが
他に一括でできる方法ありませんか
200デフォルトの名無しさん (ワッチョイ 5312-kYIN)
2017/06/17(土) 14:09:52.65ID:mQN0Gi2S0
>>194
すまん。.Net4環境だと標準でawait/async使えないの忘れてた。

async/awaitを使わないバージョン
http://ideone.com/34GTJb

>>195でも>>196のを入れれば動くはずだけど。
201デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 14:16:32.15ID:zZ/nI29ta
>>198
本当?

>>193
while( ! cancelRequested )
boolならここの最適化が回避されて毎回変数の値がちゃんと読まれるなんて聞いたことないけど
202デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/17(土) 14:17:41.38ID:25P2TRU/a
>>195>>196>>200
ありがとうございます!問題なく動作確認出来ました
GetAwaiterは私の勘違いでした
Task task = await ~
してました。。
.NET4でもasync/awaitは大丈夫でした
Task.RUNは上のを入れればいいんですね?後で確認してみます。大変助かりました
203デフォルトの名無しさん (アウアウカー Sa33-otAv)
2017/06/17(土) 14:27:54.24ID:25P2TRU/a
すみません。また勘違いでした
async/await使えませんでした
上のをいれてみたら使えました
204デフォルトの名無しさん (ワッチョイ bb11-NFrx)
2017/06/17(土) 14:29:10.55ID:P+HusDAs0
>>202
なんでとっくにサポート切れの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:CkD5o1Z0a
>>199
普通に順にテキストに書き出して
あとで読み込め
207デフォルトの名無しさん (ワッチョイ 4f96-2WTa)
2017/06/17(土) 15:27:16.60ID:n9iTrThT0
>>206
その普通にというのがどうやるのかわかりません
208デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/17(土) 15:32:15.49ID:EJsUF3+1a
>>207
コントロール一覧を取得するもんがあったはず
そこからテキストボックスだけより分けて処理
209デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/17(土) 16:42:38.11ID:CkD5o1Z0a
>>152
210デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 18:09:25.33ID:10Ix2VZLa
>>199
あんまり使ったことないけど、バインディングしておけばいちいちアプリケーション設定を
ユーザーコードで読み書きする必要はなかったように思ったけど...
http://dobon.net/vb/dotnet/programing/dynamicproperties.html
211デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/17(土) 19:20:12.04ID:BEwZTU1BM
>>199
シリアライズ可能なViewModelを作成
ViewとViewModelをバインド
ViewModelをシリアライズで保存
ViewModelにデシリアライズで復元
212デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/17(土) 19:43:42.82ID:KgLuH5ksM
テキストボックスが何十個も並んでる時点で
俺は泣くと思う

そしてそれがちゃんとしたデータ構造に格納されてないことを知り号泣すると思う
そして10分でリファクタリングを終わらせコーヒーを飲む
213デフォルトの名無しさん (ワンミングク MMaa-QeqB)
2017/06/17(土) 19:51:50.19ID:fizf5E0aM
業務システムはそんなんばっかりだよね
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#「に」入門する系の本もあんまり売れないのか最近は少ないよね
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でいいよ
223デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/17(土) 21:50:29.15ID:KgLuH5ksM
>>221
普通にVS入れて実行環境さえ準備できれば入門は難しくないよ
それでも難しいと思うなら他の言語やったほうがいい

図書館に行くと意外とc#の本があったりする
224デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/17(土) 21:52:04.54ID:TZ6VLTL7a
本なんか買わなくていいよ
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で入門は地獄だし
229デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/17(土) 22:12:34.98ID:f5T73F7La
>>221
本当は遠回りでもちゃんと構造化プログラミングと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:mmWGHNwB0
>>224
「c# 作り方」 というか 「c#」+やりたいことのキーワードだな
「c# 画像ビューワー」 とか
それで見つかりそうになかったらC++で探している。解決方法が似ていることが多いから
C#始めて2年以上たったけどそれで困ったことが無いくらい情報はあった
>>223
VS+C#以上に楽な言語とか想像もつかないな
232デフォルトの名無しさん (ワッチョイ 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#といった文法の本を改めて勉強すればいいんじゃないだろうか。
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#版入門本・サイトってあるのかね?
そのへんって常識として押さえてないようだと、挫折する可能性高いと思う
237デフォルトの名無しさん (ワッチョイ 5732-2WTa)
2017/06/18(日) 02:04:31.00ID:ifJ7nIy80
webbrowserを使用したソフトを作っているのですが、
デフォルトだと音量が大きすぎるので音量設定で変更したいのですが、
ミキサーの音量とかってどうやって設定するか探してみたのですが見つかりませんでした。
何かいい方法はないでしょうか?
238デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/18(日) 03:53:50.02ID:bj+pilWTa
>>237
ユーザーに任せたほうがいいんちゃう?
お前のアプリ起動するたびに設定した音量変更されんの?
239デフォルトの名無しさん (ワッチョイ 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を明示的に実装しています。
(サンプルがそうなってたのでそうしています。)

== 続く ==
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)のに、なぜそんなことができるのか?

以上、よろしくお願いします。
242デフォルトの名無しさん (ブーイモ MMda-mug2)
2017/06/18(日) 11:37:58.02ID:F94toio2M
>>241
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に揚がっていたよ
244240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 13:14:15.29ID:3NNsYvIS0
早速の回答ありがとうございます。

いただいた回答をもとに色々考えましたが、何か釈然としない部分が残っています。

先のコードの、
IEnumerator i = collection.GetEnumerator(); // ①
i.MoveNext() // ②
の部分は、下記のような動作と考えていいのでしょうか?

①について:
・collectionはMyCollection<int>型である。
・よって、collection.GetEnumerator()のGetEnumerator()はジェネリック版のほうを意味し、
 その戻り値はIEnumerator<T>型である。
・IEnumerator<T>型である戻り値が、IEnumerator型の変数iに入る。
・IEnumerator<T>型の値を、IEnumerator型の変数に入れられる理由は、
 「IEnumerator<>はIEnumeratorを継承しているから」。

②について:
・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にしかないメソッドを呼ぼうとすると、エラーになります。
これはどうしてなのでしょうか?
(長文ですみません)
246デフォルトの名無しさん (ブーイモ MMaf-mug2)
2017/06/18(日) 13:36:20.31ID:hiI5kOBPM
どこでI2にしかないメソッドを呼んでいるように見えるのかわからん
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型の値が入ってるかどうかなんてコンパイル時にはコンパイラに分かりません
248デフォルトの名無しさん (ブーイモ MM06-VgqF)
2017/06/18(日) 14:20:22.43ID:sWt6I29PM
>>244
実装はどうなってるか知らないけど
同名のメソッドを継承でオーバーライドされたらそっちのメソッドが呼ばれる

非ジェネリックメソッドをジェネリックでオーバーライドしてたら
ジェネリック版が呼ばれる

それが下位のInterfaceで操作された場合でも
249デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 14:26:19.82ID:CKbpnobma
おいおい、質問者のケースはインターフェイスの継承だから
オーバーライドなんかされてないって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っていうなら分からんでもないけど
251デフォルトの名無しさん (ワッチョイ ba66-VgqF)
2017/06/18(日) 14:53:44.56ID:Hoh12jc00
おそらくyieldで記述と実行の順序が見た目と異なる事を言ってるんだろうけど

明示的なインターフェイスの実装は最初のレスでも有るように(IEnumerable)collectionの時に呼ばれるだけであって
結局はIEnumerator<T> GetEnumerator()へのラッパーだし、IEnumeratorに入れようがインターフェイスは全て仮想呼び出しだし
もはやジェネリックがどうとか関係ないな
252デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 15:49:10.59ID:fcq/NEcZa
>>244
①でジェネリック版のIEnumerator(を実装したクラスのインスタンス≠MyCollection<int>)を返している
②ではそいつの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が実装されてから楽になった
254240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 17:54:39.05ID:3NNsYvIS0
たくさんの回答ありがとうございます。

「i.MoveNext()により、実際にGetEnumerator()が呼ばれる」と思った理由は、>>253が書いてくれてるように、
デバッガでステップ実行すると、MoveNext()を呼んだタイミングでGetEnumerator()の中に入っていくためです。

皆のおかげで、その考えが誤りであることがわかりました。

ただ、
IEnumerator i = collection.GetEnumerator(); // ①
i.MoveNext() // ②
については、まだイマイチ自信がないんですが…。

全員のレスをつなぎ合わせて、下記のように理解したのですが、あってますでしょうか?

①で、
・GetEnumerator()により、ジェネリック版IEnumerator<T>を実装したクラスのインスタンスが生成される
・そのクラスは、ジェネリック用と非ジェネリック用の2つのMoveNext()を持つ
 (IEnumerator<T>はIEnumeratorを継承しているため、両方のMoveNext()が作られる)
・ジェネリック用のMoveNext()の内容は、ジェネリック版のyield returnブロックから生成される
・非ジェネリック用のMoveNext()は、ジェネリック版のMoveNext()のラッパーである

②で、
・iは非ジェネリックのIEnumeratorなので、非ジェネリック用のMoveNext()が呼ばれる
・それにより、ラップされているジェネリック用のMoveNext()が呼ばれ、結果として、
 「ジェネリック版のyield returnブロックから生成された処理」が呼ばれる。

以上、よろしくお願いします。
255デフォルトの名無しさん (ブーイモ MMaf-mug2)
2017/06/18(日) 18:01:08.18ID:kXxrIi51M
>>254
違う
MoveNextの実装は単一で共通
256デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 18:22:19.50ID:CKbpnobma
いやいや、「ラッパー」って言葉を誤用している点を除けば質問者の>>254の方が正しいからw

現実のほとんどの実装ではIEnumerator.MoveNextは
IEnumerator<T>.MoveNextをそのまま呼ぶだろうけど、
やろうと思えば別の実装をすることだって可能に決まってる
257デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 18:40:25.49ID:jItXXYfIa
>>254
素直に考えてほしい

①で iに入れたのはジェネリック版
② movenextはジェネリックでも非ジェネリックでも共通

>>256
残念だけどこれを読むように
https://msdn.microsoft.com/ja-jp/library/78dfe2yb(v=vs.110).aspx
258デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 18:57:24.62ID:CKbpnobma
>>257
なんかよー分からんこと言ってるけど、君こそ>>240のコードでも見た方がいいと思うよw

IEnumerator<T>.MoveNextはIEnumerator.MoveNextをオーバーライドしてるわけじゃありませんw
259デフォルトの名無しさん (ワッチョイ 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が呼び出される
260デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 19:06:45.73ID:jItXXYfIa
>>258
誰もそんなことについて言ってるのではないよ
トンチンカンなレスありがとう

MoveNextは別々に必要ない
そもそもシグネチャーは一個だけだから

必要なのは一個だけだと言うこと
さっきのページの変な訳を見てよく考えてほしい
261デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 19:09:56.48ID:CKbpnobma
>>259
君も何を言いたいのかさっぱり分からないが、>>255>>254に対するレスだということを理解しているかな?

>>255
> 違う
> MoveNextの実装は単一で共通

一体全体なにがどう「違う」というのか。是非説明してみて欲しいね
262デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 19:11:42.21ID:CKbpnobma
しかしあれだ、「ほとんどの実装でそうなっている」ことと、「必然的にそうなりそれ以外の実装はありえない」
ことの区別のつかないレベルの人が偉そうに回答する側に回ってはダメだと思う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型で操作された時の実装による、明示的なインターフェイスの実装があればそれが呼ばれる
265デフォルトの名無しさん (ブーイモ MMaf-mug2)
2017/06/18(日) 19:24:09.26ID:m3bZs4wLM
>>262
明示的実装をすれば別にもできるけど、現実にそんな紛らわしく無意味なことをする馬鹿はいない
ここは初心者スレなんだからそんなくだらない揚げ足取りは無視してよい
266デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/18(日) 19:33:21.57ID:CKbpnobma
>>265
いやいや、揚げ足取りをしてるのは>>255の方だと言ってるんだけどw
だから何が「違う」のか言ってみって
267デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/18(日) 19:39:39.80ID:ppLsekVC0
>>266
何がそんなに気にしてるのか知らないが、少なくとも質問者のケースでは違うと言ってるだけだぞ
質問者の元のコードではIEnumeratorは明示的実装されていない
わかる?
268デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/18(日) 19:59:37.67ID:ppLsekVC0
言葉足らずかもしれないから補足しとくか
質問者の元の>>240のコードではイテレータ構文によって自動生成されたIEnumerator<>実装が返る
この実装において、MoveNextは非ジェネリックもジェネリックも共通のメソッドが呼ばれるようになっている
>>254で質問者はMoveNextがジェネリック版と非ジェネリック版の2種類の2種類生成されていると思っているようだが、これは誤りだ
これでいいかな
269240 (ワッチョイ 8bbe-2WTa)
2017/06/18(日) 20:45:02.93ID:3NNsYvIS0
質問者です。

>>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#は安全性や生産性が売りの言語であってシンプルが売りではない
271デフォルトの名無しさん (スフッ Sdda-h/Mr)
2017/06/18(日) 20:54:56.71ID:2ZvXTc7Xd
たまにScheme使ってる身からするとC言語なんて複雑性の塊でしかない
272デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/18(日) 20:55:04.82ID:4KNX7P10a
>>22-23
273デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/18(日) 21:09:54.93ID:wcAf0alPa
こんな難しい動作するコードは駄目だってことだね
274デフォルトの名無しさん (ワッチョイ fac4-N71/)
2017/06/18(日) 21:26:40.66ID:gBGY/PYC0
言語仕様がシンプルって触れ込みで本当にシンプルなものにはお目にかかったことがない
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の段階でリリースしたのは「戦略ミス」だったんじゃないのかって言いたいのなら
それはそうかもしれないけど
277デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/19(月) 01:09:51.49ID:hwxIPu2Ga
言い訳はいい
初見ではクソコード確定
278デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/19(月) 01:37:01.54ID:EFIc9SHVa
>>277
気づいてないみたいだけど、まさにそういう自己正当化のことを「言い訳」っていうんだよ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]);
}
281デフォルトの名無しさん (ワッチョイ efe0-LlRF)
2017/06/19(月) 08:54:35.24ID:cIn3xoah0
バインディングしてるなら
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でソートした状態でグループ化したいのです。
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
287デフォルトの名無しさん (アウアウカー Sa33-yC4D)
2017/06/19(月) 18:40:02.10ID:P6DFew9Aa
先にfirstNameでソートしてからGroupByすればいい
GroupByは元の順序を変えないから
288デフォルトの名無しさん (ワッチョイ 8706-nAjB)
2017/06/19(月) 20:00:39.81ID:I4SWBMMg0
>>286,287
なるほど。そうことですか。
ありがとうございます。
289デフォルトの名無しさん (ドコグロ MM32-p9VS)
2017/06/19(月) 22:12:58.54ID:gggoijwOM
業務系のアプリ作るときって、
例外処理どれくらいやるのですか?

個人だとざっくり例外キャッチしときゃいいやみたいな感じだけど、このケースはこういう可能性があるとか全部考慮しないといけない?
290デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/19(月) 22:26:10.29ID:l5+Ht5Lo0
例外処理で最も大事なのは例外を漏らさないことではなくどこで例外を漏らしても問題のない作りにすること
それを徹底してさえいれば例外は最終的に一番上のイベントハンドラでキャッチしたりWebならフレームワーク任せにしても基本的に問題ないはず
それをあえて例外の発生源により近い場所で処理するのは、あくまでユーザーの利便性を高めるためのオプションであって、それが必須であってはいけない
291デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/19(月) 22:41:39.10ID:DpavZgQja
>>289
必要に応じて、としか言いようがないのでは?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の検査例外を有効であると信じてる人も多いし
297デフォルトの名無しさん (アウアウイー Saeb-jmzv)
2017/06/20(火) 12:46:21.09ID:ghFCA5oRa
むしろ集約例外ハンドラ使えとかなるべく呼び出し階層の上の方で処理しろって言ってる奴を見たら、
ああこいつは何も分かってないなと判断して眉にツバして話を聞くことを勧める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ベーシックスタイルのタイトルバー高さ、枠の幅なので多分そちらが返ってきているのではと思ったのですが)

表示されている状態に沿った値を取得する方法はないでしょうか
300デフォルトの名無しさん (ワッチョイ c7c0-ehp2)
2017/06/20(火) 17:06:48.28ID:EFljh2yC0
すみません別の単語で検索したら自己解決できました
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
こういう奴心底大バカだと思うわ
303デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/20(火) 20:08:47.28ID:A1/74Hqda
アプリが落ちたら考慮不足なんだよ!
顔面グチャグチャにされてぇのかクソが!

ってセリフを大手で聞いた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するなってこと?
309デフォルトの名無しさん (アウアウウー Sa77-VgqF)
2017/06/20(火) 23:29:44.28ID:TEAjB2PSa
そのレベルで対処が必要とされているものだけ拾え
想定してないものまで拾うな握りつぶすな
310デフォルトの名無しさん (ワッチョイ 3aea-pA8U)
2017/06/21(水) 02:43:49.89ID:utv6BdFK0
これが分かりやすい
https://blogs.msdn.microsoft.com/nakama/2008/12/29/net-part-1/
311デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/21(水) 03:23:32.47ID:gTS1oBXqa
>>310
クラスを使う側に回ったとき何でもかんでも例外で返すクラスとそうでないクラスと混在してて使いにくいんだよ死ねよ
って感じ
100箇所で呼び出したら100通りのルートを確保して死んでる
312デフォルトの名無しさん (ササクッテロル Spab-QeqB)
2017/06/21(水) 04:20:38.54ID:6XMRbYZBp
C#でエクセル出力したいんですけどどうしたら良いですか?
313デフォルトの名無しさん (アウアウイー Saeb-YD8M)
2017/06/21(水) 04:36:07.67ID:gTS1oBXqa
>>312
NPOIが正解だって書いてあったの見た
314デフォルトの名無しさん (ワッチョイ 53e6-/28B)
2017/06/21(水) 06:16:18.05ID:RdazTatF0
>>312
ざっくりしすぎ。
エクセルファイルを作成するだけならIOクラス、エクセルファイルを操作するならExcelクラス
315デフォルトの名無しさん (ワッチョイ 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;

としてみても取得できませんでした。
何か他にいい方法はないものでしょうか?
316デフォルトの名無しさん (ワッチョイ 536e-mug2)
2017/06/21(水) 06:48:02.31ID:0awfP3cQ0
Selenium使った方が楽よ
もしくは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~
319デフォルトの名無しさん (ワッチョイ 53c0-yC+1)
2017/06/21(水) 11:13:10.25ID:J81ElXfl0
>>312
Open XML SDKでExcelファイル作ったけど面倒だったので、次やるならClosedXMLかNPOIだな
お仕事だと俺社環の都合で前者はOKで後者がNGなのが辛い
320デフォルトの名無しさん (ワッチョイ 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とか他のメンバで試すと何も表示されなくなります。
何かやり方間違っていますか?
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:1NTI9Fvt0
>>316
自分の実力ではちょっと敷居が高そうですが、Seleniumを使ってみようと思います。
Chromeの拡張機能を使いたいのは山々なのですが、動画のURLを再生ソフトに渡すために
外部プログラムを起動するにはかなり厄介そうなので諦めました。

>>317
やってみましたが無理でした。

レスしてくださった方々、ありがとうございました。
324デフォルトの名無しさん (ブーイモ MMaf-VgqF)
2017/06/21(水) 18:40:33.78ID:Os8YZW2iM
DOM書き換えはソース書き換えじゃないからな
ソース見れる場合は独自に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 回せばいいんだろうが、後学のために
もっとスマートな方法があれば知りたいなと
326デフォルトの名無しさん (ワッチョイ 9a5d-GBnf)
2017/06/21(水) 19:16:08.30ID:lPZfHrAN0
>>325
もう少しルールを明快に。
エスパーやないからな
327デフォルトの名無しさん (ワッチョイ 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のクエリ演算子
使って一発でって感じだけど
でも別に唯一無二の正解を聞きたいわけでもない
他の人はどうやるのか知りたいだけで
細かいルールとか気にしなくていいよ
329デフォルトの名無しさん (ワッチョイ bafc-VgqF)
2017/06/21(水) 19:32:40.57ID:r7sO91Ct0
>>327
やっと意味わかった
最初にソートしろと

若干不安が残るがそれで順序保証されれば
話が早いな
330デフォルトの名無しさん (アウアウイー 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:Os8YZW2iM
>>331
かなり前に拾った記事で内容見てないけど参考になれば
http://www.atmarkit.co.jp/ait/articles/1004/02/news095.html
334デフォルトの名無しさん (ブーイモ 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
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備えたソフト自分でつくれんの?
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が必要なら仕方ないけど
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もあり
345デフォルトの名無しさん (ワッチョイ d7c0-LvKX)
2017/06/22(木) 00:12:37.97ID:k91IRdXa0
>>336
セルの指定がR1C1使えずにA1限定とか本当面倒だった
346デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/22(木) 00:36:01.62ID:Iw2C8Cwxa
PIAでオートメーションしかやったことなかったわ
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でやるみたいに印刷してとか言われると困る
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:n4zvfmL3M
>>351
>>319 は Excel 本体は使わないって話やで
計算式の処理までエミュレートすると言うなら応援だけはするけど
353デフォルトの名無しさん (アウアウイー 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なんかも操作可能だぞ
355デフォルトの名無しさん (ドコグロ MMbf-Stqb)
2017/06/22(木) 20:24:21.48ID:7IUQweXrM
再計算させると開くのに時間かかるからあらかじめ計算した値を入れといてちょうだい
計算させてから保存するだけだから簡単でしょ?
356デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/22(木) 21:17:17.14ID:fAGSkyHHM
>>354
それってサーバーで使える?
どういう仕組みなんだ
357デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/22(木) 21:31:01.39ID:yaPeNTze0
>>356
内部的にCOM使ってるだけのラッパー
サーバーでも当然使えるけどExcelがインストールされてなきゃダメだよ
358デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/22(木) 21:48:41.95ID:fAGSkyHHM
なんだCOMラッパーか
それじゃサーバーではまともに使えないな
359デフォルトの名無しさん (ワッチョイ 9f11-Stqb)
2017/06/22(木) 22:35:12.42ID:VnYBxQVg0
>>357
> サーバーでも当然使えるけど
使えねーよ
サーバーだと大抵サービスで動かすからちょっと設定しないとダメだし保証対象外
360デフォルトの名無しさん (ブーイモ 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#しか出来ないのであります!
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:Ob44rCMx0
>>336
慣れれば何とかなる






二度とゴメンだがな(´・ω・`)b
366デフォルトの名無しさん (ワッチョイ d779-v4C/)
2017/06/23(金) 21:29:40.31ID:Ob44rCMx0
>>336
OpenXMLでWordよりは128倍マシ



まぁ、今度はClosedXML にすると思うけど(´・ω・`)b
367デフォルトの名無しさん (ワッチョイ 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となるのでできません
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:iy5Tv8tFM
>>368
普通は仕様を公開してるだろ
HttpClientでその通りにリクエスト送るだけ
371デフォルトの名無しさん (ワッチョイ d7e6-/dwV)
2017/06/23(金) 23:01:44.40ID:dhhFjplC0
>>369
zaifかビットフライヤーです!
どちらでもいいですが、自分で接続できるようになりたいです。

>>370
見てもわからないでやんす!
372デフォルトの名無しさん (アウアウウー Sa9b-NIhq)
2017/06/23(金) 23:17:16.17ID:5OtS9lsXa
>>371
自分で理解できないものでビットコインを取引するつもりなのか
こわー
373デフォルトの名無しさん (ワッチョイ 57f7-BCLP)
2017/06/23(金) 23:36:32.24ID:z4RfANnO0
>>371
UWSCなんかでブラウザぽちぽち
374デフォルトの名無しさん (ワッチョイ d7e6-/dwV)
2017/06/23(金) 23:40:33.17ID:dhhFjplC0
>>372
だから、理解しようとしてるんじゃないですか。そんな風に馬鹿にするなら情報をくださいよ

>>373
UWSCを使ったら負けかなと思っている
375デフォルトの名無しさん (ワッチョイ 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
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が担当した時点で終わったんだろ
382デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/24(土) 13:58:53.67ID:jPQQGq+CM
あーそういうことか
383デフォルトの名無しさん (ワッチョイ d779-v4C/)
2017/06/24(土) 15:00:47.22ID:BE1Jjbm80
>>381
そうなの?知らなんだ

無駄な帳票文化だからな、日本は
384>>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の中に意図するものを入れることが出来ました。
385デフォルトの名無しさん (ワッチョイ d76f-q+YL)
2017/06/25(日) 18:03:00.35ID:sNamIhLK0
非同期でフォームをフリーズ?させずにコントロールをいじることはできないのでしょうか?
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などに移行してみたらどうかね?
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実験的に試してみれば
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では全員のファイルの保存先が同じパスになっている、
という事です。

こんな場合にはどの様にすればよいの?エスパープログラマさん助けてください!
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:yN128eA50
>>396 >>397
Windows APIを使えば実装できると思ってますが
どうでしょう?
399デフォルトの名無しさん (ワッチョイ b74b-ZLad)
2017/06/25(日) 22:01:42.72ID:ACHxio2k0
>>398
WindowsAPI云々じゃなくて
「skypeの仕様上」それはできないと言っているんだけど理解できないの?
400デフォルトの名無しさん (ワッチョイ 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っていうとプロの仕事だな
402デフォルトの名無しさん (アウアウカー Sa6b-m1nn)
2017/06/25(日) 22:07:58.92ID:TFKG+xLIa
>>398
なにか具体的な方策があるならいいけど?
windowsAPIっていってもごまんとあるわけでどのことか分からんが
俺にはよい方法は思い付かない
403デフォルトの名無しさん (ワントンキン 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
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人じゃね?
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にでもいれて、
ファイルががあるフォルダを順次検索していけば抜き出せるんじゃね?
一時保管されてるファイル名と、送られてきたファイル名が違うなら、受信日時で大まかに振り分けるしか無いだろうが
410デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/26(月) 18:41:23.82ID:6QaOoL2B0
>>409
試してみるわ。サンクス

>>406
あほ。
411デフォルトの名無しさん (ワッチョイ 9f66-NIhq)
2017/06/26(月) 19:10:18.82ID:Bg26KhHa0
妙に原始的な話が続くのが謎だけど、WindowsならAppDataにSQLiteファイルがあるでしょ?
古いのはmain.dbのTransfersテーブル、最近のVerはmedia_messaging\storage_dbの方に情報あったような気がするが
412デフォルトの名無しさん (ドコグロ MMdf-Stqb)
2017/06/26(月) 19:11:19.86ID:ErfyIPbgM
>>406
> 「一郎、二郎、三郎」の3人
だれも全員の人数なんて尋ねてないだろ
真面目に国語の勉強からやり直した方がいいぞ
せめて新聞でも買って毎日読め
413デフォルトの名無しさん (ブーイモ MMcf-/dwV)
2017/06/26(月) 19:13:28.37ID:KfNLI9D8M
>>412
いや、4人だろ。要件は大事よ
414デフォルトの名無しさん (ワッチョイ bfea-gp2z)
2017/06/26(月) 19:17:22.09ID:H4Gyz9lD0
短絡的に考えると私、一郎、二郎、三郎の4人になるが常識的に考えると「私」は自分自身のことになるので普通は除外する
4人と言っているのは相当日本語が不自由か頭が固すぎるかのどちらか
415デフォルトの名無しさん (ドコグロ MMdf-Stqb)
2017/06/26(月) 19:42:00.73ID:ErfyIPbgM
>>413
> スカイプで

> 私と、
> 一郎、二郎、三郎の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人と言ってるやつは結構頭やばいヤツだと思う
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人と認識するんじゃないかな

と、屁理屈をでっち上げてみたがどうだろう?
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#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
428デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/27(火) 01:16:37.97ID:GqKcgcUi0
>私と、一郎、二郎、三郎の3人とメッセージのやりとりをしているとします。

やりとりをしている対象は3人だろ


4人とかいってる奴は糖質で自分と脳内で会話してる基地外
429デフォルトの名無しさん (ワッチョイ 9711-uL3K)
2017/06/27(火) 01:21:24.57ID:HtLBJz6z0
>>428
助詞って知ってる?
430デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 02:22:35.77ID:D1caoPdja
>>406も頭悪いけど、反論してる連中もアホだね

>>395の言う3人とは「私」から見たやりとりの相手の人数のこと。
こう言えば>>406がいくらお馬鹿でも理解するだろうに、
無駄に喧嘩腰に容量を得ないことをいうから無駄にスレが荒れる。

そんな奴に限って俺は正義の味方みたいに思ってるから始末に負えないね
431デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/27(火) 05:48:51.40ID:Z+SbWLvNM
>>428
こんなにも態度のでかい質問者はなかなかレアだな
432デフォルトの名無しさん (ドコグロ MMdf-Stqb)
2017/06/27(火) 06:45:22.10ID:ebZ3rTVBM
>>430
> >>395の言う3人とは「私」から見たやりとりの相手の人数のこと。
みんなそこの解釈でもめてるのに上から目線でレベルの低い提案されても困るわ w
433デフォルトの名無しさん (ワントンキン 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:p7AYCZKIM
>>436
それはコストが高い
目的としては俺らと同じ世界に生きてたくないって認識であってるなら代替案は出せるよ
438デフォルトの名無しさん (ワントンキン 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以降で作ろうな。
それに相当する機能が最初から含まれてる
440デフォルトの名無しさん (ブーイモ MM3b-aomt)
2017/06/27(火) 13:55:12.80ID:thSLzROjM
AJAX Control Toolkitがどうというより、今時のWebはビューにサーバーサイドのフレームワークに合わせた仕掛けを入れるということ自体を一切しないよ
基本的にPHP的なプリミティブな作りにして必要に応じてJSON Web API+JavaScriptってのが今風
441デフォルトの名無しさん (ワントンキン MM7f-NIhq)
2017/06/27(火) 14:12:22.32ID:saHJxNU8M
笑われるようですが、VS2008の既存のWebアプリをVS2013に移植する作業をしています。

>>439
CalendarExtenderがツールの中に見当たらないようなので。
チャートとかは標準で入ってるようですが。

>>440
やっぱり変わってるのですね。
JSON Web APIですか。調べています。
442デフォルトの名無しさん (ワッチョイ b732-ZLad)
2017/06/27(火) 14:37:03.26ID:yJfi3v1W0
関数AでWebBrowser1にURL入れて
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;
};
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
448デフォルトの名無しさん (ブーイモ MM3b-aomt)
2017/06/27(火) 15:34:36.80ID:tqNYDV9DM
2chで効果的に回答をもらう方法に乗せられたみたいで癪だが、
頼むからWaitHandleを使ってくれ
449デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/27(火) 16:43:00.57ID:CA8TfY9qa
待機ハンドルってResetしたのと同一スレッドでも待機できたかな
それを言ったらSleep中のスレッドのイベントハンドラが呼び出されるかどうかも怪しいがw
450デフォルトの名無しさん (ワッチョイ 9f80-gp2z)
2017/06/27(火) 17:31:59.60ID:J5+LfTIy0
>>436
お前が全部書き込んだんだろw
451デフォルトの名無しさん (ワッチョイ b732-ZLad)
2017/06/27(火) 18:57:24.97ID:yJfi3v1W0
>>445
これスレッドをスリープしてるんでDocumentComplatedも止まってませんか?
デバッグかけてみたんですがsleep淡々と繰り返してるみたいなのですが
452デフォルトの名無しさん (ブーイモ 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
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
458デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/27(火) 22:44:41.75ID:9dRWF27nM
>>454
自覚してるなら何とかしろよwww
459デフォルトの名無しさん (ワッチョイ 9f19-q+YL)
2017/06/27(火) 23:07:32.13ID:GqKcgcUi0
>>455
バカ

私と、hogeとhageの二人で酒を飲みました


でも意味は通じる。
460デフォルトの名無しさん (ワンミングク MM7f-q/w5)
2017/06/27(火) 23:14:39.29ID:9pQu4/DRM
レガシーASP.NETマイグレは難しいよなぁ
Viewを捨て去りたいけどViewに密結合して切り離せないロジックが多すぎる
461デフォルトの名無しさん (ワキゲー MMdf-Jbg4)
2017/06/27(火) 23:47:38.24ID:9dRWF27nM
>>459
一考したら通じるけど曖昧で遠回りなんだよ
わざわざ考えなきゃならない言い回しをするのは文学だけで十分

複数人でプログラムを設計する時に大切な事は明確な意志疎通
誰もお前の思考は覗けない
462デフォルトの名無しさん (ワッチョイ 9fc4-sl6y)
2017/06/27(火) 23:54:14.76ID:ig32XTB80
アスペの思考なんかのぞかねーよカス
463デフォルトの名無しさん (ワッチョイ 9f66-LvKX)
2017/06/28(水) 00:02:01.25ID:P09sdn8I0
>>459
「私とあなた」を一人という人は先ず居りませんわ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:/mvunVzXa
なんか意味不明な規制やっと解除されたか

>>451
やっぱりイベント起らないよねw
たぶんApplication.DoEvents呼んでやれば起こると思うけど、なんか不格好だよね
468デフォルトの名無しさん (ワッチョイ d76e-aomt)
2017/06/28(水) 08:00:03.46ID:5KCPdjT60
MVCじゃない方のレガシーASP.NETってなんで普及してしまったんだろう
普通にPHP的な作り方の方が遥かにわかりやすいと思うけどな
HTMLのフォームのPOSTとかはホスト系で緑色の文字のAAでGUI作ってた時代の考え方と基本的に同じようなもんだから、
決してドカタ開発に馴染みのないスタイルってわけじゃないのに
469デフォルトの名無しさん (ワッチョイ 1f91-ZLad)
2017/06/28(水) 08:04:00.96ID:+bF+mAil0
>>460
レガシーじゃないasp.netって何だ?
470デフォルトの名無しさん (スップ Sd3f-uL3K)
2017/06/28(水) 08:14:33.61ID:S1GQbAFUd
>>468
Web formsのこと?Windows formsで飯食ってたやつらが手出しやすいようにってことじゃねーの?
471デフォルトの名無しさん (ワッチョイ 3769-WW2k)
2017/06/28(水) 08:14:44.38ID:w/2VCFQw0
>>468
そりゃお前webサービスがボタン一発コンパイルでできる超絶機能だし
phpは結構わかってないと動かせないよね
472デフォルトの名無しさん (アウアウアー 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プログラマとで、上手に分業できるいい言語だと思うけどなー
474デフォルトの名無しさん (アウアウカー Sa6b-yeEX)
2017/06/28(水) 11:51:02.56ID:BH39HJOwa
質問失礼します
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:P09sdn8I0
>>474
ポート確認用の専用タスクを作って、100ms毎にポートを確認し
変化があったらイベントを発行するのが良いんじゃないの?
477デフォルトの名無しさん (アウアウウー Sa9b-NIhq)
2017/06/28(水) 12:00:49.73ID:UL/dJT7Ra
ロジアナの仕事だろ
そんなん
478デフォルトの名無しさん (ブーイモ MM3b-aomt)
2017/06/28(水) 12:18:33.00ID:kl/WEkBuM
>>473
それはMVCの方だ
自動生成コードやインフラコードでHTMLかゲロまみれになるのが従来の方
479デフォルトの名無しさん (アウアウイー Sa0b-3gws)
2017/06/28(水) 12:37:27.33ID:7gqvDpUwa
>>474
質問が曖昧過ぎるけど、入力の周期とかデューティー比を監視したいってことなら、
GPIOの状態の取得方法(ボードの仕様)にもよるし要求される精度にもよるけど、
Windowsだけでは難しいと思った方がいいんじゃない?
480デフォルトの名無しさん (アウアウウー Sa9b-NIhq)
2017/06/28(水) 12:45:44.45ID:UL/dJT7Ra
windowsともかかれてないからあいまい
PC上でc#が動くリアルタイムOS使ってるかもしれない
481デフォルトの名無しさん (アウアウカー Sa6b-yeEX)
2017/06/28(水) 13:10:10.61ID:3p9zCna+a
>>474です
曖昧な質問ですみませんでした
まだ検討段階でWindows機のアプリケーションからの操作で外付けのマイコンの状態を簡易的にモニタリングしつつ処理をと考えてたのですが、例えばそういうことをするにはどうしたらいいのか参考までにお聞きしときたかったのです
>>476さんのような形になるのかなと考えてはいたのですがイベント発生の時間差で判定するのか、はたまたもっといい方法があるのか事前に知っておきたかった次第です
482デフォルトの名無しさん (ワッチョイ 9f80-gp2z)
2017/06/28(水) 13:24:26.37ID:QXyxvRuc0
最近のICEは、インターフェイス内にCPUが入ってて、
そいつが仲介してる。
インターフェイスからPC間はUSBシリアル通信で、
インターフェイスからマイコン間は低レベルシリアル通信をしてるな。
リセット信号でマイコンを止め、低レベルシリアル通信で、
中身をトレースし、インターフェイス内にいったんキャッシュし、
そいつをPCに送ってる感じだな。
483デフォルトの名無しさん (ワッチョイ f732-u7/v)
2017/06/28(水) 20:37:09.67ID:F1IECJZL0
>>481
WindowsはリアルタイムOSじゃないので、アプリでポートをポーリングしても、なんとなくの時間精度でしか監視出来ないよ。
一定周期でバッファにサンプリングしてくれるIOボードでも使えば良いんだろうけど。
484774ワット発電中さん (ワッチョイ bf4b-rlUu)
2017/06/28(水) 21:43:37.85ID:FyhUFKry0
「マイコンがシリアルポート互換のパルスを出し続ける」なら、
安く買える『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
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側からじゃわからんってだけじゃね?
490デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/06/29(木) 16:01:36.08ID:x/W/MEgba
>>487
複数のデバイスが全部同じ識別情報(VID, PID, iSerialNumber)を持ってたらそうなるね
491デフォルトの名無しさん (JP 0H92-9Mth)
2017/06/29(木) 16:02:47.89ID:YLVns9yBH
>>489
gpio付きだからそれは解決できる
Driver も複数デバイス握れるし
(プロセスは分けるけど)

何だろうか???
492デフォルトの名無しさん (ワッチョイ 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{
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:F1YaSrsh0
>>493
複数の非同期スレッドがそのスレッドAを叩くんじゃなくて
スレッドAが複数の非同期スレッドを訪ねて動くようにしろ
496デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/06/29(木) 21:44:23.57ID:OQ0Ch0kw0
queueに要求積んで
実行結果は他の何かに渡してもらうとか
(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の送信メソッドで
複数のスレッドからサーバーに送信をしたいのですが、おそらくその送信のタイミングが競合を起こしうまく動作してくれません。。
ロックオブジェクトを作ってロックかけてるつもりなんですがうまく機能してないのです
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か
503デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/06/29(木) 23:25:53.82ID:f7/aluE/a
>>501
ありがとうございます
出来ない理由は私の力不足によるものです
どういった実装になるのか検討がつきません
何か具体的なものありましたらよろしくお願いします

>>502
ありがとうございます
lockは出来ないのですか。。それは更に困りました
System.Threading.SemaphoreSlim
と書かれてるのを調べてみます
504デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/29(木) 23:49:55.45ID:F1YaSrsh0
>>503
マジかよ


複数非同期スレッド→単一スレッドA

変更後
複数非同期スレッド←単一スレッドA

って依存関係にすれば競合しないだろ
って言ってるんだけど
理解不能か?
505デフォルトの名無しさん (アウアウイー 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/
513デフォルトの名無しさん (ワッチョイ 421e-CicO)
2017/06/30(金) 07:09:05.81ID:z9Hs41t20
ちなみに世の中に出回っているFT232の大部分はニセモノなので、
"FT232 偽物"とかでググってみてくれ
514デフォルトの名無しさん (ドコグロ MM0a-zH8r)
2017/06/30(金) 07:41:44.96ID:VDhKv/wIM
>>508
マジで言ってるなら大バカ野郎過ぎる
対象のスレッドが増えたり減ったりする度にスレッドAに手を加えるとかあり得んわ
515デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 07:47:46.41ID:vkcMcAZ50
>>514
は?そんなの一度仕組み作っちゃえばしめーじゃん
お前はプログラム組んだことあるのか?
516デフォルトの名無しさん (ワッチョイ 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とかで代用では無く、エラー値の時は同じくエラー値が入る様にしたいです。
よろしくお願い致します。
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
ガッ
522517 (ワッチョイ c20d-lO1+)
2017/06/30(金) 12:07:15.26ID:arYqdS+00
>>519
直りました、ありがとうございます。
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だと解決しねーと思うけどな
短サイクルでデータを上げまくるような
プログラムだと十分に上げる隙間ができない限り
データが上げられないスレッドができてくる
根本的な解決方法は単一スレッド側から巡回することだろ
ま、偶然でも動きゃいいのよってんであれば別にこだわらないけどね
でも仕事でやりやがったら俺が監督してたら組み直し必須
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の調整でなんとかなりました
皆さんのアドバイス本当に助かりました
また別な問題が起こったらご教示下さい
528デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 14:22:21.77ID:vkcMcAZ50
>>525
あれ、これ状態返すんじゃなくて全部止まっちゃうやつだっけ?
こんなクソコード使うやつ周りにいないから勘違いしてた
論外だな
529デフォルトの名無しさん (ワッチョイ f106-k1q/)
2017/06/30(金) 14:36:21.80ID:nrnKInBX0
>偶然でも動きゃいいのよってんであれば
ロックで偶然とか意味不明wwwwwwww

ロックの目的わかってねぇのかよww

草生えるわ。
530デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 14:51:30.28ID:vkcMcAZ50
>>529
気になってやってみたけど
やっぱ順番保証されない上に止まっちゃうクソコードで無事死亡じゃん
531デフォルトの名無しさん (ワッチョイ f106-k1q/)
2017/06/30(金) 15:07:31.36ID:nrnKInBX0
>偶然でも動きゃいいのよってんであれば
ロックで偶然とか意味不明wwwwwwww

ロックの目的わかってねぇのかよww

草生えるわ。

>でも仕事でやりやがったら俺が監督してたら組み直し必須
これが仕事なら馬鹿な上にさらにかっこ悪く話を必死にそらそうとしてる
お前を他の人と交換必須
532デフォルトの名無しさん (ワッチョイ 4266-CicO)
2017/06/30(金) 15:39:34.88ID:Hr6XSLiS0
>わざわざ複数ある方から単一スレッドにアクセスする構造が悪いんじゃんよ
そもそもココが間違ってるんだよな
lock呼び出してもスレッドが変わるわけないのに・・・

lockで保護されるのは、単一スレッドじゃなくて単一資源だよ
533デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 15:49:27.63ID:vkcMcAZ50
>>531
でもlockもだめだよ
止まっちゃうじゃん
534デフォルトの名無しさん (ワッチョイ b1e2-mEA4)
2017/06/30(金) 15:53:11.15ID:k4vTF7VX0
質問者は解決したと言ってるのにくだらねえプライドのせいで引っ込みがつかない社会のゴミ
535デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/06/30(金) 15:57:08.81ID:vkcMcAZ50
>>534
いやでもやっぱり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は駄目だよ
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あがりのカスが紛れ込んだか
541デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/06/30(金) 20:45:03.11ID:4HtEPBqY0
似たようなことやったけどこれlockじゃ無理だから
何度も出ているSemaphoreかSemaphoreSlim使えってことで
542デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/06/30(金) 21:17:00.19ID:s5ngZ7Gk0
>>541
広義の意味でロックと書いたから、lockでもSemaphoreでもどっちでも良いけど。
lockじゃ無理ってどういうこと?await使ってるのなら確かに無理だけど。
543デフォルトの名無しさん (ブーイモ MMb6-0ipK)
2017/06/30(金) 21:25:36.03ID:2Da2vksVM
>>541
セマフォの資源数1の場合がlockなんだけど理解大丈夫か?
そしてこの場合資源数は1だよね
544デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/06/30(金) 21:31:01.26ID:4HtEPBqY0
>>542
最初は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:vkcMcAZ50
>>539
処理の順序を確定したい場合と
次のlockまでの時間が短いときにヤバそうな動作しそうに見えるけどね
549デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/06/30(金) 23:11:18.99ID:A0fyCJI00
ロックロックって喪前らは矢沢か!!!!


(´・ω・`)b
550デフォルトの名無しさん (ワッチョイ 6143-MtvO)
2017/07/01(土) 01:47:44.04ID:soqTvVBx0
>単一スレッドから各スレッドに巡回
と言ってる人に質問だけど、
その場合、どうやって巡回対象のスレッドを特定するの?

…やっぱ、非同期スレッドから Queue にやるべき処理を入れてもらうんじゃないの…?

巡回対象となるスレッドがあらかじめ決まってるなら、そりゃ、それに合わせて何とでもできるだろうけど…
551デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/01(土) 02:10:53.25ID:1nrcRWj9a
まだやってるんかーい

想像だけど、巡回の彼は、単にあるメソッドAが同時に複数のスレッドで
実行されるのを禁止するだけでは足りなくて、各スレッドがメソッドAを実行する
順番を制御する必要があると「忖度」したんだと思うけど、質問者はそんなこと
どこにも書いてない。

もちろん質問者の本当の要件がそうである可能性は否定できないが、
質問の文面上にはそんなこと書いてない
552デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 07:33:43.70ID:41xGfxtKM
そもそも「他のスレッドを巡回」という表現がよくないね
これはスレッドが他の複数のスレッドを直接管理していないと出てこない表現だ
そんな雑なコードを書いてはいけない
スレッドは他のスレッドのことを知らなくても動作するように書くこと
553デフォルトの名無しさん (ワッチョイ 4211-zH8r)
2017/07/01(土) 07:58:29.50ID:qXTa/p8N0
>>551
逆でしょ
> 単にあるメソッドAが同時に複数のスレッドで
> 実行されるのを禁止するだけ
しか考えてなくて>>550も指摘してるけどメソッドAの実行タイミングを考えてない
プログラムの構造も>>514, >>552が指摘してる通りメンテが面倒になるし
554デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:05:20.30ID:3TPEFdGE0
普通に
List<Unko>でいいじゃん
駄目なの?
555デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:25:07.47ID:tqv04I/40
>>554
巡回君が言ってるようにlockの取得順が問題になるような極端な状況だと間にバッファを用意したところでどうせ処理しきれない
じきにOutOfMemoryを起こす
556デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:27:49.75ID:3TPEFdGE0
>>555
Unko1つでスレッド1つだけど
そんなにたくさん作るの?
557デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:30:44.27ID:tqv04I/40
>>556
だったらロックでいいだろと言ってんの
558デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:33:11.16ID:3TPEFdGE0
>>557
それは別の話とした時
List<Unko>問題起きないよね?
559デフォルトの名無しさん (ワッチョイ 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つしか処理を要求できないからスレッド内でリエントラントにならないし
一つだけ大量の処理を要求するスレッドがあると滞るよ?
561デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:41:16.83ID:3TPEFdGE0
>>560
それはUnkoの中身の話だよね
仕組みとしてはこれでいいっしょ?
562デフォルトの名無しさん (JP 0H92-9Mth)
2017/07/01(土) 08:42:02.17ID:cQ2ajDdZH
queueなのか
stackなのか
プライオリティ付きなのか
ラウンドロビンなのか


さぁどれ?
563デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:43:40.84ID:tqv04I/40
>>561
良くないよ
スレッドごとに分ける積極的理由がない
だったらわざわざ面倒な構造を作るよりスレッドに関係なく要求単位で共通のキューに放り込めばよい
564デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:45:52.42ID:3TPEFdGE0
>>563
今問題なのは動くかどうかだよ
実現できないなら議論してもしょうがないだろ
565デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/01(土) 08:49:05.51ID:tqv04I/40
>>564
だから「動かない」理由は560で既に示しただろう
566デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/01(土) 08:50:51.93ID:3TPEFdGE0
>>565
じゃあ議論する必要ないな
実現不可能でFA
567デフォルトの名無しさん (ワッチョイ 02c4-mEA4)
2017/07/01(土) 09:02:35.34ID:s5XdkdiI0
今日も真っ赤にしてやがるのかキチガイの群め
568デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 09:22:06.32ID:41xGfxtKM
2ちゃんはコードを書きにくいからディスカッションが捗らないね
運営は古臭いシステムを捨てて早くMarkdownをサポートしなよ
569デフォルトの名無しさん (ワッチョイ c9aa-a07H)
2017/07/01(土) 09:26:03.94ID:7kq0BhxN0
C#(.Net4.5)でSQL Serverに読み書きしたいんですがDataSet?というのが便利なのでしょうか?
DataGridViewやテキストボックス、チェックボックス等でSQL serverを更新・追加したいのですがやったことがないのでどれがいいでしょうか?
もちろん運用テストはしっかりするつもりです
570デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/01(土) 09:43:21.59ID:41xGfxtKM
>>569
DataSetは古いのでもう誰も使ってません
571デフォルトの名無しさん (ブーイモ MM62-0ipK)
2017/07/01(土) 09:46:50.49ID:QOMwfPgTM
>>569
WinFormsは10年以上前から時が止まってるからそれでいいよ
Webに乗り換えるんならEFとかもっと今風の新しいのも選択肢に入るけど
572デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/01(土) 10:19:32.35ID:RqnO9maa0
>>569
今やるならdapperかEFかね
未だにDataSetの呪縛に囚われ続けて辛い
573デフォルトの名無しさん (ワッチョイ 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:3RWjHzVk0
>>569
Datasetは便利だから使ったほうがいい
VisualC#2015パーフェクトマスターにも載っているくらいだから
けっして古くないんだよ。
577デフォルトの名無しさん (ワッチョイ 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:7kq0BhxN0
返信ありがとうございます
とりあえずDataset使ってみたいと思います

>>578
VS2010使ってるからです
585デフォルトの名無しさん (ワッチョイ 864a-zg54)
2017/07/01(土) 22:24:38.81ID:E3dk6Acc0
お前ら、何使ってるの?
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
ふらっと C#,C♯,C#(初心者用) Part129 [無断転載禁止]©2ch.net	YouTube動画>1本 ->画像>3枚
このボタンを押したとき画像がunko1からunko2に切り替えるにはどうしたら良いでしょうか?
ネット上の画像を呼び出す(切り替える)ことはできるのですがデータ内の相対パス絶対パスがいまいちよくわからなくて困ってます
588デフォルトの名無しさん (ワッチョイ 2e61-CicO)
2017/07/02(日) 08:57:33.81ID:CReiXwHD0
>>587
ネット上の参照はやったことはないけどunko1の同じ形式のパスを適用したらいいだけでは
「データ内の」がいまいちわからないがパスが相対パスならば補完して絶対パスにするとか
ローカルでの参照ならそうする
589デフォルトの名無しさん (ワッチョイ c123-wjSU)
2017/07/02(日) 09:13:50.60ID:IJgSt27L0
出来ました!
ありがとうございます!
590デフォルトの名無しさん (ワッチョイ c123-wjSU)
2017/07/02(日) 10:04:30.01ID:IJgSt27L0
出来てなかった
絶対パスだと別のパソコンに移したりしたときとかに画像が読み込まれん
ふらっと C#,C♯,C#(初心者用) Part129 [無断転載禁止]©2ch.net	YouTube動画>1本 ->画像>3枚
これをこうすればできると思ったけどこれだとエラーを吐いてしまいます
なぜでしょうか?
当方C#どころかパス云々についての知識もさっぱりの初心者なので・・・
591デフォルトの名無しさん (ブーイモ MM62-0ipK)
2017/07/02(日) 10:29:02.34ID:0JAKzAeZM
>>590
まずはC#の入門書とVC#のチュートリアル本を一通り終えてきたら?
悪いけどそんなレベルでいちいち2chで質問してたら何年経っても勉強終わらんぞ
592デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/02(日) 10:30:38.54ID:qQa06oVOM
というか2ちゃんは勉強や議論には不向き
Markdownも使えないゴミシステムなんて今や罵り合いぐらいにしか使えん
593デフォルトの名無しさん (アウアウカー Sae9-nIbb)
2017/07/02(日) 10:44:40.55ID:BaqIvPNda
C#を勉強し始めた初心者ですが質問させて下さい
LIST<T>に、あるクラスのインスタンスを追加していって、必要なくなったらRemoveしてるのですが、このRemoveしたインスタンスの破棄処理は明示的に行ったほうがいいのでしょうか
その場合どういう風にすればいいのか教えていただけないでしょうか
594デフォルトの名無しさん (アウアウウー Sa25-nP2k)
2017/07/02(日) 10:49:58.90ID:uZLVxHTaa
何を突っ込んでるかによる
PCのリソースを独占したり圧迫するようなものなら破棄作業したほうがいい
でもよくあるデータだけの小さなクラスのインスタンスはほっとけばいい
595デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/07/02(日) 11:13:27.07ID:EblgvX+p0
>>593
list
596デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/02(日) 11:13:46.07ID:qQa06oVOM
>>593
状況次第だよ
インスタンスの所有者(破棄の責任者)はそのリストなのか否か
要素のクラスがIDisposableを実装しているか否か
597デフォルトの名無しさん (ワッチョイ c179-9Mth)
2017/07/02(日) 11:16:06.46ID:EblgvX+p0
>>593
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呼ぶメソッドでも追加するとか
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:vHDN06g30
>>601
すでに死んでいるから
普段はガベコレが動くまで偶然生きていて
強制ガベコレを動かすとすぐ削除されるから死ぬ
603デフォルトの名無しさん (ワッチョイ d2b1-wjSU)
2017/07/02(日) 15:34:00.52ID:KsQTCCxQ0
rubyの拡張を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されてないかのように使ったりして死んでる
後中身の見えないクラスで実はしんでんすよその状態的な

後はマルチスレッド関係で削除してんのに別スレッドではそうでないつもりで動いてたり
強制ガベコレかけるとゾンビも速攻であの世行くし不具合発見にいい
こういうタイミングが微妙なコード書くやつのソースって落ちやすい
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 の方が素直な気がしたんだけど。まあいいけど。
609デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/02(日) 16:50:21.19ID:8cy4cqEH0
>>608
usingの複数定義が気持ち悪いと言って頑なにfinalyでdisposeする人居たわ
610デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 16:51:54.15ID:vHDN06g30
>>607
開放されるかどうかは作り手の努力次第だけどな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:E8kEd3o60
>>610
そんなの using 関係ないだろ
自分のなけなしの知識全開かよ w
616デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/02(日) 17:43:52.22ID:vHDN06g30
>>615
でもdisposeなら解放されるんでしょ?
617デフォルトの名無しさん (ワッチョイ 4211-zH8r)
2017/07/02(日) 18:49:49.73ID:E8kEd3o60
>>616
はあ?
using って単なるシンタックスシュガーだぞ
618デフォルトの名無しさん (ワッチョイ 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についてはあまり勉強していないので調べてみたいと思います
その他アドバイスありましたらよろしくお願いします
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関係ないし
> 後はマルチスレッド関係で削除してんのに別スレッドではそうでないつもりで動いてたり
別スレッドだろうが参照もってりゃ回収されないし
どう見てもおかしい人だから相手しなくていいと思うよ
622デフォルトの名無しさん (ワッチョイ b18c-mEA4)
2017/07/03(月) 09:45:56.42ID:aLVc3s/F0
数日前からいるガイジだな
623デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 10:16:25.45ID:5B3ucqRJ0
>>621
強制ガベコレすると落ちるけどしないと落ちないときあるじゃん
ってまあヘンテコなコード書いてないとお目にかかれないけどさ
そんなことないと主張するなら別にそれでもいいよ
俺は困らないし
624デフォルトの名無しさん (ワッチョイ 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を太字にして、
閉じる時に元に戻す。
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付属の規定フォントで無いなら、規定フォントにする。
_規定フォントなら、文字を大きくする。
_次に太字にする。

メモ帳の開く場所をディスプレイ中央に設定する。

やりたい事はこんな感じです。
631デフォルトの名無しさん (ワンミングク MM92-pT0u)
2017/07/03(月) 16:05:48.40ID:c1Vi+KHiM
>>601
Zombie
632デフォルトの名無しさん (ワッチョイ 2e61-CicO)
2017/07/03(月) 17:26:05.31ID:KvFRlLU90
>>630
アクティブフォルダを検知する手段が見当つかないけど
それをドロップされたフォルダ(指定されたパス)で実行するに変更ならすぐできるんじゃない?
1.指定されたディレクトリに*.txtがあるか調べる
2.見つかればメモ帳の設定をバックアップして変更>>628
3.メモ帳に*.txtを順次渡して起動
4.メモ帳が全て終了したら設定を元に戻して終了
633625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 17:40:07.28ID:SOE5pMOT0
>>632
アクティブフォルダを検知する方法はボクも知らないです。

タスクバーに存在するフォルダがアイドル常態かどうかを調べて、
アクティブなら実行させる とか考えました。

一日、数百回ほど、
フォルダを開くのに対してドロップ&ドラッグは流石に勘弁して下さい。
634デフォルトの名無しさん (ワッチョイ 2e61-CicO)
2017/07/03(月) 17:43:31.54ID:KvFRlLU90
>>633
じゃあフォルダ群を最初に全部登録して選択したもので実行するとか
とりあえず>>632の部分は必要になるから答えを待ちながら作った方がいいんじゃないかな
635デフォルトの名無しさん (ワッチョイ 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日数百回フォルダ移動してる暇な奴ってすでに俺には聞き込み調査か粛清が必要なレベル
プログラムを組むんじゃなくて
ローキックの連打で解決できそうな臭いしてる
639625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:14:18.18ID:SOE5pMOT0
皆さん、いろんな意見をありがとうございます。

(笑わないで聞いて下さい。)
毎回落としてくる、エロ画像がボクの宝物なので、
大事にパスワードを設定してます。

開く時にパスワードを書いたメモファイルを何時も開き忘れるので、
フォルダを開いたと同時に表示して欲しいんです。

>>638
画像によっては属性が夢の様に、いっぱい詰まってるので毎回、移動させてます。
640デフォルトの名無しさん (ワッチョイ 4266-CicO)
2017/07/03(月) 18:16:39.30ID:T3cHTlj+0
エクスプローラーもメモ帳も自分で作ればいいだけに見えるんだが・・・
それらの部品なら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/hKrM
>>623
> 強制ガベコレすると落ちるけどしないと落ちないときあるじゃん
>>605みたいなケースだろ
そうじゃなくて普通に使っててそんなことになると言うならサンプルコードあげてみそ
644652 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:34:05.18ID:SOE5pMOT0
>>642
メモ帳が必要な理由としては、コメント書いてるんです。
「今日も可愛いね」「その猫耳が似合ってるよ。」とか書き込んで、
後から同じファイルを開いた時に追加してコメント入れてるんので、メモ帳を起動させたいのです。
645625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:35:12.16ID:SOE5pMOT0
間違えました。
652では無く、
625でした。
646625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 18:46:56.71ID:SOE5pMOT0
現状では634の方法で行きたいと思います。
一部を保留にしながら、632にを参考に進めて行きたいと思います。
647625 (ワッチョイ 2e96-naxa)
2017/07/03(月) 20:33:26.13ID:SOE5pMOT0
レジストリを触りたくないので、メモ帳を起動後にフォントと文字サイズを変更
しようと思ってますが、やり方が見つかりません。

ファイル内に.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にしなくてもいけると言われたんだが、どうやるのか見当つかない・・・
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から呼び出す
651デフォルトの名無しさん (ブーイモ MM05-0ipK)
2017/07/03(月) 21:15:30.82ID:c43/+qrTM
>>648
AとBを一つのDLLにまとめる
どうせ切り離せないなら分ける意味ないでしょ
652デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/03(月) 21:19:23.58ID:o8LomREh0
>>649
メモ帳にフォントと文字サイズの指定はあるぞ。
表示される文章全体に対してだが。
653デフォルトの名無しさん (アウアウエー 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:XFlo9HmTa
>>648
そうするしかない、というよりそうすべきだね。
俺は共通のenum一つのために別のdllに分けたことがありますw
656デフォルトの名無しさん (ワッチョイ c1c0-CicO)
2017/07/03(月) 21:34:16.70ID:i2Oq28ow0
>>650>>651>>655
やっぱり今のままじゃどうやっても無理だよね、サンクス
657デフォルトの名無しさん (ワンミングク 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つだろ
そこへ来てドキュメントを書いてからリファクタリングなどというのは全く見当違いの馬鹿馬鹿しい行為なんだよ

ドキュメントを作るのはリファクタリングで整理されてドキュメント化可能な状態になってから
あるいは探索的リファクタリングで得た知識を忘れないようにドキュメント化する
なんにせよコードを弄った後の話だ

こんなこと普段からコードを書いてリファクタリングしてれば知識がなくとも体感的にわかることなんだけどね
この業界はコードを書かない自称エンジニアさんばかりでため息が出るね
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しないとソースコード触らせてもらえないとこあんぞ
でも一度はそういうところに行くべきだと思う
きっと違った世界が見えるはずだ
666デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/03(月) 22:50:03.47ID:XFlo9HmTa
どうでもいいよ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
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:5B3ucqRJ0
>>674
いやぁさすがにそれは詭弁にしか聞こえない
だってお前のは材料数も期間もなんもでねーじゃん
ただ単にパズルが解けるまで遊んでるだけで最悪なんの成果もないわけじゃん
679デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/03(月) 23:51:24.33ID:+vluAADOM
>>676
世の中の多くの設計書が手続き(命令)的な書き方をされてますよね
年配のCOBOLエンジニアさんが書く設計書などがまさにそうですが
あれは設計書ではなかったと
680デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/03(月) 23:52:11.27ID:5B3ucqRJ0
だいたいリファクタリングとか言ってるけど
ここまで来てそんな問題起きちゃうのはただの設計ミスだよね?
設計書から完成させる文化の仕事受けて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+wIs0
>>679
COBOLの設計書ってコード設計という名のコーディングシートを除けばわりと宣言的だぞ
関数型に近い
684デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/04(火) 00:00:55.20ID:MbM3EkKwM
>>680
断言するけどそんな設計書はありません
就職すればわかるからそのあと出直してきな
685デフォルトの名無しさん (ワッチョイ 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:MbM3EkKwM
>>683
そうなのか
うちのCOBOL経験者はJavaのようなOOP言語でもコテコテの手続き的な設計書を書くよ
まあ人によるってことだろうね
688デフォルトの名無しさん (ワキゲー 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:WRdzRcYr0
>>692
エロ動画を見ればいいんじゃん?
大半のエロ画像なんてゴミになるよ
695デフォルトの名無しさん (ドコグロ 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は使えないし
698デフォルトの名無しさん (ワンミングク MM92-HpRm)
2017/07/04(火) 07:44:04.75ID:MbM3EkKwM
>>690
故障したテレビを外から眺めながら中身のことを妄想して原因はあーでもないこーでもないと議論するのが設計書文化

とりあえず安全確保はしておいてから、テレビを分解して内部構造を調べ、故障原因を理解し、原因を取り除いたり、より良い構造になるように努力するのがコーディング文化

どちらが有意義な仕事をして居るかは一目瞭然だね
699デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 08:55:00.74ID:WRdzRcYr0
>>698
でも仕組みわかってないんだろ?
触んなよw
700デフォルトの名無しさん (ワッチョイ c9aa-X7Kb)
2017/07/04(火) 10:52:33.77ID:ZQS+6DN80
>>698
技術力とちゃんとした設計書があれば、妄想じゃなくて起こりうる原因を挙げれるわけだが
妄想レベルの設計書しか書けないから有意義な仕事が出来ないんじゃない
701デフォルトの名無しさん (ラクッペ 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:lzeKWGAxM
>>702
競技プログラミングをC#でやりたいんですけど、C++と比べて難しいです…
難しいと思うのは、一番は全体像が多すぎて掴めないです
705デフォルトの名無しさん (ブーイモ MMed-PA5H)
2017/07/04(火) 19:35:23.49ID:i4/Vnl6JM
>>704
競技プログラミングなら、C++でいいんじゃ……
706デフォルトの名無しさん (ドコグロ MMf5-HpRm)
2017/07/04(火) 19:41:30.05ID:lu0GxyOqM
全体像が多すぎて掴めないってなにさ。競技プログラミング向きではないとおもうが。
707デフォルトの名無しさん (ラクッペ MMe1-zrjb)
2017/07/04(火) 19:42:09.30ID:lzeKWGAxM
>>703
昔はゲーム作ってました
今はunityでゲーム作ろうと思ってるんですけど、他のこともやってみようかな?って感じです
>>705
C#で書いてた人がかっこいいと思ったので…
708デフォルトの名無しさん (ラクッペ MMe1-zrjb)
2017/07/04(火) 19:47:44.39ID:lzeKWGAxM
>>706
自分でもわからないです
まだ触り始めたばっかだから色々作ることにします…
709デフォルトの名無しさん (アウアウウー 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とかの「お客さん向け」設計を真似してプロパティを大量に作りがち
次第に整合性を重視するようになると自然にプロパティは減っていく
713デフォルトの名無しさん (ワッチョイ 6143-MtvO)
2017/07/04(火) 22:20:04.96ID:2R49bdwT0
自然にプロパティが減ってく人でも皆無にはならない程度には便利だということ
714デフォルトの名無しさん (ワッチョイ c532-LTry)
2017/07/04(火) 22:22:09.64ID:g265ht6F0
>>712
良く分からん。
整合性を重視するってどういうこと。
715デフォルトの名無しさん (ワッチョイ 017f-wjSU)
2017/07/04(火) 22:27:37.54ID:AKPIjSm80
お客さん向け設計ってのもわかるようなわからんような。
716デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/04(火) 22:37:51.95ID:vts0HE+ua
自分だけが気づいた何かがあると思いたいお年頃なんでしょう
ネットde真実の一種だねw
717デフォルトの名無しさん (ブーイモ MMed-PA5H)
2017/07/04(火) 23:06:36.69ID:i4/Vnl6JM
>>707
たまに競技プログラミングやるけど、スラスラC++書ける人格好良いと思うなぁ。

格好良さはさておき、C#で難しいとこってなんだろ? デリゲート型とか?
718デフォルトの名無しさん (ワッチョイ 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の前だけかよって?
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+ua
>>723
語るに落ちてるじゃんw

要するに、それは上手にカプセル化して安全で使いやすいブラックボックスを作りましょうってことであって、
プロパティに限った話じゃない
726デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 23:37:40.88ID:WRdzRcYr0
お客さんは開発者だろ?
マイクロソフトが開発者向けに用意したコントロールと
うちらが仕事で仕様を満たすために作るものとは手間やクオリティが全然違うってことだろ
727デフォルトの名無しさん (ワッチョイ c16e-0ipK)
2017/07/04(火) 23:39:13.52ID:IVSy+wIs0
>>725
その通り。
特にプロパティは初心者が不必要に公開してしまう傾向がある、ということね
728デフォルトの名無しさん (ワッチョイ cd69-OXoP)
2017/07/04(火) 23:40:18.13ID:WRdzRcYr0
じゃあ誰かに公開して誰かに使わせる予定あるのかよ?
って言ったらほとんどないんじゃん?的な?
感じで代弁してみた
729デフォルトの名無しさん (ワッチョイ 2d6f-wjSU)
2017/07/04(火) 23:54:47.56ID:U+lkwqtt0
>>725
そんな傾向あるかね?
自動プロパティ限定の話ならわかる気もするけど
730デフォルトの名無しさん (アウアウイー Sa31-aC11)
2017/07/04(火) 23:55:16.97ID:vts0HE+ua
そういう話なら、初心者は何でもpublicにしがちだけど慣れてくると
適切なアクセス修飾子を使うようになる、とか言わなきゃ。

でもこれってそんな気張って言うような話じゃなくて、初歩の初歩の話だよね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:IuExXpbW0


これやってるんですけど乱数入れると2行目のレベルの数字がバグってしまいます
原因が全くわかりません
助けてください
736デフォルトの名無しさん (アウアウイー 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文字以下だと文字がバグりました
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
745デフォルトの名無しさん (ワッチョイ ffb3-O3UY)
2017/07/06(木) 09:19:32.16ID:9B2MU8kU0
webbrowserでダイアログボックスを開いて操作することってできるんでしょうか?
たとえば画像アップロードサイトでファイルをアップロードするために「ファイルを選択」ボタンを押すと
ファイル選択画面になりますが、ここにファイル名を自動で入力して自動で「開く」ボタンを押したいと。

外部のブラウザならウィンドウハンドルを取得してそこに投げてやればいいのはわかるのですが、
webbrowserでやろうとして失敗しました。
746デフォルトの名無しさん (ワッチョイ 9f66-rvkC)
2017/07/06(木) 09:36:10.51ID:SJTPfom00
>>745
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 になってしまう。。。
748デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/06(木) 15:50:14.08ID:R3A9km6A0
× System.Web.UI.WebControls.ListControl 型を類推してほしいのだが
○ 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としか扱えない
751デフォルトの名無しさん (ドコグロ MM8b-jxDt)
2017/07/06(木) 16:10:25.20ID:j+3WJv+ZM
msdnみた。
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/ag0
>>747
デキモシナイコードカイテンジャネー
( ‘д‘⊂彡☆))Д´) パーン
( ‘д‘⊂彡☆))Д´) パーン
( ‘д‘⊂彡☆))Д´) パーン
754デフォルトの名無しさん (ワッチョイ ffb3-O3UY)
2017/07/06(木) 19:25:03.65ID:9B2MU8kU0
>>746
そのやり方自体はテキストベースではやったことがあるので使い方はわかりますが、ファイルを添付したい場合にどうしたらいいか
知らなかったのでウィンドウ操作のほうでやってみました。
ウィンドウ操作の方法もご存知でしたら教えてください。
755デフォルトの名無しさん (ブーイモ MMfb-Uxer)
2017/07/06(木) 23:14:22.57ID:rKvRSNC9M
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
757デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/06(木) 23:52:16.07ID:M4nTNHGha
こういう風ってどういう風だよww
758デフォルトの名無しさん (ワッチョイ b732-oOTD)
2017/07/07(金) 00:03:47.18ID:uaUrbh0r0
>>755
それじゃ型を推論出来ない。
var piyo = new [] { 1, 2, 3 };
みたいに初期化子込みなら型を省略出来る。
759デフォルトの名無しさん (ワッチョイ 571c-7rrK)
2017/07/07(金) 00:28:42.12ID:5tYOHdE20
>>754
スレッドを起動する
windowを監視してファイル選択ダイアログを見つける
ダイアログを操作する
760デフォルトの名無しさん (ワッチョイ 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ボタン要るね。
763デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 07:16:00.55ID:Vo0hmpPS0
型を定義できないって不便だと思うがな
764デフォルトの名無しさん (オッペケ Srcb-nSBM)
2017/07/07(金) 08:13:32.94ID:gXsXTAypr
>>520
C#だとぬるりかあぬるだな
あぬるなんて書いたらガッでなく
アッーって書かれるのか
765デフォルトの名無しさん (ドコグロ 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に判定してくれるの?
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:SZgf6Ov20
>>770
何回目だよこの話
面白くねえんだよこのブタ野郎
今すぐ死ね
772デフォルトの名無しさん (スップ 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>();

という時にしか使ってないな。
774デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 10:22:52.10ID:Vo0hmpPS0
>>771
とうとう会社で持論を展開してとっちめられちゃったの?
だから2ちゃんねるの常識をリアルに持ってっちゃ駄目って言ったのに
775デフォルトの名無しさん (ワッチョイ 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/cwa
>>769
出来ないん?
型が確定するまでだから、そんな深くまで見なくて良いと思うんだが。
関数型言語の真似って手続き型言語だとそんな難しいんか。
778デフォルトの名無しさん (ワキゲー 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;
って書きなさいよ
780デフォルトの名無しさん (ドコグロ MMdf-d65a)
2017/07/07(金) 12:24:56.38ID:XSZI/EScM
>>770
そりゃバカが使えばどんな機能でもバグは増えるわな w
C# についていけないなら止めたら?
781デフォルトの名無しさん (ブーイモ MMbf-1B52)
2017/07/07(金) 12:26:56.17ID:Q2kSZF88M
数値リテラルが書かれた後にpythonの話どうぞ↓
782デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/07(金) 12:41:52.18ID:SENaJwbTM
>>781
ようこそ!
ここは C# のスレです。
783デフォルトの名無しさん (ワッチョイ 173a-VbWY)
2017/07/07(金) 13:00:31.32ID:oeznL6ez0
>>774
はあ?死ねって言ったんだよ?
意味分かりますか?
さっさと中央線に飛び込めクソカス
784デフォルトの名無しさん (ワッチョイ ffb3-O3UY)
2017/07/07(金) 13:06:55.37ID:1gWkujGM0
>>759
ありがとうございます。
やってみます
785デフォルトの名無しさん (スププ Sdbf-lHvp)
2017/07/07(金) 13:14:51.13ID:4tey7BLBd
>>783
通報しますた
786デフォルトの名無しさん (ワッチョイ f7e4-iVv1)
2017/07/07(金) 14:00:45.31ID:SiIRctva0
>>777
varで宣言した変数に

数値と文字列を代入してたら
あるいは、実数と整数を代入してたら
ベースクラスと派生クラスと代入してたら

どっちが正しいのかどうやって判断するの?

結局どうやって判断しても、それがコードの品質にも
生産性にも寄与しないって判断なんじゃないの
787デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 14:14:59.32ID:9lQTb6dz0
>>786
この話題の言い出しっぺで恐縮だが
var と VB の Variant 型と混同してないか?
宣言だけじゃコンパイル通らないよ
定義した行で型が決定される

var a;   ←コンパイルエラー

var a = 1;  // OK
var a = "1";  // OK

var a = new ペースクラス();  // OK
var a = new 派生クラス();   // OK


>>766 な俺が言うのもナンだが
var a; だけで通ると思い込んでいての発言としか思えない。
788デフォルトの名無しさん (アウアウカー Sa2b-P7Iq)
2017/07/07(金) 14:35:08.74ID:N5kyklD6a
ほんとにお前が言うのかだなww

>>766で宣言以外の場所から型推論すると思い込んでいる誰かさんがいると思って
>>786はそれはできないしできても混乱のもとだと説明してあげてるんだろ
789デフォルトの名無しさん (ワッチョイ 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;だと正常に動く言語ってもはやわかりにくいだけじゃない?
791デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 16:26:40.00ID:9lQTb6dz0
制限時は小さい値だけど、実際にはLongまで使っちゃうよ、って場合に
バグの原因になると思うけど、c++ でも int に毛嫌い感じていた自分としては
全く受け入れられないほどでもない。

まぁ最初に書いたように、var を積極的に使うのはクラス生成時くらいだが
792デフォルトの名無しさん (ワッチョイ f7e4-iVv1)
2017/07/07(金) 16:46:34.06ID:SiIRctva0
varを使う最大の理由は、それしか匿名型を宣言できないから

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)();

ってシンプルに定義&宣言できたわけで
794デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/07(金) 17:08:50.09ID:Vo0hmpPS0
>>793
別にnewじゃないときもあるし
795デフォルトの名無しさん (ワッチョイ 1f91-KuRC)
2017/07/07(金) 17:14:05.56ID:9lQTb6dz0
System.Collection.Generic.List<String> a;

a = new();

みたいな記述を未来のC#が許してくれると便利なんだがな
796デフォルトの名無しさん (スップ Sdbf-1ba3)
2017/07/07(金) 17:18:03.95ID:PTSkr6xOd
>>786
var知らんだろお前
797デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/07(金) 18:10:03.94ID:uxSF98L50
スカイプを使っていますが、
送ったメッセージが時間しか表示されません。

2017年7月7日 18:10

みたいなここまで時間を表示させたいのですが
何か方法はありますか?
798デフォルトの名無しさん (エムゾネ FFbf-R1hf)
2017/07/07(金) 18:13:24.15ID:/0QWkrJMF
>>797
それは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:WzcYN8gwM
>>795
右辺か左辺かどちらかでよい。
だから、左辺での推論は不要。
802デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/07(金) 19:08:02.66ID:SENaJwbTM
>>800
そうか
関係ないと結論づけたがらもう来るなよ
803デフォルトの名無しさん (ドコグロ MMdf-jxDt)
2017/07/07(金) 19:25:06.02ID:WzcYN8gwM
c# asp.net mvc でアプリを作っていますが、
アプリケーションのバージョンってどこに持たせますか?

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
805デフォルトの名無しさん (ブーイモ MMbf-4VhL)
2017/07/07(金) 20:28:27.40ID:ZSQ0qsfGM
>>803
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に決まるからだろうけど、
実体は推論っていうより重複する型指定が省略できるってだけの話
807デフォルトの名無しさん (ドコグロ MMdf-jxDt)
2017/07/07(金) 21:19:06.08ID:WzcYN8gwM
>>792
適切に処理を組めばスコープを短くできる。
その短いスコープでわざわざ型をご丁寧に指定することもないと思うけど。
808デフォルトの名無しさん (ワッチョイ 5711-QdYR)
2017/07/07(金) 22:10:15.14ID:hIjTIVzv0
>>803
GitVersionとCakeの組み合わせが最強
809デフォルトの名無しさん (ワッチョイ f7e4-iVv1)
2017/07/07(金) 23:11:26.49ID:SiIRctva0
>>807
まあそれはその通りだ
あの本はLINQのための本だから、多少言いすぎ感はある

ただ、匿名型の宣言はvarでしかできないってのと
やりすぎるとプログラムの見通しが悪くなる
って点はまあ気に留めといて良いんじゃね
810デフォルトの名無しさん (ワッチョイ 9f11-d65a)
2017/07/08(土) 10:53:59.63ID:H/yQ/C3x0
>>806
> 矛盾が起こらない一番狭い型Hogeに決まるからだろうけど、
矛盾?
お前が推論と言う言葉の語感に騙されてるんじゃね?
単に new Hoge() の戻り値の型にしてるだけだぞ
811デフォルトの名無しさん (ドコグロ 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#も勉強を中断中だからいろいろ的を得てないかもしれないけど・・・
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コメントつけて静的型付け同然にしちゃう
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とか色々絡んでパイプがつまるのか?よくわからん
827デフォルトの名無しさん (ワッチョイ 7f4c-KuRC)
2017/07/09(日) 22:42:35.74ID:H6/RuZ0J0
{"price":{"apple":"100","orange":"50","grape":"80"}}
こういう形式のjsonをC#でデシリアライズしたいんですが、コントラクトはどう書けばいいんでしょうか?
果物の数と名前は不特定です。
828デフォルトの名無しさん (ワッチョイ 976e-4VhL)
2017/07/09(日) 22:59:54.75ID:MzxM8ASX0
>>827
JSON扱うならJSON.NETをMSも推奨してるよ
単にDictionary<string, string>型のpriceプロパティにするだけ
829デフォルトの名無しさん (ワッチョイ 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
831デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/10(月) 19:06:29.55ID:QQHtP4rc0
既にあるのに


C#でテトリスなんて作る必要ある?
832デフォルトの名無しさん (アウアウカー Sa2b-P7Iq)
2017/07/10(月) 19:34:24.67ID:O/cYMYfea
>>830
自分で紙にでも書いてみりゃわかるが単に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はプロキシ通さない方法ってないですかね?
837デフォルトの名無しさん (ワッチョイ 7732-KuRC)
2017/07/11(火) 00:44:10.74ID:9LvcNct10
すいません、自己解決しました。
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作るなと難癖付けてるのと同じ位無意味。
テトリスならプログラミング的には割と単純だし、練習の題材としては悪くないだろう。
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メソッドの構文糖だけどな
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, ・・・)
って風に共通化させざるを得ない
848デフォルトの名無しさん (ワキゲー MMdf-R1hf)
2017/07/11(火) 12:39:25.35ID:w51PVrvpM
>>843も言ってくれてるけど拡張メソッドは所詮ただのstaticメソッド
同じような感じでプロパティってなるとどこからでも参照できる単一の状態となる

プロパティの存在意義を考えたらstaticな状態はとっても危険
849デフォルトの名無しさん (アウアウイー Sacb-G8QH)
2017/07/11(火) 12:46:19.28ID:t4lUkhAUa
第一引数にthisを取ってるんですが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って書きたいとか、
要するにプロパティを追加したいケースなんて普通にコード書いてれば山ほどあるよ。

例に挙げたのはゲッターだけだけどセッター込みで欲しいケースもね。
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:w51PVrvpM
>>856
こんな匿名掲示板で指摘されたくらいでカッカすんなって
ここしか居場所がないのだったら仕方ないけどさ
859デフォルトの名無しさん (ワッチョイ 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 使ってるのがわかるのでしょうか?
861デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/11(火) 22:35:07.26ID:yF5c0Q2u0
vpn gateのグローバルipアドレスが固定なんだろ?
っていうかBot荒らしが多いから全部アク禁になってんじゃねーの?
862デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/11(火) 23:24:35.69ID:awT4MGi50
>>861
いや、IPは全部バラバラ


なのでどうやってはじいているのかわからない。
863デフォルトの名無しさん (ワッチョイ f769-LU+S)
2017/07/11(火) 23:37:08.42ID:yF5c0Q2u0
>>862
バラバラじゃないだろ
VPNサーバーのに変わるって書いてあるじゃん
864デフォルトの名無しさん (ワッチョイ 9779-ZZOI)
2017/07/12(水) 00:47:55.19ID:FFWGyTUP0
ワシの股間の拡張メソッドを
喪前らのライブラリに公開してやろうか!?!!



(´・ω・`)b
865デフォルトの名無しさん (スフッ Sdbf-lHvp)
2017/07/12(水) 07:02:36.50ID:lpNw3V5Vd
>>864
インポートエラーでるぞおい
866デフォルトの名無しさん (ワッチョイ 9f80-ay8l)
2017/07/12(水) 11:11:16.31ID:gJCzfoEB0
>>864
使えない…

いや、一生使うことがないライブラリだな
867デフォルトの名無しさん (ワッチョイ 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:YWvoGq9a0
>>759
返事遅くなりましたが、やってみたらあっさりできました。
ありがとうございました。
870デフォルトの名無しさん (ワッチョイ 9f19-zXdO)
2017/07/12(水) 15:53:27.29ID:gcxNWTIE0
>>863
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の似ている点、異なる点を教えていただけないでしょうか?
873デフォルトの名無しさん (ブーイモ MM5e-5eCk)
2017/07/14(金) 04:59:45.06ID:+GVaW66DM
C#はだいたいJavaの上位互換
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が使える
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
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行で済む
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:TBQIVSbVM
>>878
「関数って何ですか?」って質問を関数って単語を使わずに書き直してみてみな
関数のありがたさがわかる
889デフォルトの名無しさん (ワッチョイ 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だと思うんですが、
どう考えたらいいんですかね?
892デフォルトの名無しさん (ワッチョイ 321b-HOJV)
2017/07/15(土) 08:06:44.71ID:tXCHrVaZ0
あと上のサイトでTVのメンバ変数channelがprivateなので、触れないとか書かれてますが、
class TVそのものにChangeChannelメンバ関数を追加改変するならISwitchがあろうが無かろうが関係なく
channelを自由にいじくれるんですけど。
893デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 08:54:29.21ID:0zGsqKYGM
テレビそのものに書くって事は人はチャンネルを変えらんない
もしくは変えるために直接テレビを触らねばならない
そうしたときにラジオが出てきたらめんどくさいことになる

interfaceは受付窓口と同じ
駅、遊園地、ライブは内部でどんな処理をしてるかそれぞれ異なったとしても利用側はどこでも受付ってinterfaceに切符を渡せば望む結果を得られる

c#は実装側の書き方がabstractとinterfaceでほぼ同じなので慣れるしかないよ
それかここだけjavaで勉強するってのもあり
894デフォルトの名無しさん (ワッチョイ 321b-HOJV)
2017/07/15(土) 09:24:34.53ID:tXCHrVaZ0
ChngeChannel を public にしてしまえば。
あるいはアクセサを用意すればprivateメンバに誰でもアクセス可能かと思われますが?
インターフェースというならこういうアクセサのほうがずっとしっくりきます。
そもそもアクセサってインターフェースですよねwww

たとえば既製のクラスにインターフェースを追加したいときってどうすればいいんでしょうか?
よく既製のクラスを拡張するのに、基本クラスのコードには手をつけず、継承して、機能追加しますよね。
インターフェースにこういう発想は根本的に間違ってるのかな?
でも、上のテレビで、址から赤外線リモコンインターフェースを追加したいと、
そして、元のTVクラスのソースヘッダは触れないときはどーすればいいか?です。
895デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 09:35:28.99ID:IcmPd+odM
そしたら人が直接テレビを触らねばならない
人は必ず有効値を入れるとは限らない
故障の原因になり得る

触りたくないのであれば既存のクラスを継承してinterfaceを貼り付けた新しいクラスを作ればよい
896デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/15(土) 09:45:52.69ID:K6HEWwBua
そのサイトの例が悪いとしか言えない

ISwitchじゃなくてISwitchableとでも考えればいい

TVはスイッチを持っている!やTVはスイッチだ!
じゃなくてTVはチャンネルを切り替えられるぐらいのこと
897デフォルトの名無しさん (ワッチョイ e266-1CH6)
2017/07/15(土) 10:10:22.92ID:uJRk81Er0
>>894
インターフェイスは継承関係のないクラスたちを、同じ手続きで操作する為の物なので…
そのサイトの例だと対象が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の内容知った時の落胆...
非力すぎて涙が出たわ
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のデフォルト実装についてコメント願います
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つの機能なの?」って問いに明確に答えられない
そして境界がわからないから、「幾つあるか」も数えられないし
それが「どんな時にどれが有効になるのか」もわからない(どれ?という問いは当然だけどそれぞれが明確に区別できる前提がないと答えられない)
912デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:27:02.76ID:4WiC8QMiM
さらにいうと
インターフェースで疎結合を維持すれば自動テストを構築できる
そうすれば明日までと言わずに1時間もあれば回帰テストをやり直せる

インターフェースを使わないガチガチに密結合したシステムではこうはいかない
テストだけでも丸一日、下手すれば数日はかかる
913デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:28:56.54ID:4WiC8QMiM
>>910
まさに君のことだね
914デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:32:21.17ID:YwzOlwqa0
>>911
え?明確になる?
はぁ?
swich caseで並べてあるときよりも?
俺には動かしてみないとどれが死にコードでどれが生きてんだかわかんねぇよw
915デフォルトの名無しさん (ワッチョイ 4691-z+eH)
2017/07/15(土) 14:33:55.74ID:wIL5gJgE0
個人だとインターフェース使う機会があまりないなぁ
916デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:34:40.29ID:YwzOlwqa0
ここから俺とお前で

(*゚∀゚)明確になるなる!
(*゚∀゚)明確にならないならない!
(*゚∀゚)なるなる!
(*゚∀゚)ならないならない!

って1000レスぐらい想定www
917デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:37:21.67ID:4WiC8QMiM
>>914
ほらね
やっぱりスキルがないじゃん
適当なコードを書くからわからなくなるんでしょ
918デフォルトの名無しさん (スフッ 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との格闘で費やしていた無駄な時間をバカンスに割当てることもできるのだ
920デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:44:31.73ID:YwzOlwqa0
>>918
でも間違いが無いよね?
実行する場所ですべてのパターンがひと目でわかる
インターフェイスだとどう?
全部で何パターン処理があるの?
921デフォルトの名無しさん (スフッ Sd70-Icm7)
2017/07/15(土) 14:47:19.82ID:qtlS5nEUd
>>920
IDEで追えるだろ全部
922デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 14:47:37.52ID:YwzOlwqa0
>>919
じゃあ、ホイ

unko.flyhigh();

いくつあるか言ってみろよ
お前が判断に必要な情報を俺が出していってやるよwww
923デフォルトの名無しさん (ワッチョイ 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箇所で済むのでコードパスの爆発は起こらない
機能一覧と使用条件を洗い出すのもとても容易になる
925デフォルトの名無しさん (ワントンキン MM88-roJc)
2017/07/15(土) 14:53:15.41ID:4WiC8QMiM
>>922
コード全部ちょうだい
コードってのはインターフェース使って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があるけど聞かれたことしか教えないよ
930デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 15:13:00.41ID:YwzOlwqa0
>>928
だろ?

(*゚∀゚)なるなる!
(*゚∀゚)ならないならない!

ウォーズになっただろ?
そもそも根拠も示さないで
明確になるなんて嘘つくのが悪い
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:4WiC8QMiM
>>931
続けたいならコード出してよ
出せないなら続かないよ
934デフォルトの名無しさん (スフッ Sd70-Icm7)
2017/07/15(土) 15:16:58.46ID:qtlS5nEUd
底辺SIer丸出しで草
まあ初心者なら混乱するよな、処理追おうとして読んでもインターフェースの呼び出ししか書いてないから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
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なんだけど、そんなもんなん?(正常に動きます)
947デフォルトの名無しさん (スッップ Sd70-YOS7)
2017/07/15(土) 18:59:17.09ID:3Bm+zU1dd
>>922
あーこれjavaだろwww
948デフォルトの名無しさん (アウアウイー Sa81-lKTh)
2017/07/15(土) 19:24:08.20ID:1X9hghUUa
>>891
要は、本来全然違う物を同じ物とみなして使いたい場合が結構あるってこと。
例えば、

例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にしておけばいいよ

テストやったことない人の意見はガン無視でいい
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:nacMKYtH0
>>950
で、その結果がソース全部出せなの?
(*゚∀゚)ズイブンコウリツヨサソウジャン
954デフォルトの名無しさん (ブーイモ MM5a-1CH6)
2017/07/15(土) 21:31:14.89ID:wHixeaDXM
>>953
誰と勘違いしてるんだか

まともにテストツールを使ったことがないか
まともな方法でテストしたことない人の意見は読むだけ無駄
955デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:35:27.08ID:nacMKYtH0
>>954
おお、そりゃスゲェ
是非その超絶技巧をご披露いただきたい
(*゚∀゚)オモシレー
956デフォルトの名無しさん (ブーイモ MM5a-1CH6)
2017/07/15(土) 21:38:17.50ID:wHixeaDXM
俺にレスしても無駄だよ

お前の超絶技巧で.net framewaorkをinterface無しで再実装してからにしてくれ
957デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:40:02.60ID:nacMKYtH0
>>956
アレ?お前はなんにもしないの?
(*゚∀゚)イツモドオリダナオマエ
958デフォルトの名無しさん (ワキゲー 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の批判をしてくれないか?

ってことだろ?
960デフォルトの名無しさん (ワッチョイ e6ea-Icm7)
2017/07/15(土) 21:49:16.74ID:g8mCRq5Q0
COBOLの話がすぐ出てくる辺りマジで底辺か、多分ほとんどの奴はお前と話合わないからすっこんでろ
961デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/15(土) 21:51:37.25ID:nacMKYtH0
>>960
え?お前誰?
単発IDが主義主張もなく割り込んでいいcobolじゃねーよ
962デフォルトの名無しさん (ワッチョイ e6ea-Icm7)
2017/07/15(土) 21:53:48.27ID:g8mCRq5Q0
>>961
誰でもいいじゃん、匿名掲示板なんだしお前と議論する気なんて一切ないし
963デフォルトの名無しさん (ワキゲー MM6e-FZLt)
2017/07/15(土) 22:10:48.06ID:+h55DWxyM
>>961
ここはC#のスレだよ
COBOLの話は別でどうぞ
964デフォルトの名無しさん (ワッチョイ 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を出産するってのはあまりに無理がある。
966デフォルトの名無しさん (ワッチョイ 741b-HOJV)
2017/07/16(日) 06:43:38.07ID:S+S2REts0
つづき
工業製品のシミュレートを考えると継承でインターフェースを増やす、とか機能を増やすとかがしっくりこない。
新製品が旧製品を継承するってならOKだけど、
ある世代のみの製品を定義するなら、
基本モデルに搭載された機能があって、
そこにオプションが追加されて、製品グレードが構成される方がしっくり来ませんか?
この機能追加が継承で実現されるってのはしっくり来ない。

>USBもRS-232Cもイーサも「通信ポート」とみなして
>同じように扱えるようにしたい

これこそ各種インターフェースが通信ポートと派生関係 (is a)関係にある話で、
それらが搭載される大本のPCを派生関係に巻き込むのはおかしな話じゃないですか?
PCから見て同じ通信機能を有するポートと見なしたいだけならエイリアスにでもするとか。
通信ポートがセクロスしてPC出産するなんて考える方が無理ボ
967デフォルトの名無しさん (ワッチョイ 2623-KaH7)
2017/07/16(日) 06:55:25.86ID:QwczUPDI0
何論点に話してるがしらんけど、
部品を組み合わせるんだからhas aで持たせておけよ。
こんなのに継承なんか使ったら破綻するわ。
968デフォルトの名無しさん (ワッチョイ ec90-k9rv)
2017/07/16(日) 07:36:55.65ID:DFiYZAtb0
is-aって電子回路で例えるとICの非公開の隠しコマンド使うようなもんだからなあ
その密結合した側からは百歩譲っていいとしても他からそのICを使うと整合が取れなくて
マニュアル通りの動作をしないような事態になったらほとんど手直し不能と言う
969デフォルトの名無しさん (スップ Sd02-sREA)
2017/07/16(日) 09:15:00.53ID:HardVP8Ld
インターフェイスとしては、
IDataIOConnectable みたいなのを持つのでは?
970デフォルトの名無しさん (ワッチョイ e266-S4qQ)
2017/07/16(日) 11:21:50.59ID:tS49D6IL0
C#は移譲とプロバティーとインターフェースを使って、C++の多重継承と外形上同じものを構築できて
しかもより安全なんだよね
道具は使いようだよ
971デフォルトの名無しさん (ワッチョイ ec90-k9rv)
2017/07/16(日) 12:03:25.24ID:7Dogvjad0
個人的にはis-aは仮想関数のためにあるのだと思ってる

>>970
実際コンポジション(移譲)で90%以上事足りるしな
972デフォルトの名無しさん (ワッチョイ 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が正解だし
974デフォルトの名無しさん (ドコグロ MM2e-eqnq)
2017/07/16(日) 14:59:39.16ID:qZs6BFdqM
きませんかと言われてもきませんとしか言えんわな

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装置としてのインターフェースって用語と、プログラミング用語としてのそれを混同してるとしか思えん
977デフォルトの名無しさん (ワッチョイ 2623-KaH7)
2017/07/17(月) 01:30:28.73ID:ka/V7JjN0
そもそも、USB端子2つ持ってたらどうするの?
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です
980デフォルトの名無しさん (ワッチョイ ec90-k9rv)
2017/07/17(月) 12:32:26.53ID:+UBTk6HR0
>>979
新しいプロジェクトの作成画面で.NET Framework 4.7になってないとか
もし古い.NETでプロジェクトを作成してしまっていたらソリューションを右クリック→プロパティ→アプリケーション
で、ターゲットフレームワークを.NET Framwork 4.7に変更する
981デフォルトの名無しさん (アウアウウー Sa08-1CH6)
2017/07/17(月) 12:45:01.80ID:50vkYHara
>>979
インストーラーから4.7開発ツールインストールしてないなら当たり前
982479 (ワッチョイ 8ee3-S4qQ)
2017/07/17(月) 12:55:32.89ID:tm+LZBsa0
http://imgur.com/a/F6nPY
>>979さんがいうプロパティの画面はこれで良いでしょうか
画像の通り4.7が表示されません。

プロジェクトの作成画面も同様です。
983デフォルトの名無しさん (アウアウウー 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とかのスケジューラをうまく使うのかな?
986デフォルトの名無しさん (ワッチョイ c469-zKZC)
2017/07/17(月) 14:19:08.39ID:hqPHwZli0
実際何やるの?
並列で動かすよりPC買えよ
987985 (ワッチョイ 4128-NvYO)
2017/07/17(月) 17:22:16.54ID:T9aCvdZt0
・複数サーバからネットワーク経由でファイルDL
・ファイル数が閾値を超える毎にDB書き込み(シリアル)
DLタスクの並列数を増やすと、書き込みタスク1つあたりの処理時間が伸びて困ってる・・
988デフォルトの名無しさん (ワッチョイ e9c0-S4qQ)
2017/07/17(月) 17:27:24.08ID:aUy3ijYs0
それタスクの優先度じゃなくて単にファイルIOの問題じゃないの
ファイルDLの書き込みとDLしたファイルの読み込みとDB書き込みを同じストレージに対して行っているなら処理時間伸びるのは当然に思えるが
989985 (ワッチョイ 4128-NvYO)
2017/07/17(月) 17:41:44.40ID:T9aCvdZt0
>>988
書き方が悪かったかな、すまない。
DLタスクは書き込まない、HttpClientのGetStringAsyncでメモリに読み込む
990デフォルトの名無しさん (ワッチョイ 7666-S4qQ)
2017/07/17(月) 18:38:09.74ID:DedzLYOT0
>>989
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にストアすればいい
995デフォルトの名無しさん (ワッチョイ ce19-MRQN)
2017/07/18(火) 00:41:32.31ID:SlyZJJmU0
現役PGの頃に宇宙仮面のサイトみてたけど

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タスクの方じゃってのも)
998985 (ワッチョイ 4128-NvYO)
2017/07/18(火) 01:13:35.64ID:4C5Wl6we0
訂正
誤)1.なんでファイルDLしてるの
正)1.なんでファイルDLして保存しないの
999デフォルトの名無しさん (ワッチョイ 1e6e-5eCk)
2017/07/18(火) 02:18:02.65ID:tovqy0R70
書き込みタスクもファイル毎に別なのか?
どうせシリアルなら書き込みはBlockingQueue使って単一コンテキストでループさせ続けるのが無難だと思うが
1000999 (ワッチョイ 1e6e-5eCk)
2017/07/18(火) 02:23:36.02ID:tovqy0R70
訂正
ConcurrentQueueを使ったBlockingCollectionだな
BlockingCollectionなら上限数を指定しとけばコンシューマの処理が追いつかないときにプロデューサをブロックすることもできるよ
10011001
Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 38日 7時間 47分 35秒
10021002
Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


───────────────────
《プレミアム会員の主な特典》
★ 2ちゃんねる専用ブラウザからの広告除去
★ 2ちゃんねるの過去ログを取得
★ 書き込み規制の緩和
───────────────────

会員登録には個人情報は一切必要ありません。
月300円から匿名でご購入いただけます。

▼ プレミアム会員登録はこちら ▼
https://premium.2ch.net/

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php

ニューススポーツなんでも実況



lud20250323092133ca
このスレへの固定リンク: http://5chb.net/r/tech/1497000961/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「ふらっと C#,C♯,C#(初心者用) Part129 [無断転載禁止]©2ch.net YouTube動画>1本 ->画像>3枚 」を見た人も見ています:
ふらっと C#,C♯,C#(初心者用) Part139
ふらっと C#,C♯,C#(初心者用) Part136
ふらっと C#,C♯,C#(初心者用) Part146
ふらっと C#,C♯,C#(初心者用) Part143
ふらっと C#,C♯,C#(初心者用) Part142
ふらっと C#,C♯,C#(初心者用) Part138
ふらっと C#,C♯,C#(初心者用) Part130
ふらっと C#,C♯,C#(初心者用) Part144
ふらっと C#,C♯,C#(初心者用) Part137
ふらっと C#,C♯,C#(初心者用) Part135
ふらっと C#,C♯,C#(初心者用) Part160
ふらっと C#,C♯,C#(初心者用) Part119
ふらっと C#,C♯,C#(初心者用) Part155
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part128
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part159
ふらっと C#,C♯,C#(初心者用) Part147
ふらっとC#,C♯,C#(初心者用) Part92
ふらっと C#,C♯,C#(初心者用) Part161 (78)
ふらっと Q#,Q♯,Q#(初心者用) Part 1 (10)
くだすれC++/CLI(初心者用)part2
ふらっと C#,C♯,C#(議論用)
FX初心者スレ Part103
キャンプ 初心者 友の会 Part1
Xiaomi(小米科技)初心者 Part16
セキュリティ初心者質問スレッド Part137
【新バ】ウマ娘プリティーダービー初心者スレ Part139
【FF14】初心者の館 Part366
ロード初心者質問スレ part414
ロード初心者質問スレ part409
ロード初心者質問スレ part426
Java入門・初心者質問スレ Part.7
Ruby 初心者スレッド Part 65
クロスバイク初心者質問スレ part8
人狼ジャッジメント初心者スレ part9
【初心者歓迎】Small Basic Part 2 【片手間】
【初心者】ダイエットの質問・相談スレPart159
【プロスピ】プロ野球スピリッツA初心者スレpart139
【FF14】初心者の館 Part529
Java入門・初心者質問スレ Part.3
Ruby 初心者スレッド Part 67
Java入門・初心者質問スレ Part.11
Java入門・初心者質問スレ Part.5
クロスバイク初心者質問スレ Part59
クロスバイク初心者質問スレpart29
クロスバイク初心者質問スレpart33
【小説家になろう】初心者作者の集いpart.94
【小説家になろう】初心者作者の集いpart.70
【C++】 DirectX初心者質問スレ Part40 【C】
Cakewalk by BandLab 初心者質問スレ Part 19
ストリートファイター6初心者・質問スレ Part79
【DCS World】DCS 総合 Part.79 【初心者歓迎】
初心者歓迎イラストアドバイス練習気軽うp Part9
【ランモバ】ラングリッサー 初心者&まったり&質問スレ Part.49
くだすれFORTRAN(超初心者用)その7 (27)
【初心者でも】エギングPart78【上級者でも】
くだすれDelphi(超初心者用)その60【Embarcadero】
C#, C♯, C#相談室 Part95
C#, C♯, C#相談室 Part94
Kotlin初心者質問スレ
0からの、超初心者C#相談室
Python3を勉強中の初心者ですが
02:51:31 up 63 days, 3:50, 0 users, load average: 9.56, 9.58, 9.68

in 0.10684394836426 sec @0.10684394836426@0b7 on 061915