トップページ⇒tech
1002コメント376KB

ふらっと C#,C♯,C#(初心者用) Part126 [無断転載禁止]©5ch.io

レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 5394-4hBO)2016/12/27(火) 02:07:41.47ID:HrGPkQcW0
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。

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

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

なお、テンプレが読めない回答者は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

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

■関連スレ
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467211515/

■コードを貼る場合は↓を使いましょう。
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
0002デフォルトの名無しさん (ワッチョイ 5394-4hBO)2016/12/27(火) 02:08:32.32ID:HrGPkQcW0
■ワッチョイスレの建て方
スレッドを立てるとき本文1行目に
!extend:checked:vvvvv:1000:512
0003デフォルトの名無しさん (ブーイモ MM5f-TACi)2016/12/28(水) 12:43:49.97ID:vJvETbCIM
>>1
Console.WriteLine("乙");
0004デフォルトの名無しさん (ワッチョイ 7b87-8bDS)2016/12/28(水) 16:09:19.18ID:4cVGFWSK0
さっそくですがすみません。お教えください。
フォーム上のDataGridViewの表示を更新するために、
DataGridViewRowの配列を作り、それをDataGridViewにAddRangeしようと考えました。

参考ページ
http://blog.studio-odyssey.net/2010/07/datagridview.html

Rowの配列を作るために、for文の中で
「DataGridViewRow row = new DataGridViewRow();」を行い、
そこに「row.CreateCells(this.dataGridView1);」
をするのですが、300回程度回すと数MBのメモリを消費します。
(dataGridViewの列が80列位あるからだと思います)

一回の操作はこれで終わりなのですが、しばしばDataGridViewの更新をする必要があり、
上記の処理繰り返し行うと、徐々に消費メモリが増えていきます。GCも働かず最後にはメモリエラーで落ちます。
どうもrowの解放が行われていないらしく、1回のfor文毎にこれを解放したいのですが、
どのようにすればよいでしょうか。
(row.dispose()を行っても解放されません)
0005デフォルトの名無しさん (ワッチョイ 7f94-4hBO)2016/12/28(水) 17:24:04.61ID:YF6A9Wev0
なんでDataTableでも使ってバインディングしないのか疑問だけど、それはさておき
80項目ほどあるという、その元データの古いものはちゃんとクリアされていってるのかな
0006デフォルトの名無しさん (ワッチョイ 7b87-8bDS)2016/12/28(水) 17:46:48.75ID:4cVGFWSK0
>>5
レスありがとうございます。
バインドしなかったのは置いておきまして・・・
元データというのは、古いrowのことでしょうか。
それともrow.Createcellsに渡したDateGridViewのことでしょうか。
古いrowは、dispose、nullの代入は行っています。
DataGridViewは、行のクリアは行っています。
(DataGridView自体のdisposeは行わず、使い回しです)

試しに、プログラム実行直後のDataGridviewに何も入ってない状態で、
DataGridViewRow row = new DataGridViewRow()
row.CreateCells(this.dataGridView1);
を繰り返すだけでガンガンメモリ量が上がっていきます。
(rowの配列をDatagridviewにはセットしなくても)
0007デフォルトの名無しさん (ワッチョイ 7f94-4hBO)2016/12/28(水) 17:57:11.86ID:YF6A9Wev0
「元データ」といったのはDataGridViewRowの各セルに入れるデータのこと
自分が試してみたら、Rows.Clearして追加を繰り返していくだけで適切にGCが働いてくれてるんだけど…
(別にDataGridViewRowをDisposeしなくても大丈夫だった)
0008デフォルトの名無しさん (ワッチョイ 7b87-8bDS)2016/12/28(水) 18:01:48.60ID:4cVGFWSK0
>>7
実験までやっていただいてありがとうございます。
Rows.Clearというのはどう行うのでしょうか?

DataGridViewRowのメソッドにclearが見つからないのですが・・・
0009デフォルトの名無しさん (ワッチョイ 7b87-8bDS)2016/12/28(水) 18:17:55.89ID:4cVGFWSK0
自己レスです。
rowの配列のRowsですね。
Rows(rowの配列)を作らなくても、メモリが増えていっていたので、
頭から抜けていました。

元プログラムの方はそこはクリアしていなかったので試してみます。
0010デフォルトの名無しさん (ワッチョイ 7f94-4hBO)2016/12/28(水) 18:55:56.99ID:YF6A9Wev0
Rows.Clear って省略しちゃったけどそれはDataGridView.Rows.Clearのことだったんで
>DataGridViewは、行のクリアは行っています。
なら、そこは変わらないかも

自分が気にしてるのは、DataGridViewに入れるデータを取得・更新したときに
(DataGridView関係なく)入れるデータの方のDispose漏れはないですか?ということ…

>試しに、プログラム実行直後のDataGridviewに何も入ってない状態で、
>DataGridViewRow row = new DataGridViewRow()
>row.CreateCells(this.dataGridView1);
>を繰り返すだけでガンガンメモリ量が上がっていきます

インスタンスを繰り返し作れば使用メモリがガンガン増えるのは当たり前なので、何か気にするところを間違えてる気がするんだけど…
0011デフォルトの名無しさん (ワッチョイ 7b87-8bDS)2016/12/28(水) 19:03:09.17ID:4cVGFWSK0
>>10
何度もお手間おかけしてしまいすみません。

>インスタンスを繰り返し作れば使用メモリがガンガン増えるのは当たり前なので、
>何か気にするところを間違えてる気がするんだけど…

とどのつまりはそこでして、
>DataGridViewRow row = new DataGridViewRow()
>row.CreateCells(this.dataGridView1);
を実行した後の、rowのDisposeの仕方がわからないのです。

row.Dispose()をやっても、row.Cells.Clear()をやっても、row = nullとやっても、
ガベージコレクションで解放されないので、困っております。
0012デフォルトの名無しさん (ワッチョイ 7f94-4hBO)2016/12/28(水) 19:42:50.61ID:YF6A9Wev0
自分が試したのは http://ideone.com/VK5exD で、
これだとbutton1を押すたびにメモリ使用量が増えていき、
一定消費量でGC発動→その後もGCが適宜発動
になるんだけど、どこで違いがでるんだろう…
0013デフォルトの名無しさん (ワッチョイ b749-AD9A)2016/12/28(水) 22:19:37.96ID:Bwga9xUV0
this.dataGridView1.Rows.Clear();
やってない予感。
0014デフォルトの名無しさん (ワッチョイ 0f7b-SerI)2016/12/28(水) 23:25:39.98ID:Eve+QkKl0
GCが発動しないのは、リソースを参照しているとか、PCのメモリ量が大きいとか
0015デフォルトの名無しさん (ワッチョイ f3bd-evmS)2016/12/29(木) 01:46:34.77ID:mvPliBkI0
今回ので解決するかは知らんが
メモリリーク(GC対象外)の原因をつきとめたいなら
メモリリーク windbg sos.dll
でやり方を検索。
暗中模索でいろいろやるのは非効率だと思う。
0016デフォルトの名無しさん (ワッチョイ af87-Eko0)2016/12/29(木) 08:46:21.64ID:WI/qqjBQ0
ID:4cVGFWSK0ですが、みなさまご意見ありがとうございます。
>>12
教えていただいたサンプルでもやってみます。
また経過を書かせてもらいますね。

>>13
dataGridView1.Rows.Clear();はやっています。(thisは付けていないですが)
そのあと、関数をコールして、その関数内で、DataGridViewRowのくだりをやっています。

>>14
PCのメモリ量は大きいですね(8G)。
でも、32bitアプリにしてるので、2Gで落ちるのです。

>>15
情報ありがとうございます。
早速検索してみます!
0017デフォルトの名無しさん (ワッチョイ 07dc-Ft01)2016/12/29(木) 09:34:31.13ID:ICm4kcbN0
CLRプロファイラを使えばどいつが参照を握ってるのか簡単にトレースできる
0018デフォルトの名無しさん (ワッチョイ 0a11-psYp)2016/12/29(木) 10:18:27.52ID:SpO/gD9k0
Process.Start(
0019デフォルトの名無しさん (ワッチョイ 0a11-psYp)2016/12/29(木) 10:20:27.32ID:SpO/gD9k0
失敗しました。
Process.Start(”EXPLORER.EXE”, ”search-ms:query=*.pdf* &crumb=location:C:\\”);
を実行して、C直下にあるpdfファイルを検索した状態で表示したいのですが、うまくできません。
エクスプローラーにPDFファイルのみ表示するにはどうしたらいいのですか?
0020デフォルトの名無しさん (ワッチョイ af87-Eko0)2016/12/29(木) 10:28:13.15ID:WI/qqjBQ0
>>17
情報ありがとうございます。簡単そうだったので、早速使ってみました。

途中から枝分かれが多くなってきたのですが、枝の元はここのようです。
206 MB(83.62%) from System.EventHandler System.Object []->System.EventHandler->(System.Windows.Forms.DataGridViewComboBoxCell)
147 MB(59.76%) to System.Windows.Forms.PropertyStore(1) System.Windows.Forms.DataGridViewComboBoxCell->System.Windows.Forms.PropertyStore->(System.Windows.Forms.PropertyStore.IntegerEntry [])

DataGridViewの列にはComboBoxにしている列が多数ありまして、
そのComboBoxをクリックしたときに発生するイベントを幾つか利用してるのですが、
そのイベント周りで、クリア→再表示させたときに何か悪さしている感じでしょうか。
0021デフォルトの名無しさん (ワッチョイ af87-Eko0)2016/12/29(木) 10:48:11.82ID:WI/qqjBQ0
20です。ComboBoxでピンと来て、検索してみたのですが、おそらくここで質問されている現象と同じようなことかと思います。

https://translate.google.co.jp/translate?hl=ja&;sl=en&u=https://social.msdn.microsoft.com/Forums/windows/en-US/26ca1a52-03af-4ad5-8f98-d22498116701/datagridviewcomboboxcell-memory-leak%3Fforum%3Dwinformsdatacontrols&;prev=search

DataGridViewのComboBoxに表示させる要素をDataTableとバインドさせているのですが、それが影響しているようです。
上記の質問ページの回答で解決しているのか不明ですが。。。
0022デフォルトの名無しさん (ワッチョイ af87-Eko0)2016/12/29(木) 13:24:27.74ID:WI/qqjBQ0
20ですが解決しました。

原因は、DataGridViewのComboBoxの要素用にDatatableをバインドしていたのですが、
それだとDataGridView.Rows.Clear()しただけでは、ガベージコレクションされていませんでした。

DataGridView.Rows.Clear()したあとに、
各バインドをすべて解除する(Datasourceにnullを代入)と、
ガベージコレクションで、メモリが解放されました。
(その後、次のデータを表示するために再バインドを行います)

どうも懇切丁寧に教えてくださり、ありがとうございました。
0023デフォルトの名無しさん (ワッチョイ 9ff1-6Sai)2016/12/29(木) 14:00:44.91ID:AE32Webi0
このスレには、.netの話はしててもc#の話してる人いないな。

c#て変な言語だな。c++の派生言語だろうと思って、似たようなもんだと勘違いさせて、
試しに簡単なプログラム書いてみると、実際にはcのコードやc++のコードが通用しない。
互換性がないのに、この言語名はおこがましいもんだ。

この板にvb.netのスレは1つしかないのに対して、c#はいくつもある。どうせvb.netと同じ
バイナリファイルになるから、vb.netで良くないのかいな。
0024デフォルトの名無しさん (スップ Sd4a-XCM5)2016/12/29(木) 14:12:40.37ID:R/A6dVhUd
初心者用ってスレで言語仕様の話題がもちきりだったら気持ち悪いわw
0025デフォルトの名無しさん (スッップ Sdaa-weIz)2016/12/29(木) 17:34:05.31ID:RSbrHHU5d
>>23
まあCよっかDelphiよりだかんね
0026デフォルトの名無しさん (ワッチョイ d33c-CHTc)2016/12/29(木) 18:31:53.38ID:hT8/gKS00
Delphiの言語設計者が作った言語だからな
0027デフォルトの名無しさん (ワッチョイ 0f5b-TDvV)2016/12/30(金) 00:27:35.46ID:i85SXOa50
C++のコードなんか通用したらその時点でクソ言語なのでは
0028デフォルトの名無しさん (ワッチョイ 3f91-WE5O)2016/12/30(金) 09:58:53.13ID:tjoNJpVm0
D言語の方がCに近いし、DelphiっぽいC#と名前を入れ替えるべきだな
0029デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2016/12/30(金) 10:14:40.11ID:hgBVSCl80
RAD環境としての全体的なネーミングやライブラリ設計のセンスがDelphiっぽかっただけで
言語自体はそうでもないだろ
最近のVSはDelphiやVB系列の昔ながらのRAD思想を捨ててWeb系に向かいつつあるし
言語の方は独自路線を突っ走って今やニュースタンダードの一つ
0030デフォルトの名無しさん (ワッチョイ 3f91-oeOq)2016/12/30(金) 11:04:36.50ID:tjoNJpVm0
えっ?じょ…
そうですよね…
0031デフォルトの名無しさん (ワッチョイ 9f23-4Ie9)2016/12/30(金) 14:56:29.05ID:uiIF/Ctr0
C#の前身は、DelphじゃなくてJ++
0032デフォルトの名無しさん (ワッチョイ de33-4Doi)2016/12/30(金) 15:41:21.27ID:KB0M7zpX0
まあ、でもdelphiとC#の言語設計したの同じ人だしね
0033デフォルトの名無しさん (ワッチョイ 8a17-YvgG)2016/12/30(金) 18:30:44.06ID:3Ls/pupf0
だからなんだって話だな
0034デフォルトの名無しさん (オッペケ Sra3-pmO9)2016/12/30(金) 22:59:36.70ID:roV26jkcr
C#2.0くらいで頭止まってる人多そうだね。
0035デフォルトの名無しさん (ワッチョイ 4613-4A4P)2016/12/30(金) 23:24:44.37ID:Vl/trvQD0
少ないと思うよ
0036デフォルトの名無しさん (ワッチョイ d33c-CHTc)2016/12/30(金) 23:30:39.52ID:ZpaOuXX30
2.0で止まってると言われたら、「ねーよwww」って笑い飛ばせるが
4.0で止まってると言われたら、ちょっと否定出来る自信が無い
0037デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2016/12/31(土) 00:10:52.34ID:u4bGwJtr0
C#5.0は非同期使う気ないなら無視しても特に差し支えなかったけど
6.0の内容はそういうのとはだいぶ性質が違っててスルーしづらいものになってるよ
C#6.0以降では、イベントの呼び出しは var handler = Click; if (… のパターンは忘れて
Click?(this, e) と書くのが正しい
他にも string interpolation とか expression bodied method/property とか
地味だけど基本的な手癖の部分がかなり変わる
0038デフォルトの名無しさん (ワッチョイ 8a94-+QcV)2016/12/31(土) 00:28:10.96ID:cfD0mqeo0
Click?.Invoke(this, e) じゃない?
これと文字列の $"" 、それに Task.CompletedTask はほんとよく使う。ちょーべんり
0039デフォルトの名無しさん (ワッチョイ 4613-4A4P)2016/12/31(土) 01:32:02.81ID:7MUUz5p00
$””使うとリファクタリングで困らない?
0040デフォルトの名無しさん (ワッチョイ 239d-3vJe)2016/12/31(土) 01:44:04.47ID:s0njGzj00
どんなリファクタリングで困ってるの?
0041デフォルトの名無しさん (ワッチョイ f317-4Ie9)2016/12/31(土) 09:09:11.03ID:sDFeF81C0
リファクタリングだよ
0042デフォルトの名無しさん (ワッチョイ 9f23-4Ie9)2016/12/31(土) 10:01:53.51ID:6EKD+AK20
移植性の問題ならともかく、それをリファクタリングで弄る理由がまるでない
0043デフォルトの名無しさん (ワッチョイ 8b3c-4Ie9)2016/12/31(土) 14:43:52.07ID:P87k9vua0
C#の典型入門書って何がありますか?

スッキリわかる〜とか明解〜

みたいに入門編と応用編に分冊シリーズ化してるものってある?
0044デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2016/12/31(土) 14:46:50.24ID:u4bGwJtr0
>>39
試したけどリネームにはちゃんと追従するぞ
0045デフォルトの名無しさん (ワッチョイ 4a79-eOuq)2016/12/31(土) 23:59:20.53ID:shQSIkq00
今年こそC#にnull安全が搭載される!
0046デフォルトの名無しさん (ワッチョイ a317-weIz)2017/01/01(日) 00:02:32.19ID:rBmi6OCp0
>>45
ねーよ
0047デフォルトの名無しさん (ブーイモ MMaa-eQyU)2017/01/01(日) 00:04:14.81ID:JRYadV1DM
すいませんC#の質問かどうかははっきりしませんが
http://dobon.net/vb/dotnet/internet/receivepop3mail.html
ここのソースのままヤフーのフリーメールを全部受信して文字列型配列に格納するコード作ってたんですが
大量のスパムメールに含まれていたのかものすごい勢いでESETがトロイやらウイルス発見の警告を連続でだしたんですが
これってPCはもう危険なのでクリーンインストールしたほうがいいですか?
0048デフォルトの名無しさん (ワッチョイ 4a79-eOuq)2017/01/01(日) 00:06:06.47ID:pAjpyWNe0
.NETの根本から見直さなきゃいけなくなるから
null安全は困難すぎるって話だっけ
でも欲しいよう
0049デフォルトの名無しさん (ワッチョイ 3ad4-4Doi)2017/01/01(日) 00:23:44.22ID:swtihv5O0
>>47
はい
0050デフォルトの名無しさん (ワッチョイ ea90-4Ie9)2017/01/01(日) 02:35:00.22ID:m0DuYp+I0
ずっとVS2010で開発してるけど古い?

特に日常の開発には不自由はしてないんだがなー
0051デフォルトの名無しさん (ワッチョイ d33c-CHTc)2017/01/01(日) 02:39:09.10ID:epcIVmQh0
趣味グラマなら十分だと思う
仕事でやってるなら最新環境に慣れといた方がいいけど
0052デフォルトの名無しさん (アウアウオー Sac2-FZ8F)2017/01/01(日) 02:50:32.77ID:BJy+zHBJa
逆だと思うよw

職場にもよるが仕事であればこそいやでもエンドユーザーの都合に縛られる。
まだあと2,3年はXPで動くことを前提にしなきゃならん案件が残るだろう。

そうすると必然出来にVSのバージョンはともかく、.NET4.0をターゲットにしなきゃならん
0053デフォルトの名無しさん (ブーイモ MMaa-llBT)2017/01/01(日) 05:48:08.29ID:wDaZYdaJM
>>49
変数に格納しただけで感染するんですか?
もしかして遠隔発信を実効みたいな添付ファイルのがあったらヤバイですか?
0054デフォルトの名無しさん (ワッチョイ a317-weIz)2017/01/01(日) 08:02:51.25ID:rBmi6OCp0
>>52
2015だと4.0使えないとでも思ってる?
0055デフォルトの名無しさん (ワッチョイ 4fd6-Sa8B)2017/01/01(日) 09:25:48.11ID:rzfsLfEB0
>>54
最終行読めないの?
0056デフォルトの名無しさん (ワッチョイ 4613-4A4P)2017/01/01(日) 09:59:02.41ID:k/7gtQH+0
>>54
0057デフォルトの名無しさん (ワッチョイ 3ad4-4Doi)2017/01/01(日) 10:18:38.48ID:swtihv5O0
>>53
そのタイプあるね
0058デフォルトの名無しさん (ワッチョイ 9f23-4Ie9)2017/01/01(日) 10:24:35.02ID:oYN2j5aa0
>>50
2010からなら、NuGetとGitだけでも2015に乗り換える価値がありますね
0059デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2017/01/01(日) 11:26:11.41ID:ls6vqNpI0
趣味なら2015にしない理由がないだろ
CommunityでPro相当の機能がタダで使えるし、
特に重くなるわけでもない、むしろ軽くなる
0060デフォルトの名無しさん (ワッチョイ 06af-mbxx)2017/01/01(日) 11:45:57.00ID:F1zcn46Y0
最近2015に乗り換えたけどデバッグ時にアプリが使ってるCPUやらメモリやら出してくれるのが面白いからそれだけで乗り換えた甲斐があった
0061デフォルトの名無しさん (ワッチョイ d33c-4Ie9)2017/01/01(日) 11:46:49.53ID:PhxE8icv0
2017ってどうなの?2015なら大丈夫なのに2017でdynamicjsonがなんかエラー吐く(初心者なので意味わからん)
0062デフォルトの名無しさん (ワッチョイ 4fd6-Sa8B)2017/01/01(日) 11:51:21.41ID:rzfsLfEB0
初心者がRC使うの最高にCOOL
0063デフォルトの名無しさん (ワッチョイ d33c-4Ie9)2017/01/01(日) 11:56:26.30ID:PhxE8icv0
初心者が使ってはダメなやつやったんか…知らんかった
0064デフォルトの名無しさん (ワッチョイ f3bd-evmS)2017/01/01(日) 13:13:05.67ID:Ce68Anjj0
>>50
2013から定義に移動じゃなくて定義をその場で見れるのが追加されて便利
0065デフォルトの名無しさん (ワッチョイ 23c0-4Ie9)2017/01/01(日) 13:18:24.37ID:y0Ukbj+b0
>>59
2012か13辺りから全体的に軽くなったよな
0066デフォルトの名無しさん (ワッチョイ d33c-CHTc)2017/01/01(日) 13:42:02.49ID:epcIVmQh0
>>59
>趣味なら2015にしない理由がないだろ
強いて理由を探すなら、Vista使いの場合とか

まあそろそろサポート切れるから、どの道移行せにゃならん時期だが
0067デフォルトの名無しさん (ワッチョイ ea90-4Ie9)2017/01/01(日) 22:59:51.99ID:m0DuYp+I0
VS2010に慣れてもうた。
0068デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2017/01/01(日) 23:59:56.56ID:ls6vqNpI0
新しいものを受け入れる気がないなら管理や上流にシフトしていくかコボラー目指した方がいいよマジで
.NETなんかすぐに陳腐化する一時的な道具に過ぎないんだから
0069デフォルトの名無しさん (アウアウカー Sa6b-2y/h)2017/01/02(月) 00:20:01.62ID:JJeYWN7Sa
でも.NETって今一番勢いよくない?
0070デフォルトの名無しさん (ワッチョイ 4613-4A4P)2017/01/02(月) 05:55:51.37ID:5PZq4XXX0
>>67
2010も2015も共存できるから併用すればいいんだよ
自分のPCには2005から全バージョン入ってる
0071デフォルトの名無しさん (ワッチョイ ffc9-Fh/7)2017/01/02(月) 07:18:08.38ID:Izn6zzv10
俺も6.0から全部入れてる
古い環境もメンテしないといけないからな
0072デフォルトの名無しさん (ワッチョイ 23c0-4Ie9)2017/01/02(月) 10:42:19.74ID:xTh8FYt20
VSの併用とか2015からFrameworkのバージョンに合わせてターゲット変えるだけでよくね?
ソリューションファイルも最新版に合わせて変換出来るし
0073デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2017/01/02(月) 11:09:59.92ID:CPceoiNS0
現実にはそれで問題ないだろうけど、

https://msdn.microsoft.com/ja-jp/library/bb398197.aspx
>フレームワークの対象機能は、開発中のアプリケーションが正しく実行されることを保証するわけではありません。
> 対象のバージョンで実行できるかどうかを確認するために、アプリケーションをテストする必要があります。

というわけで、「もし何かあったら誰が責任取るのか」というジャップらしい停滞思考が問題になってくる
MSは責任取ってくれないので責任取るのはシステム会社か客のどちらか
そういう場合、システム会社は基本的に責任取りたくないので「お客様の責任でVSをアップグレードしますがいいですか?」となる
そして客はもちろん「じゃあやんなくていいよ、うちにメリット無いんでしょ?」となる
その結果、塩漬けの開発環境が増殖する
0074デフォルトの名無しさん (ワントンキン MMfa-BD8y)2017/01/02(月) 11:10:17.58ID:GHxiRgy/M
まあアマチュアならそれでいいと思う
0075デフォルトの名無しさん (ワッチョイ 23c0-4Ie9)2017/01/02(月) 11:24:24.86ID:xTh8FYt20
>>73
保証出来ないと明記してあるならそりゃ誰も責任取らないわな・・・
0076デフォルトの名無しさん (ワッチョイ 83a1-rkCf)2017/01/02(月) 11:28:49.04ID:MrPj4nrh0
お客様がUWPでとお願いすれば喜んでアプグレしてくれる訳ですね
0077デフォルトの名無しさん (ワッチョイ d33c-4Ie9)2017/01/02(月) 15:35:05.25ID:Bg6UcTuL0
すいません。
あるAPIでjsonを取得してdynamicjsonを使いました。
{"asks":[[123643,25.0175],[123628,7.645],[123613,0.5675],[123609…
でasksの一つ目とかはasks[0]で値を取れるんですがasksの最後の値を取得したい時はどうしたら良いのでしょう?
asksの中身の数は変動します。
よろしくお願いします。
0078デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2017/01/02(月) 15:52:55.16ID:CPceoiNS0
asksをdouble[][]とかにキャストできないか?
でも素直にデファクトスタンダードであるJSON.NETを使うのが正解
0079デフォルトの名無しさん (ワッチョイ d33c-4Ie9)2017/01/02(月) 16:27:54.26ID:Bg6UcTuL0
>>78
ありがとうございました!
キャストの意味すらググった初心者ですがLengthで簡単にできました!
0080デフォルトの名無しさん (ワッチョイ 8a3c-vnn7)2017/01/02(月) 17:14:58.41ID:jbaRYfeA0
>>77
object[] にキャストして要素数を取得すればいいだけかと
0081デフォルトの名無しさん (ワッチョイ d33c-4Ie9)2017/01/02(月) 17:20:41.89ID:Bg6UcTuL0
はい。キャストしてできました。ありがとうございます。
0082デフォルトの名無しさん (ワッチョイ ea90-4Ie9)2017/01/02(月) 19:04:14.09ID:UIwqzKQn0
>>71

VB6.0懐かしいな。

ネイティブアプリで早かったから何気に一番開発効率が良かったと思うのは私だけ?
0083デフォルトの名無しさん (ワッチョイ 0742-XCM5)2017/01/02(月) 20:20:20.97ID:Z8V39eee0
6.0って聞いたらVCかなって思うけど
MFCとか大分長期間使われてたイメージ
0084デフォルトの名無しさん (スフッ Sdaa-weIz)2017/01/02(月) 23:27:18.71ID:+s3lguXJd
>>73
テストしろって当たり前のこと言ってるだけじゃね?
0085デフォルトの名無しさん (ブーイモ MMaa-Ft01)2017/01/02(月) 23:38:14.71ID:mABnUerHM
>>84
その金は誰が出す?
お前が客のシステム担当だとして、VSのバージョン上げるからテストする金出してくれと言われたら社内の偉い人説得して予算取れる?
0086デフォルトの名無しさん (ワッチョイ 83a1-rkCf)2017/01/02(月) 23:42:56.76ID:MrPj4nrh0
バージョン上げなかったらテストしなくても良いってコト?
0087デフォルトの名無しさん (ブーイモ MMaa-Ft01)2017/01/02(月) 23:45:41.89ID:mABnUerHM
>>86
そりゃ現に運用してるシステムならそうだろ
0088デフォルトの名無しさん (ワッチョイ a317-weIz)2017/01/03(火) 00:05:29.12ID:KitL9RZ20
>>85
お前理解してないだろ
0089デフォルトの名無しさん (スフッ Sdaa-weIz)2017/01/03(火) 00:14:34.44ID:imuDuf+Kd
>>85
お前開発PCのVisual Studioでビルドしたバイナリをそのまま本番環境に置いてんの?
0090デフォルトの名無しさん (ワッチョイ a317-weIz)2017/01/03(火) 00:19:29.79ID:KitL9RZ20
>>55
ターゲットにしなきゃならん
0091デフォルトの名無しさん (ワッチョイ 07dc-CBwx)2017/01/03(火) 00:27:06.56ID:VxAvtnd00
>>89
いや、運用開始後の話をしてるんだが
開発途中ならそりゃVSのバージョンなんか勝手に上げたらいいだろ
0092デフォルトの名無しさん (スフッ Sdaa-weIz)2017/01/03(火) 00:31:17.00ID:fs192aUgd
>>91
運用開始後も一緒だろ?MSBuildToolVersion指定してMSBuild.exe叩くか、Cakeでも使えば?
0093デフォルトの名無しさん (ワッチョイ 07dc-Ft01)2017/01/03(火) 00:41:40.92ID:VxAvtnd00
>>92
知らんがな
俺はテストが必要であるという>>84の前提の下で話をしてる
MSBuild使うことでバイナリ一致が保証できてテストは不要だというんならはっきりそう主張してくれ
0094デフォルトの名無しさん (ワッチョイ ea90-4Ie9)2017/01/03(火) 00:48:48.55ID:Q90ptGUV0
まぁ、ぶっちゃけ安定しているシステムがある以上
リスクを冒してまで、VSのバージョンあげてくれ
とはオファーしないだろ。
0095デフォルトの名無しさん (アウアウカー Sa6b-2y/h)2017/01/03(火) 00:50:09.34ID:ckbzi1t0a
ん?業務系であれば運用状のverupが必要となればそれなりのメンテナンス費用が発生すんのが普通にじゃないの?
そういうのがビジネスモデルになるんじゃないんだ
0096デフォルトの名無しさん (ワッチョイ 83a1-HB/E)2017/01/03(火) 01:56:40.80ID:K9PZ4HA50
新規の案件でバージョン上げない理由は無かったって事で良いんでね
0097デフォルトの名無しさん (スフッ Sdaa-weIz)2017/01/03(火) 04:24:12.26ID:ojbYqeVPd
>>93
Cakeはともかく、MSBuild知らないの?IDEは最新に変えても、ビルドの仕組み変えなきゃバイナリ変わらんだろ
0098デフォルトの名無しさん (ワッチョイ 07dc-Ft01)2017/01/03(火) 08:22:24.41ID:VxAvtnd00
>>97
だから俺はそんな話はしていないと言っている
Q. テストが必要なら、その金は誰が出すのか?
A. MSBuild使えば?
俺が好意的に意図を汲んでやらなかったらただの頭おかしい子だろこれ
それまで誰一人として、テストの必要性や責任問題が生じる可能性についてそもそもの前提に異を唱えた奴はいない
俺も君の考えは正しいと思うが、だったら噛み付く対象は俺ではないし「テストも責任問題も不要だ」とはっきり書け
0099デフォルトの名無しさん (ワッチョイ 8a3c-vnn7)2017/01/03(火) 09:52:38.00ID:hCjfXn+00
>>97
> IDEは最新に変えても、ビルドの仕組み変えなきゃバイナリ変わらんだろ
マイクロソフトが保証してると言うソースよろしく
0100デフォルトの名無しさん (ワッチョイ 83a1-HB/E)2017/01/03(火) 10:27:22.08ID:K9PZ4HA50
なんか表現に誤解がある気がする

テストの対象はあくまでもバージョン同士の互換性にあって
本番環境での正常動作なんてそれこそ誰にも保証しようが無いと思うが
0101デフォルトの名無しさん (スプッッ Sdaa-weIz)2017/01/03(火) 11:04:05.16ID:o5OZTy9Pd
>>98
テストも責任問題も不要だ
0102デフォルトの名無しさん (スプッッ Sdaa-weIz)2017/01/03(火) 11:06:05.35ID:o5OZTy9Pd
>>99
ビルドの仕組みを変えなくてもIDEやエディタによってビルド結果に差が出るソースよろ
0103デフォルトの名無しさん (ワッチョイ 23c0-4Ie9)2017/01/03(火) 11:08:57.06ID:UmM78+JY0
VS更新でテストコストが増すとか、そりゃ某プロジェクトが未だにVS2005強制なのも納得ですわ
0104デフォルトの名無しさん (ワッチョイ 8a17-YvgG)2017/01/03(火) 11:29:00.67ID:ui2n6vqh0
>IDEは最新に変えても、ビルドの仕組み変えなきゃバイナリ変わらんだろ

こう言ってる相手にソース開示求めて、その返しが変わることのソース提示要求っておかしいだろ。
ただ感情的な押収したいだけなら他にいけ。
0105デフォルトの名無しさん (ドコグロ MMc6-vnn7)2017/01/03(火) 11:38:39.54ID:HznlyBynM
>>102
コンパイラを変えずにIDEのバージョンアップする方法よろしく
0106デフォルトの名無しさん (ワッチョイ ea90-4Ie9)2017/01/03(火) 11:45:00.38ID:Q90ptGUV0
もうVS2010でええやないか。
0107デフォルトの名無しさん (スプッッ Sd4a-weIz)2017/01/03(火) 11:45:54.05ID:K7Dmta0Wd
>>105
>>92
0108デフォルトの名無しさん (ワッチョイ 8a3c-vnn7)2017/01/03(火) 12:10:16.51ID:hCjfXn+00
>>107
マジで言ってるならかなりヤバイぞ
サービスパック当てるだけでも生成されるバイナリ変わったりするのに...
0109デフォルトの名無しさん (ワッチョイ 0a7b-vAWO)2017/01/03(火) 13:00:40.60ID:9MECLtGX0
コンパイラのバージョンアップに伴う破壊的変更って、そんなに多いの?
サービスパックでバイナリ変わって何の問題があるの?
0110デフォルトの名無しさん (ワッチョイ d33c-weIz)2017/01/03(火) 13:11:51.57ID:xooqIixo0
>>108
Window Updateするたびにテストし直してるの?
0111デフォルトの名無しさん (スプッッ Sd4a-weIz)2017/01/03(火) 13:14:49.12ID:zguhP+0Gd
>>108
たとえばどのサービスパック?
0112デフォルトの名無しさん (スフッ Sdaa-smXe)2017/01/03(火) 17:50:15.96ID:neLiV4/Td
3.5が出たときは確かにKB当てるたびにバイナリ変わったな。
あれはやばかった。MS来てもらった。
まぁ、開発環境変えるだけでバイナリ替わるのはたまにある気がする。
デフォルトオプション変わったり。
0113デフォルトの名無しさん (ワッチョイ 0ece-N5TX)2017/01/03(火) 17:59:18.98ID:NG8bRimt0
別環境でリビルドするってことは全テストやり直しだと思うけどな
exeのCRCが違うだけで大騒ぎだよ
0114デフォルトの名無しさん (ワッチョイ d33c-weIz)2017/01/03(火) 19:22:46.72ID:xooqIixo0
>>113
別環境って具体的に言うと何が違う環境のこと?
0115デフォルトの名無しさん (ワントンキン MMfa-BD8y)2017/01/03(火) 19:24:17.81ID:z13mJHntM
自動テスト走らせて終わり
0116デフォルトの名無しさん (スプッッ Sd4a-weIz)2017/01/03(火) 19:24:37.24ID:WXd1abP3d
>>112
開発環境じゃなくてビルド方式の話だろ
0117デフォルトの名無しさん (ワッチョイ 3b3c-vAWO)2017/01/03(火) 19:58:20.04ID:KCsiqS050
サービスパックでバイナリ変わってどんな問題が出るのか早く答えてくれよ
0118デフォルトの名無しさん (ワッチョイ ffbb-Sa8B)2017/01/03(火) 20:35:18.51ID:f2h7dQbm0
まずOSのSPかVSのSPか。
0119デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 20:55:23.92ID:kvTQlyIsa
>>117
IL的に、スレッド絡みのコードの実行順序が変わるのがあった。
ヤバかった。
あとUIスレッドをinvokeしてるのに一向に上がってこないのでMSに電話して教えてもらった回避コードが、KB当てると仇になってすごく大変な思いをした。

具体的にどのKBかはさすがにもう十年近く前の話だから出てこないけど。
0120デフォルトの名無しさん (ワッチョイ ffbb-Sa8B)2017/01/03(火) 21:00:43.94ID:f2h7dQbm0
Vista以降はバージョン管理方法変わったから
古いのでビルドしたらUpdateしてもちゃんと古いライブラリが呼ばれるだろう。
0121デフォルトの名無しさん (ワッチョイ d33c-weIz)2017/01/03(火) 21:04:39.45ID:xooqIixo0
>>119
>>118
0122デフォルトの名無しさん (オッペケ Sra3-VMLW)2017/01/03(火) 21:09:05.75ID:jisG0r0rr
>>119
>ヤバかった
環境に依存して挙動が変わる糞コード書いてるお前がな
0123デフォルトの名無しさん (ワッチョイ ffbb-Sa8B)2017/01/03(火) 21:22:49.13ID:f2h7dQbm0
それは無理。Javaで証明されたろ。
0124デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 22:14:44.80ID:kvTQlyIsa
>>122
環境に依存して挙動が変わると言ってもなぁ。
ILでまず結構違うコードになってたから。
そうじゃないとMS呼ばないし…。
うちが発端で出たKBも結構あるよ。
歴史を知らん奴なら仕方ない話だけど。
0125デフォルトの名無しさん (オッペケ Sra3-VMLW)2017/01/03(火) 22:29:02.82ID:UBgfjyMnr
>>124
ILが違うとかどうでもよくて、そのILは言語仕様に違反してなかったんだろ?
自分のアホさがKBになったのを自慢されても
0126デフォルトの名無しさん (アウアウオー Sac2-FZ8F)2017/01/03(火) 22:29:56.08ID:HUUvcaepa
>>124
トンチキなこと言ってる奴相手にしなくていいのに
0127デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 22:40:51.48ID:kvTQlyIsa
>>125
言語仕様と言うか、まぁ違反はしてないよ。
違反はしてないけど間違ってたよ。
交通違反はしてないけどそもそも道間違って袋小路をぐるぐる回る田舎者みたいになってた。
ILがどうでも良いわけ無いじゃん…。
0128デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 22:41:32.14ID:kvTQlyIsa
>>121
あ、見逃してた。.net FWのKB。
0129デフォルトの名無しさん (スプッッ Sdaa-weIz)2017/01/03(火) 22:48:21.94ID:iTpzNjFbd
>>128
つまりVisual Studioはアップグレードしても問題ないと
0130デフォルトの名無しさん (ワッチョイ d33c-weIz)2017/01/03(火) 22:50:46.15ID:xooqIixo0
>>128
スレッドいじろうとして失敗する典型的な糞コードかよ
0131デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 23:09:45.58ID:kvTQlyIsa
>>129
確実とは言えんけど、コンパイラのバージョンが上がらないなら大丈夫な気はするな。
あと、環境変数周り。

>>130
お前はもうすこし考えて喋れ。
0132デフォルトの名無しさん (ワッチョイ 83a1-HB/E)2017/01/03(火) 23:09:56.26ID:K9PZ4HA50
単純に仕様に無い実装上の実行順序に依存してたって話やないんか
0133デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 23:13:58.63ID:kvTQlyIsa
>>132
せやないで、本来は実行順序的にはコンテキストが切り替わるべきシーンで切り替わらん現象があって、GetMessageしてTranslateMessageしてDispatchMessageしないとデッドロックするとか、
そういう類のやつ。
0134デフォルトの名無しさん (ワッチョイ 83a1-HB/E)2017/01/03(火) 23:14:21.26ID:K9PZ4HA50
GC/DOMが実装されてからが本番なので
しばしお待ちをって感じだね
0135デフォルトの名無しさん (ワッチョイ 83a1-HB/E)2017/01/03(火) 23:14:50.64ID:K9PZ4HA50
>>134
誤爆
0136デフォルトの名無しさん (ワンミングク MMfa-BD8y)2017/01/03(火) 23:18:14.10ID:7mNkwS/NM
バグの詳細を書かないと判断が付かないな
本当にバグだったのか
APIの誤用をバグと言い張っているだけなのか
GUIだと特に仕様の誤認は多いからな
0137デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 23:21:24.02ID:kvTQlyIsa
>>136
何を疑ってるかわからんが、MSの人来てもらって、回避コードを提供してもらって、結果その後KB出たんだから、少なくとも不具合はあったのかと。
あれほどMSと繋がり強い会社で助かったことは無かったわ。
0138デフォルトの名無しさん (ワッチョイ ffbb-Sa8B)2017/01/03(火) 23:23:57.34ID:f2h7dQbm0
MSのサポートは当たり外れがあるがまとも。最悪なのはオラクル。
0139デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 23:26:52.81ID:kvTQlyIsa
仕様の誤認とかごちゃごちゃ言ってるやつは、.net FW 2.0から3.5の時のあの歩く場所すべてが地雷原みたいなあの状態を知らんのだろうな。
>>138
当たり引いたら、
「契約上、成果物は作れませんが、凄く良くできたサンプルは提供できます。凄く良く出来たサンプルはサンプルなので修正してくださいね、コピーライトとか」
なんて便利な人来てくれるからな。
高いけど。
0140デフォルトの名無しさん (ワッチョイ 9f23-4Ie9)2017/01/03(火) 23:27:44.88ID:0AbGJStf0
ほぼ内部でしか使われていないCのクロスコンパイラで、do whileの論理が逆という酷いバグが有って
先輩がソレに合わせて逆に書いたんだが、普通にコンパイラ直されてパニクったこと遭ったな
0141デフォルトの名無しさん (オッペケ Sra3-VMLW)2017/01/03(火) 23:31:34.08ID:yN3oG6Qmr
>>137
お前が「どういうのが仕様で」「どういう動作をした」
からバグだと言い張ってんのか具体的説明すればいいだけ
それが出せなきゃ誤用を疑われるのは必然なのに
そんなこともわからんのか?
0142デフォルトの名無しさん (アウアウイー Sae3-smXe)2017/01/03(火) 23:37:21.09ID:kvTQlyIsa
>>141
具体的説明はしたじゃん。
GetMessageしてTranslateMessageしてPostMessageって一言で言えばVB6のDoEventsよ。大体どのシーンかそれだけで理解できると思うけど。

あまりの経験不足やら実力不足でお前がそう思ってんならもうそれでいいよ。
死ぬまで自分の知識や経験より他人の誤用疑っとけ。

前職の10年前のコードなんて俺もあたりはついてても出しようないしな。
0143デフォルトの名無しさん (ワッチョイ ea90-4Ie9)2017/01/03(火) 23:40:44.20ID:Q90ptGUV0
前にNRIのバカが
フロントをWindowsアプリで
ロジックを全てPHPで開発してる糞プロジェクトがあったぞ。

当然破綻したけどな。
0144デフォルトの名無しさん (ワッチョイ d33c-weIz)2017/01/03(火) 23:49:11.58ID:xooqIixo0
>>131
具体的に
0145デフォルトの名無しさん (ワンミングク MMfa-BD8y)2017/01/03(火) 23:49:20.32ID:7mNkwS/NM
根拠となる文書、テスト仕様、テスト結果
少なくともこれぐらいは欲しいよね
GetMessageしてほにゃほにゃ〜でこれが詳細ですキリッって一体どういう会社なんだろ
大きい会社みたいだし不安になってくるわ
0146デフォルトの名無しさん (オッペケ Sra3-VMLW)2017/01/03(火) 23:51:04.26ID:yN3oG6Qmr
>>142
ILの実行順序が変わったバグの説明が
>GetMessageしてTranslateMessageしてPostMessage
なのかw
>前職の10年前のコードなんて俺もあたりはついてても出しようないしな
あ…(お察し)
0147デフォルトの名無しさん (ワッチョイ ded4-4Doi)2017/01/04(水) 00:11:21.80ID:zmi2V8Wc0
>>145
えっ
まーその




えっ?
0148デフォルトの名無しさん (ワッチョイ 4613-Sa8B)2017/01/04(水) 01:28:07.64ID:Cuh89P7C0
PostMessageが失敗するかどうかでメモリの余裕具合をみる話ならば,どこぞでずいぶんと賑わったね
0149デフォルトの名無しさん (ワッチョイ 8a7b-HB/E)2017/01/04(水) 01:34:13.72ID:QkHdvWWM0
VSスレでやれ
0150デフォルトの名無しさん (ワッチョイ 8a7b-HB/E)2017/01/04(水) 01:35:06.24ID:QkHdvWWM0
おっと誤爆
0151デフォルトの名無しさん (ドコグロ MM16-vnn7)2017/01/04(水) 07:22:47.02ID:CCOfH6ODM
>>111
C# は知らんけど C++ は結構変えられてるよ
https://msdn.microsoft.com/library/mt723604(v=vs.140).aspx
まあ規格に違反してるコードに起因するんだけどそれが 0 であることを保証できないしなにが原因だろうと不具合起きたらこっちの責任になるんだから Update 適用したらうちは再確認している
0152デフォルトの名無しさん (ドコグロ MM16-vnn7)2017/01/04(水) 07:28:30.50ID:CCOfH6ODM
>>138
だね、特にAPIとか開発ツールのサポートはあっちも同類の人と思ってくれるのか結構真面目に対応してくれる感じ
Oracle はくそ高いのに対応最悪
でもお客さんの手前サポートは外せない...
0153デフォルトの名無しさん (スプッッ Sdaa-weIz)2017/01/04(水) 07:51:43.73ID:/ZWNU792d
>>151
C#の話なんだが
ランタイムの更新は気にしないの?

ビルド方式を変えないVisual Studioのアップグレード危険派はどこに行ったんだ…
0154デフォルトの名無しさん (ワッチョイ 0ece-N5TX)2017/01/04(水) 08:07:01.31ID:0ISnzSv/0
何も変えなくてもビルドする度にexeのチェックサムって変わるだろ
当然ながらリビジョンも変えるし
そんなもんを運用中に適用するなら本番入れる前にテストやり直して
場合によっては関係部署に再テスト依頼せにゃならんよ
平たく言えば普通のリリース作業と同じ工数、お金が掛かる
0155デフォルトの名無しさん (ドコグロ MM16-vnn7)2017/01/04(水) 08:22:25.36ID:CCOfH6ODM
>>153
> C#の話なんだが
C++ で変わってるのに C# なら大丈夫とかお花畑過ぎるんじゃね?
> ランタイムの更新は気にしないの?
なんで気にしないことになってるんだ?
0156デフォルトの名無しさん (スプッッ Sdaa-weIz)2017/01/04(水) 08:32:41.01ID:/ZWNU792d
>>155
根拠ねーのかよ
じゃ、ランタイムについてはどうしてんの
0157デフォルトの名無しさん (スプッッ Sdaa-weIz)2017/01/04(水) 08:34:32.35ID:/ZWNU792d
>>154
>場合によっては
当たり前だろ
しかしいつからexeの話になったんだ?
0158デフォルトの名無しさん (ワッチョイ 0a7b-vAWO)2017/01/04(水) 08:38:17.44ID:oDke8IkR0
どっかのバカが別環境でビルドしたら
exeのCRCが変わって大騒ぎした、って書いたあたりかな
0159デフォルトの名無しさん (ドコグロ MM16-vnn7)2017/01/04(水) 12:42:50.86ID:CCOfH6ODM
>>156
お気楽な奴はいいなあ w
> 根拠ねーのかよ
「変化しない」と言う根拠がないから確認するんだよ
> じゃ、ランタイムについてはどうしてんの
ちょいと前からランタイムっていってるけどなんの話だ?
0160デフォルトの名無しさん (ワッチョイ 8a17-YvgG)2017/01/04(水) 16:37:16.25ID:zdqZcue50
(これって 97 のバイナリが変わらないって主張から始まってるのに、なんで変わる方にソースを求める展開になってるんだろう?)
0161デフォルトの名無しさん (ワッチョイ 0602-eqBK)2017/01/04(水) 17:05:39.31ID:JR/sdM0U0
バイナリが変わろうが変わるまいが、開発環境変えたらどうせ全部テストやり直しだからどうでもいい話題
ほとんどがVS単体で全てが完結してるわけでもないしな
0162デフォルトの名無しさん (アウアウオー Sac2-FZ8F)2017/01/04(水) 18:12:38.94ID:Iw3OVxAUa
>>161
個人的にはそれも無駄なコストだと思うけどね。
原発やICBMの制御ソフトでも作ってるのなら話は別だけど
.NETなんて所詮JITなんだからネイティブアプリより実行環境の違いに依存する部分が大きいのに

日本人ってバランス感覚が悪いっていうか、トータルの製品のコスパを考えずに
しょうもないところに過剰品質になる傾向があるよな。

家電なんかそれでやられた部分もあるのにさ。
0163デフォルトの名無しさん (スプッッ Sdaa-weIz)2017/01/04(水) 18:18:02.15ID:/ZWNU792d
>>161
ビルド方式は変えない
0164デフォルトの名無しさん (ワンミングク MMfa-BD8y)2017/01/04(水) 18:25:54.34ID:geMbjMeoM
開発環境を変えたら自動テスト走らせて終わり
追加のテストは費用など応相談
稀な事例を持ち出してテスト工数を増やそうとする奴は処分
0165デフォルトの名無しさん (ワッチョイ 8a17-YvgG)2017/01/04(水) 18:54:32.15ID:zdqZcue50
>>162
お客さんにそう言って納得してもらえれば、だな。

医療系のソフトを触ってたときは、ビルド&インストール用のパッケージを作成する専用の端末を用意してた。
もちろんサーバ?はこちらで用意して、各ソフトのバージョン等々を統一してアップデートは禁止。くらいは普通だったような。

そうかと思えば、新しい PC でカタログに書いてあることをやろうとしたら出来なくてサポートに頼ったら
「そんなの知らん」で返されたこともあるから、作るアプリの種類や性質によるんだろ。
それを自分の環境や感覚で一元的に決めつけようとするからおかしくなる。
0166デフォルトの名無しさん (ワッチョイ 8a17-eJTV)2017/01/04(水) 19:02:05.37ID:MZRDhGwM0
お客さんの要望を全面的に受け入れる社長は経営から逃げてる
部下が苦労するだけで自分は楽だから
0167デフォルトの名無しさん (スップ Sd4a-weIz)2017/01/04(水) 19:09:43.62ID:oq8Msdznd
>>165
ビルド方式を教えて!
0168デフォルトの名無しさん (ドコグロ MM16-vnn7)2017/01/04(水) 19:40:51.40ID:CCOfH6ODM
>>166
別に社長のためにやってる訳じゃないよ
(てかお客さんの要望を社長が知ってるとか零細かよ w)
トラブったら自分が苦労するだけだから
なので Update も事前にテストしてから導入するし >>164 も書いてるような自動テストも活用してる
まあ会社や作るものによって色々違うとは思う
0169デフォルトの名無しさん (ワッチョイ ffbb-Sa8B)2017/01/04(水) 20:04:33.02ID:6hrR76Ry0
> お客さんの要望を社長が知ってる

ゲイツのことだな。
0170デフォルトの名無しさん (ワッチョイ 07dc-Ft01)2017/01/04(水) 23:17:39.13ID:P9CxkEKM0
そもそも客側にまともなコスト勘定と経営判断ができるなら、大概の案件は出来合いのパッケージ入れたら終わりだからな
それをわざわざアホみたいにコストかけてオーダーメイドしてるんだから客からすれば柔軟な対応()を期待するのは当然
0171デフォルトの名無しさん (ワッチョイ f394-+QcV)2017/01/04(水) 23:49:33.72ID:yVktE4ER0
プログラムの売り手と買い手のあれこれはム板じゃなくてマ板でやれと誰かが言ってたみたい
0172デフォルトの名無しさん (ワッチョイ eb46-Eko0)2017/01/04(水) 23:50:29.77ID:sLM1aG3B0
すみません、間違えてソフトウェア板のほうに書いてしまったのですが、改めて質問させてください。

みなさんMVCやMVVMといったUIアーキテクチャの知識はどのように勉強しましたか?
ネットの情報をあさっているのですが、いまいちぼんやりとしてどう実装していいのか悩んでいます
なにかよい書籍やサイトがあれば教えていただきたいのですが、よろしくお願いします。
Windows Formで開発しています。
0173デフォルトの名無しさん (アウアウオー Saff-fu3N)2017/01/05(木) 00:32:21.65ID:e3gR0RPga
Windows FormにMVCもMVVMも適用できないのでは?w

Windows Formにそんな大げさな思想はいらないでしょ。
単にモデルに相当する部分のコードをFormに書かなきゃそれで十分だし、
それは余程筋が悪い人じゃなきゃ誰が書いても普通は自然とそうなる
0174デフォルトの名無しさん (ワッチョイ 5b3c-XGsk)2017/01/05(木) 00:48:38.63ID:heQK3sW60
MVCはともかく、MVVMは関係ねーな…w
0175デフォルトの名無しさん (ワッチョイ 0bdc-60SX)2017/01/05(木) 00:53:49.13ID:xL0iNOQ30
本来のMVCは昔のSmalltalkの制約から生まれたもので、そのまま他のプラットフォームに適用できるものではない
WinFormsの場合、VとCを分ける意味はない
Mを分離するだけなら、いわゆる「ビューとロジックの分離」ってやつで特に悩むことはないと思う
0176デフォルトの名無しさん (ワッチョイ 2bbb-HvS5)2017/01/05(木) 01:17:34.27ID:5IyfMoci0
MVCとMVVMを三行で説明してくれ。
0177デフォルトの名無しさん (ワッチョイ 5b3c-XGsk)2017/01/05(木) 01:22:16.28ID:heQK3sW60
M M
V V
C VM
0178デフォルトの名無しさん (アウアウイー Sa3f-WHJN)2017/01/05(木) 01:52:00.35ID:yCqown6ia
>>165
具体的に、とか叩かれてた俺も医療。
若い人は知らんのだろう。
0179デフォルトの名無しさん (ワッチョイ 4fcb-626o)2017/01/05(木) 01:54:24.81ID:OcKsuL+R0
>>172
雑誌やソフトの提灯だからなぁ
そもそも画面と内部なんて切れないのに切っていいことって何かある?
ってところからぶっちゃけ説明できる奴なんかいないから
現場に合わせてテキトーにやっとけばって思う
0180デフォルトの名無しさん (ドコグロ MMff-JQu6)2017/01/05(木) 08:18:11.90ID:IruuUmglM
>>178
若いとかは関係ないでしょ
単にやってる仕事によるってだけのことかと
信頼性よりリリース時期が優先な業種もあるし
0181デフォルトの名無しさん (スプッッ Sdff-bDM2)2017/01/05(木) 08:22:52.46ID:PsU3CkNVd
>>180
そもそもMSBuild叩いてビルドすらできないやつらもいるだろね
0182デフォルトの名無しさん (スププ Sdff-WHJN)2017/01/05(木) 08:33:50.14ID:BBOrCYHKd
>>180
同年代にそこそこの規模のプロジェクトやってたらあのへん一連のトラブルほとんどの人がMSにキレた事件だと思ってたわ。
0183デフォルトの名無しさん (アウアウエー Saff-7WTe)2017/01/05(木) 13:18:03.10ID:WnmYFKGaa
オリジナルのMVCからMVVM(のひとつ手前のPresentation Modelパターン)までの流れを
ざっくりと知りたい人にはこちらのスライド6〜23がおすすめ

あの日見たMVCを僕たちはまた知らない for RoR
http://www.slideshare.net/shinnosukekugimiya/mvc-for-ror/6
0184デフォルトの名無しさん (ワンミングク MMff-+flj)2017/01/05(木) 20:37:30.07ID:STssXerHM
この業界ってめちゃくちゃ幅が広いのになんで自分の携わる領域が絶対の常識みたいな視野の狭い人が多いのか
0185デフォルトの名無しさん (ワッチョイ 2bbb-HvS5)2017/01/05(木) 21:13:27.12ID:5IyfMoci0
大海を知る蛙はいないって諺があってな。
0186デフォルトの名無しさん (スップ Sdff-YkAD)2017/01/05(木) 21:19:56.05ID:hTR7neYkd
自動テスト走らせて終わりって話多くてすごいなぁってのと良いなぁってのをいつも思う
0187デフォルトの名無しさん (ワッチョイ fb46-IbiL)2017/01/05(木) 21:37:50.19ID:rW/6GZ2i0
172です。皆さんありがとうございます。
無理に適用しようと思わないほうがいいんですかね。
まずは皆さんが言うようにロジックの分離を意識してみます。

>>183
ありがとうございます。ちょっと見てみます。
0188デフォルトの名無しさん (ワッチョイ 4fcb-626o)2017/01/05(木) 22:00:20.10ID:OcKsuL+R0
>>184
その言葉が自分には当てはまらないと思ってるやつばっかりだからさ
0189デフォルトの名無しさん (スフッ Sdff-2e51)2017/01/05(木) 23:04:36.88ID:QOSLe2yYd
>>186
GUIなら自動テストだけで済ますなんて不可能だもんな
0190デフォルトの名無しさん (ワッチョイ 5f90-pn3f)2017/01/05(木) 23:11:41.74ID:EwRsaOli0
テストテストいってるやつは
テストエンジニアとなのるコーダー以下
0191デフォルトの名無しさん (ワッチョイ 2bbb-HvS5)2017/01/06(金) 01:09:53.85ID:in81s7xm0
>>190
ここまでのクズはなかなかいない。
0192デフォルトの名無しさん (ワッチョイ 5f90-pn3f)2017/01/06(金) 01:29:37.38ID:WSjKfiqE0
テストエンジニアと名乗るあほ会社がいたなー。

奴ら恥ずかしくねーのかね。開発できないからテストしてるだけなのに。
0193デフォルトの名無しさん (ワッチョイ 5b3c-bDM2)2017/01/06(金) 02:04:56.09ID:b3HzQEm20
>>189
>GUIなら
それはちと違う。
0194デフォルトの名無しさん (ワッチョイ 6f13-2e51)2017/01/06(金) 02:57:19.46ID:cmLDW6hw0
>>193
GUIを全部自動テストで済ませてるの?
0195デフォルトの名無しさん (アウアウイー Sa3f-WHJN)2017/01/06(金) 02:58:26.63ID:GdJpzA35a
テスト屋バカにするとは、なかなか中小の発想だなあ。
0196デフォルトの名無しさん (ワッチョイ df17-51vH)2017/01/06(金) 03:14:17.58ID:I3Occ/9i0
お前等の頭にここのスレタイを入力して応答を確認するテストをしてみてくれないか。
0197デフォルトの名無しさん (ワッチョイ df30-QVlo)2017/01/06(金) 05:45:23.72ID:Zbbenqpe0
人類初心者ならこんなもんだろ
0198デフォルトの名無しさん (ワッチョイ 5b3c-bDM2)2017/01/06(金) 06:15:51.87ID:b3HzQEm20
>>194
全部自動化できない理由はGUIだからではないだろ
0199デフォルトの名無しさん (スフッ Sdff-2e51)2017/01/06(金) 09:23:52.69ID:zpqqPJuXd
>>198
全部自動テスト化できないのは必ずGUIであるなんて一言も言ってませんが
0200デフォルトの名無しさん (ワッチョイ df17-51vH)2017/01/06(金) 11:09:41.00ID:I3Occ/9i0
見事にバグってるようだな。 < 頭
0201デフォルトの名無しさん (スップ Sdff-bDM2)2017/01/06(金) 12:10:35.65ID:YJ4SgLJvd
>>199
必要条件と十分条件でググってこいwww
0202デフォルトの名無しさん (ワッチョイ bb63-QVlo)2017/01/06(金) 12:38:38.84ID:k+rThWmR0
ググるより義務教育受けてこい
0203デフォルトの名無しさん (スフッ Sdff-2e51)2017/01/06(金) 13:23:06.57ID:zpqqPJuXd
しょうもな
0204デフォルトの名無しさん (ワッチョイ 5f90-pn3f)2017/01/09(月) 21:30:23.78ID:I4EKGEh90
PHP スレッドが死んでいたのでここで質問させて頂戴


echo mb_detect_encoding($asins[0][0], "JIS,SJIS,eucjp-win,sjis-win,UTF-8");

PHPで文字列の文字コードを判別する場合、
この様に引数に予め複数の文字コードを列挙する必要があるのでしょうか?

感覚的には、mb_detect_encoding関数の引数に
調査対象の文字列を入れれば、自動で文字コードが検出されるものかと思っておりました。
0205デフォルトの名無しさん (ワッチョイ 5b3c-bDM2)2017/01/09(月) 21:43:37.92ID:qNaaD21i0
>>204
スレチ
0206デフォルトの名無しさん (ワッチョイ df17-51vH)2017/01/09(月) 22:50:57.27ID:31i75J/I0
なぜにここで。w
せめてこっちで。

スレ立てるまでもない質問はここで 145匹目©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1483755167/
0207デフォルトの名無しさん (ワッチョイ 0bba-KSNS)2017/01/10(火) 03:55:42.79ID:ZxwznXIF0
つか板違いじゃね
phpはwebprogだろ?
0208デフォルトの名無しさん (ワッチョイ 5b3c-bDM2)2017/01/10(火) 07:27:16.02ID:x8VqU/Jr0
>>207
あそこ息してなくね?
0209デフォルトの名無しさん (オッペケ Sr3f-LKdv)2017/01/10(火) 10:47:15.57ID:y5nNWUlVr
phpスレ死んでないじゃん
【PHP】下らねぇ質問はここに書き込みやがれ 7 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1478657006/
0210デフォルトの名無しさん (ワッチョイ 6b87-IbiL)2017/01/10(火) 16:37:08.82ID:VMz618Ma0
DataGridViewのスクロールで質問させてください。
マウスホイールを1段階回すと、3行スクロールするのですが、
沢山スクロールさせたくて大きく回転させたときに、
3行ずつのスクロールがだらだら継続してスクロールするような
動作になってしまいます。

エクセルのスクロールみたいに、大きく回転させたときは、
短時間でまとめて何行もスクロールするようにさせるには、
どのようにすれば良いでしょうか。
0211デフォルトの名無しさん (ワッチョイ 4fce-O2rp)2017/01/11(水) 03:14:29.19ID:rLEOP1iX0
WM_MOUSEWHEEL
0212デフォルトの名無しさん (ワッチョイ 67c0-q48i)2017/01/12(木) 01:10:29.42ID:1UPTCkNR0
年末年始のバージョン談義を他人事だと笑ってたら、VS2005&2.0縛りの改修案件が来たでござる・・・
linqって便利だったんだな
0213デフォルトの名無しさん (ワンミングク MMe2-kkJw)2017/01/12(木) 01:36:15.87ID:jfwpinV9M
同じ状況でジェネリック型推測が弱くて困ったな
ジェネリックメソッドに匿名デリゲートがうまく渡せないんだわ
これのせいでLINQの再現ができなかった
0214デフォルトの名無しさん (ワッチョイ 573c-Fvni)2017/01/12(木) 01:51:54.01ID:qhQd7W/g0
>>212
バージョンにこだわってたやつは、結局最後までビルド方式を具体的に説明できなかったよな
0215デフォルトの名無しさん (スップ Sdf2-Fvni)2017/01/12(木) 02:01:35.67ID:5xl7vtsqd
大方ビルドスクリプトすら書いたことなかったんだろ
0216デフォルトの名無しさん (ワッチョイ d3bb-dHfL)2017/01/12(木) 02:33:46.24ID:arip6tnc0
Linqは糞やで。
0217デフォルトの名無しさん (ワッチョイ 26cb-TTK6)2017/01/12(木) 05:22:30.14ID:Rz+H5K5o0
>>216
よくわかってるじゃん
0218デフォルトの名無しさん (ワッチョイ c387-YL17)2017/01/12(木) 11:28:08.09ID:sl7x1gs80
>>211
>>210ですが、ありがとうございます。
そのプロパティを確認してみます。
0219デフォルトの名無しさん (ワンミングク MMe2-kkJw)2017/01/12(木) 20:13:55.19ID:wTRJIMgPM
Linqは最高だろ
もうループなんて書きたくない
0220デフォルトの名無しさん (オッペケ Sr37-tin3)2017/01/12(木) 20:24:43.40ID:pcmVyHykr
インストーラーはツール使うけどアップデータは自分で作るの?
0221デフォルトの名無しさん (ワッチョイ c387-YL17)2017/01/12(木) 21:31:14.23ID:sl7x1gs80
210、218ですが、まさにやりたいことがこのページに掲載されていました。
http://point56.blogspot.jp/2013/11/cdatagridview.html
ですが、このページで書かれている派生クラスの使い方が全くわかりません・・・。

いろいろ派生クラスについて説明されているページを見たのですが、
理解できないで困っています。

どのようにすれば(イベント登録すれば)、DataGridViewのマウスホイールイベントをこのクラスで拾うことができるのでしょうか。
0222デフォルトの名無しさん (ワッチョイ f65e-q48i)2017/01/12(木) 21:36:29.73ID:PgQtmrLv0
>>221
そのコードを追加するとDataGridViewExという新しいコントロールが追加されるからデザイナから設定する
0223デフォルトの名無しさん (ワッチョイ c387-YL17)2017/01/13(金) 09:09:29.07ID:8SyQt6YV0
>>222
ありがとうございます!
新しいコントロールを作るイメージなんですね。
既存のコントロールのイベントに割り込ませてデータを操作するものかと思ってました。
0224デフォルトの名無しさん (ワッチョイ bb42-o2zU)2017/01/13(金) 15:34:39.80ID:djneXx1M0
>>223
継承ってのはそういうこと
既存のクラスを継承して何かを付け加える
0225デフォルトの名無しさん (ワッチョイ c387-YL17)2017/01/13(金) 19:03:27.21ID:8SyQt6YV0
>>224
解説ありがとうございます。
また一つためになりました。
0226デフォルトの名無しさん (ワンミングク MMe2-kkJw)2017/01/13(金) 19:26:27.17ID:wiy2qrIvM
どうしても多重継承したい
多重継承しないと人質が殺される
そんな時はどうすればいいですか?
0227デフォルトの名無しさん (ワッチョイ 573c-9HYG)2017/01/13(金) 19:30:04.78ID:HmhyNPER0
人質を犠牲にしろ
0228デフォルトの名無しさん (ワッチョイ f69d-dHfL)2017/01/14(土) 00:14:13.97ID:exppjyX70
正解
0229デフォルトの名無しさん (ワッチョイ d3bb-dHfL)2017/01/14(土) 05:16:19.52ID:CFNCXkHH0
C++にする。
0230デフォルトの名無しさん (オッペケ Sr37-BaOC)2017/01/14(土) 18:54:20.81ID:JH3WL89Lr
>>226
interfaceにして委譲コードを書きまくる
0231デフォルトの名無しさん (ワッチョイ d3bb-dHfL)2017/01/16(月) 06:25:25.99ID:x3SkEOMR0
委譲コードってなんですか。
0232デフォルトの名無しさん (ワッチョイ f717-q48i)2017/01/16(月) 23:34:39.66ID:eY5lFpG80
処理を委譲するので移譲(デリゲート)と呼ばれます
0233デフォルトの名無しさん (ワッチョイ d3bb-dHfL)2017/01/17(火) 06:40:12.79ID:cbxfPpyL0
関数ポインタのことか。
0234デフォルトの名無しさん (ワッチョイ 7e23-q48i)2017/01/17(火) 09:35:08.34ID:ku+L5HXP0
移譲コードは謎だが、継承に対する移譲ってことで、クラスのフィールドにクラスのインスタンスを生成して利用する形態のことかと
移譲コードってのは、その内部に有るクラスへのアクセス手段のコードってことかな?
0235デフォルトの名無しさん (ワッチョイ 924c-nun4)2017/01/17(火) 11:24:04.19ID:PBcgESW70
関数ポインタってか、処理を動かす箱みたいな感覚
0236デフォルトの名無しさん (ワッチョイ 7e23-q48i)2017/01/17(火) 13:32:23.97ID:ku+L5HXP0
>>235
いや、オブジェクト指向にはC#のデリゲートとは違う移譲という概念が有って、継承と似て非なるテクニックとして屡々使われる
https://ja.wikipedia.org/wiki/%E5%A7%94%E8%AD%B2

C#のはこっち
https://ja.wikipedia.org/wiki/%E3%83%87%E3%83%AA%E3%82%B2%E3%83%BC%E3%83%88_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
0237デフォルトの名無しさん (オッペケ Sr37-BaOC)2017/01/17(火) 17:49:23.15ID:KIp0gGYMr
interface IX f1, f2, f3,...fn
interface IY g1, g2, g3,...gn

class A : IX, IY {
XImp x;

f1(){}
f2(){}
...
fn(){}

g1() => x.g1();
g2() => x.g2();
...
gn() => x.g3();
}

なんちゃて多重継承w
0238デフォルトの名無しさん (アウアウカー Sa5f-tnb3)2017/01/18(水) 20:02:35.80ID:XUepeqxVa
お勉強でASP.NETかじりだしたらソースコード自動で吐くのはいいが、フレームワークのお作法ばっかでプログラミングの練習にならんのね
スタンドアロンアプリにネット接続みたいなことやったほうがプログラミングのスキルはつくのかね?
0239デフォルトの名無しさん (ブーイモ MM8b-7fB1)2017/01/18(水) 20:05:28.14ID:m92xtUQhM
MVCの方やれば?
もっと原始的な仕組みだから何やってんのかよくわかるよ
0240デフォルトの名無しさん (ワントンキン MMe2-kkJw)2017/01/18(水) 20:33:15.95ID:vXs3og/7M
ASP.NETが自動で吐くコードは正直使えない
0241デフォルトの名無しさん (スップ Sdf2-Fvni)2017/01/18(水) 20:35:13.00ID:bBGXUnSyd
>>238
曖昧な言い方されるとわからん
ASP.NET Core触ってその感想なわけ?
0242デフォルトの名無しさん (ワッチョイ bbdc-lDPz)2017/01/18(水) 22:05:09.42ID:cw6vafSX0
一口にプログラミングのスキルといっても色々ある
1. 複雑で大規模なロジックをエレガントに設計・実装できる
2. 難解なアルゴリズムを設計・実装できる
3. ハード・ミドルウェア・通信プロトコルなど、インフラを深く理解してプログラムから使いこなせる
ASP.NETで身につきにくく、より薄いWebフレームワークを使うことで身に付くのは3
一般的なアプリケーションエンジニアに求められるのは1
解析とかコンパイラ開発のような特殊分野の専門家は2
0243デフォルトの名無しさん (ワッチョイ 573c-Fvni)2017/01/18(水) 23:21:54.21ID:T8mUfMDR0
>>240
具体的には何のコードのことを言ってるの?
0244デフォルトの名無しさん (ワッチョイ f3bb-3qL8)2017/01/19(木) 07:29:23.09ID:q3hudiC70
求められてるのは仕様書もない糞コードを読むスキルやで。
0245デフォルトの名無しさん (ワントンキン MM9f-aDhR)2017/01/19(木) 09:35:58.54ID:uhfgjGGlM
https://chrome.google.com/webstore/detail/%E3%81%AF%E3%81%A6%E3%81%AAng/mbgdnfmdelffjdhkdggilmphfdihnmcj?hl=ja
0246デフォルトの名無しさん (ワッチョイ 230d-516J)2017/01/19(木) 15:19:30.98ID:qAXGwWjx0
文字列からBOMを除去したいのですがどうすればいいですか?
stackoverflowにあった以下のコードを試しましたが、StartsWith()が常にTrueを返して困っています


private readonly string _byteOrderMarkUtf8 = Encoding.UTF8.GetString(Encoding.UTF8.GetPreamble());

if (str.StartsWith(_byteOrderMarkUtf8)) {
str = str.Remove(0, _byteOrderMarkUtf8.Length);
}
0247デフォルトの名無しさん (アウアウウー Sa67-gIHQ)2017/01/19(木) 15:30:12.33ID:IRyNom+ra
BOMってのは生のバイナリーレベルの話であって
少なくともC#のstringに含まれるような代物じゃないと思うんだけど
0248デフォルトの名無しさん (ワッチョイ 9319-r4l2)2017/01/19(木) 15:40:35.80ID:4wnEpswf0
BOMもUnicode文字の1つU+FEFFだからStringに入れることはできるよ
どっから入れるかは微妙なとこだけど(UTF8Encoding.GetStringは問答無用で消すみたいだし)
で試したけど"\ufeffA"はifに入って消えたし"A"はifに入らなかった
0249デフォルトの名無しさん (ブーイモ MM67-XRLM)2017/01/19(木) 17:59:08.76ID:runhsDy0M
シリアル通信プログラムを作成しています。

メインスレッドでコマンド1を送信し、受信内容がAだったらコマンド2を送信するという処理にしています。
受信側(別スレッド?)の処理が終わる前にメイン側が受信内容の判断処理に入ってしまうため、本当に受信内容がAの場合でもコマンド2に移ることができません。
どのように対処すればよいでしょうか。
0250デフォルトの名無しさん (ワッチョイ 7f4c-VYni)2017/01/19(木) 18:08:11.71ID:FKV8qOhE0
受信処理の整合性を判断して、受信処理からInvokeで判断処理を呼ぶ
0251デフォルトの名無しさん (ワッチョイ 03c0-SmTw)2017/01/19(木) 18:10:12.42ID:HUduSCHL0
>>249
.NET4.0の頃に似たようなことやったけどプロデューサー/コンシューマー パターン使ってBlockingCollection経由で受信スレッドと送信スレッドに分けたわ
今だとSystem.Threading.Tasks.Dataflowでもっとシンプルに出来ると思うけど
0252デフォルトの名無しさん (アウアウウー Sa67-gIHQ)2017/01/19(木) 18:22:53.29ID:IRyNom+ra
>>249
何を言ってるのかよくわからないけど、ひょっとして、

送信→受信データ解析→送信

この一連の流れを一つのメソッドで完結させようとしてない?
だとしたらたぶんそれが間違ってる。

一連のシーケンスを処理する専用のオブジェクトを用意すればそんな問題は起こらない。
0253デフォルトの名無しさん (オッペケ Sr87-8S/4)2017/01/19(木) 18:25:27.59ID:ACsZSSudr
c#を10年やってるのにまだ初心者の域を出ない…
0254デフォルトの名無しさん (ワッチョイ f37b-3qL8)2017/01/19(木) 18:41:37.78ID:Ua4qBBzA0
C#だけやってても成長しないと思う
自分が理解できる範囲、自分が分かりやすい範囲でしか書かなくなるから
0255249 (ワッチョイ cfb8-3qL8)2017/01/19(木) 19:07:45.79ID:TCIFCzqn0
>>250
ありがとうございます。
デリゲートで処理すればいいのですね。

>>251
ありがとうございます。
知らない単語が出てきたので調べてみます。

>>252
ご指摘の通りです。
送信メソッド:送信1→受信内容別に分岐→送信2
受信メソッド:DataReceivedイベントで受信
0256デフォルトの名無しさん (ワッチョイ 7f4c-VYni)2017/01/19(木) 22:09:21.74ID:FKV8qOhE0
昔、VC++でシリアル通信の非同期処理してた事があってさ、それをC#で実現しようとして
SerialPortクラスのDataReceivedイベントと
Threading.TimerクラスのTimerCallbackにAutoResetEventを入れて、
WaitHandle.WaitAnyで待機してた事を思い出した。
いま、納品現場で確認してもらったけど今まで問題が起こってないんだが、
本来、C#のシリアル通信でOVERLAPPEDの非同期処理を実現するには、
やっぱWin32APIをゴリゴリ書かんとダメなん?
0257デフォルトの名無しさん (ワッチョイ 6f02-x7a5)2017/01/20(金) 02:24:48.66ID:rKwDbfSd0
シリアルで非同期ってどういうことかわからん
全2重のことを非同期っていってるのか?
0258デフォルトの名無しさん (ドコグロ MM7f-j6UX)2017/01/20(金) 08:16:43.67ID:ymDflbNbM
>>257
>>256 はいわゆる非同期I/O とかOverlapped I/Oの話でしょ
コマンド投げといて並行して何らかの処理を行って暇になったらデータ受信するって奴
まあ通常のシリアルドライバは常時受信してバッファーに溜め込んでるからあまり意味ないけど
0259デフォルトの名無しさん (ワッチョイ 7f4c-VYni)2017/01/20(金) 09:21:01.06ID:aZ8cT+JU0
ふと気になっただけだ。
ごねんね、スレ汚して
0260デフォルトの名無しさん (ワッチョイ 8fce-HQXh)2017/01/20(金) 12:29:54.12ID:JXdqXSkU0
C#脳だとどういう事か判らんのだな
やっぱ知識が偏るよなあ
0261デフォルトの名無しさん (ワッチョイ 6f02-x7a5)2017/01/20(金) 12:49:05.39ID:rKwDbfSd0
>>258
それはシリアル通信での話じゃないし。その上の層とアプリ層との間での話だろ
どんな通信してようが、ローカルファイル読んでようが同じ、単なる非同期IOの話だし
まあバッファリングしないシリアル通信相手に非同期IOかけても結局待つしかないけどな
0262デフォルトの名無しさん (アウアウウー Sa67-gIHQ)2017/01/20(金) 13:16:41.69ID:98BzuqOpa
>>261
何を言ってるのかなこの人...
0263デフォルトの名無しさん (ドコグロ MM7f-j6UX)2017/01/20(金) 19:45:39.69ID:ymDflbNbM
>>256 を読んで全二重とかいっちゃう人なのでお察しってことなんでしょ w
0264デフォルトの名無しさん (ワッチョイ bf85-ZNqe)2017/01/20(金) 20:39:08.06ID:BC+BfvLQ0
質問です!
今日からC#を勉強始めました
配列のコピーをしたいのですが
ここのサイトをみると配列サイズに+1しています
string[] newAuthors = new string[authors.Length + 1];
+1せずに
string[] newAuthors = new string[authors.Length];
でいいと思ったのですが私の間違いでしょうか?
http://www.woodensoldier.info/computer/csharptips/53.htm
0265デフォルトの名無しさん (JP 0H07-SmTw)2017/01/20(金) 21:07:21.40ID:05MQpXAxH
やってみればいいんじゃない?
0266デフォルトの名無しさん (ワッチョイ ff17-x7a5)2017/01/20(金) 21:42:02.36ID:MJq7L3EO0
何の用途か知らないけど、ひょっとしてタイマーコールバック使ってるとこ見ると
Task.Run( () =>
{
} );
で囲むだけでお気楽マルチスレッドになることを知らないとか?
0267デフォルトの名無しさん (ワッチョイ f3bb-3qL8)2017/01/20(金) 21:46:16.09ID:ao0q6onS0
なんというかイラってくるレス
0268デフォルトの名無しさん (ワッチョイ 7fe1-ws0G)2017/01/21(土) 01:34:13.79ID:XoO/Nzrc0
>>264
+1は不要だね
0269デフォルトの名無しさん (ワッチョイ 8fcb-YAkb)2017/01/21(土) 01:34:35.71ID:O/GZ8TN60
>>266
カッコ内の処理が下に記述された処理より後に実行されるのがお気楽でないね
複数書いたらどれが一番最初に実行されるんだろか?
ってところを実はよくわかって使っていないことが同僚にバレるのも時間の問題なわけだよ
0270デフォルトの名無しさん (ワッチョイ bf85-ZNqe)2017/01/21(土) 08:30:00.84ID:7Cy++wUg0
>>268
ありがと〜
0271デフォルトの名無しさん (ワッチョイ 7f4c-VYni)2017/01/21(土) 11:25:24.95ID:wJLBUXJS0
>>266
通信プロトコルで、48bit時間以上の無受信で一区切りなんだけど、ドライバーでSerialPortクラスのReadTimeoutプロパティ(SetCommTimeouts関数)に完全対応していないものが多いから、そのタイマーを用意すた。

今だったら、Task.WaitAnyの一つをタイマーにしとけば楽チンだったかもね。


ところで、C#でWin32のWaitbleTimerのような、そのまま待機メソッド(Wait, WaitAll, WaitAny)に対応してるタイマーってあるの?
0272デフォルトの名無しさん (アウアウウー Sa67-gIHQ)2017/01/21(土) 12:31:23.14ID:iYYQzwCfa
ドライバレベルで対応するような機能かなそれ。違うような気がするけど。

ドライバって言ってるんだからシリアルUSB変換ブリッジを使ってるんだろうけど、
だとしたらそもそもUSBが間に入ってるために48bit時間なんて概念が無効なだけだと思うけど
0273デフォルトの名無しさん (ワッチョイ ff3c-j6UX)2017/01/21(土) 13:03:52.44ID:1cIKmUbZ0
>>272
> ドライバって言ってるんだからシリアルUSB変換ブリッジを使ってるんだろうけど、
あまり知ったかしない方がいいかと...
0274デフォルトの名無しさん (アウアウウー Sa67-gIHQ)2017/01/21(土) 13:09:00.67ID:iYYQzwCfa
うんお前がね

普通にPCIやExpressのバスにぶら下がる形のシリアルの拡張ボードで
特別のドライバを必要とするものなんか見たことないよ

OS標準で最初から入ってるんだから
0275デフォルトの名無しさん (ワッチョイ 8fce-HQXh)2017/01/21(土) 13:41:03.09ID:oJxw4Shh0
48bit時間が何ミリ秒なのか知らんけど本当なら間にマイコンとかでブリッジかますような案件じゃねえの
PC側で設定したタイムアウトのアバウトさで済む話なのかねえ
業務で使うなら破綻すると思うけど
0276デフォルトの名無しさん (ワッチョイ ff3c-j6UX)2017/01/21(土) 14:08:54.55ID:1cIKmUbZ0
>>274
だからいちいち無知晒さんでいいから
http://www.contec.co.jp/product/device/comdrv/#pci
0277デフォルトの名無しさん (ワッチョイ 7f4c-VYni)2017/01/21(土) 14:09:01.72ID:wJLBUXJS0
272、275が近いね。
シリアルTTLのチップがあって、そのドライバーには関数名のプレースホルダーは用意してるがタイムアウトは機能してないって回答をいただいてる。で、プロトコルのルールに従ってタイマーを用意しただけだ。
もちろん、もうこんな仕事は請けんけどな。


ただ、興味で待機メソッド対応のタイマーってC#であるん?ってのが知りたかっただけ。
0278デフォルトの名無しさん (ワッチョイ cf9d-3qL8)2017/01/21(土) 14:18:24.01ID:dBVmTL1r0
48bit時間ってのがどのくらいの長さなのか知りたいだけ
0279デフォルトの名無しさん (ワッチョイ ff17-x7a5)2017/01/21(土) 14:23:49.09ID:JwMYXArD0
マルチスレッド使いながらある瞬間だけシリアル化したいならそこだけ別関数に切り出して
[MethodImpl( MethodImplOptions.Synchronized )]を付けるとお気楽だよ
(ある電気メーカーが作ったシステムのバグをそれで直したことある)
0280デフォルトの名無しさん (ワッチョイ 7f4c-VYni)2017/01/21(土) 14:41:37.57ID:wJLBUXJS0
たしかボーレートの最大が115kだったんで、最短は0.4msecぐらいだったかな…って。
フレーム11ビットで4文字分ぐらい。


で、もうこの話題良いよな?
0281デフォルトの名無しさん (ワッチョイ 13dc-jh1Y)2017/01/21(土) 14:51:59.06ID:Poucv/rB0
>>279
それthisをロックするから.NETの推奨作法に反してる
thisのロックは外に漏れるから予期せずクラス外の排他処理と干渉して
パフォーマンスが落ちたりデッドロックしたりする原因になる可能性がある
0282デフォルトの名無しさん (オッペケ Sr87-8S/4)2017/01/21(土) 18:33:09.25ID:LuBTyI4Rr
WinFormで画像関連の処理(主に合成)をゴリゴリ書いてたらむちゃくちゃ重くなった
ゲームって1/60秒とかで膨大なレンダリングと合成を繰り返しつつ、AI処理とかアニメ、スキン処理とかやってるんだよな

なんでたかが画像の合成ごときで重くなってゲームだとものすごく速く処理できるのかね?
全然わからん
0283デフォルトの名無しさん (ワッチョイ cf5e-SmTw)2017/01/21(土) 18:38:02.55ID:4zEMZhpt0
>>282
GDIに全部やらせたら遅くなるな
合成とかはバイト配列で必要な部分だけやって表示するだけ迄に持っていくとか
DirectXやUnityに画像処理部分やらせるとか
最後はC#じゃなくC++でやるとかw
0284デフォルトの名無しさん (ワッチョイ 33d6-3qL8)2017/01/21(土) 18:50:02.22ID:RZU7JwAh0
実装がクソで遅いこともある
文句を言う前にプロファイラとかで調査しような
0285デフォルトの名無しさん (ワントンキン MM9f-Taza)2017/01/21(土) 19:02:39.13ID:W/zpHkC+M
プロファイラの使い方よくわからんし
0286デフォルトの名無しさん (ワッチョイ f3bb-3qL8)2017/01/21(土) 19:13:16.83ID:0VDH7cX80
C++と違ってC#にはどうやっても超えられない壁があるんだよ。
0287デフォルトの名無しさん (ワッチョイ 9377-8QYx)2017/01/21(土) 20:19:14.82ID:g8nBrPXf0
要所をunsafeにすることで相当効果出る場合もあるけどね。
0288デフォルトの名無しさん (ワッチョイ 1342-sQpi)2017/01/21(土) 20:28:06.61ID:AZ4jUWLU0
餅は餅屋
あとopenGLね
0289デフォルトの名無しさん (ワッチョイ f3bb-3qL8)2017/01/21(土) 21:33:09.90ID:0VDH7cX80
>>287
undafeの突入、脱出のコストが高すぎて、
丸ごとunsafeに入る規模のコードしか高速化できない。
0290デフォルトの名無しさん (ワッチョイ c33c-r8v3)2017/01/21(土) 22:19:24.72ID:LzlUxaG40
>>286
まあ目指すところが違うから当然だわな
0291デフォルトの名無しさん (ワッチョイ 13dc-jh1Y)2017/01/21(土) 22:50:54.76ID:Poucv/rB0
やってることが同じならC#とC++で速度なんか大して変わらん
少なくともスクリプト言語みたいに数桁遅いってことはないから、
C#で書いたコードそのものがボトルネックになってるときに
そのままC++に書き直したってボトルネックが解消することはまず無い
0292デフォルトの名無しさん (ワッチョイ 83a1-5ScM)2017/01/21(土) 23:02:05.21ID:pcFLx4Ty0
越えるも何も基本越えられちゃ困るから壁を作ってる訳で
0293デフォルトの名無しさん (オッペケ Sr87-8S/4)2017/01/21(土) 23:11:22.69ID:LuBTyI4Rr
それにしてもGDIでのレンダリングとゲーム用のレンダリング、雲泥の差じゃない?

画像処理はGPUで計算させればぶっ飛びで速くなるの?
あとポインタ紛いを使えばぶっ飛びになる?
0294デフォルトの名無しさん (ワッチョイ 13dc-wwrd)2017/01/21(土) 23:15:44.15ID:Poucv/rB0
>>293
GPUを使えば爆速になるのは正しいが、ポインタは要らん
画素にリアルタイムで変換をかけたかったらピクセルシェーダ使え
0295デフォルトの名無しさん (ワッチョイ cf9d-3qL8)2017/01/21(土) 23:35:53.59ID:dBVmTL1r0
合成に何に使ってるの?
Graphics.DrawImage()はクッッッッソ遅いよ
0296デフォルトの名無しさん (ワッチョイ cf9d-3qL8)2017/01/21(土) 23:38:32.57ID:dBVmTL1r0
×:何に
○:何
0297デフォルトの名無しさん (ワッチョイ ff4a-SmTw)2017/01/22(日) 00:33:58.14ID:WHkammw20
GDIは速度求めるなら使い物にならない
業務アプリのコントロールのデザイン弄る程度なら十分使える

3Dゲームの画像処理ならGPU処理一択
っても自力でガリガリ書かなくて済む時代
0298デフォルトの名無しさん (JP 0H07-OQjX)2017/01/22(日) 01:11:33.09ID:eCbhYovmH
>なんでたかが画像の合成ごときで重くなって
つーか、具体的にどんな合成やってるか知らないが、画像処理って下手すりゃピクセル単位で
チマチマだし、オレの中では基本的に重たそうなイメージがあるけどなあ
0299デフォルトの名無しさん (ワッチョイ f3bb-3qL8)2017/01/22(日) 01:19:16.26ID:H+suNOjg0
>>291
LINQ使うだけで数桁遅い。それが分からない奴はその程度のコードしか書いたことがないということ。
C#、.netの制約上のボトルネックはC++で消し飛ぶ。
0300デフォルトの名無しさん (オッペケ Sr87-Hq25)2017/01/22(日) 02:21:36.81ID:bOybKaZ+r
我慢大会その一
0301デフォルトの名無しさん (オッペケ Sr87-8S/4)2017/01/22(日) 03:39:23.27ID:EI5AfIBCr
>>294
プログラマじゃないけど前にゲーム業界にいたからピクセルシェーダは使ったことある
使ってみるかな

>>295
それですね
アルファ合成のときだけBitLocker使ってるけど
あとはGraphicsPathとか

>>297
そっち系の本買って勉強しようかな
ゲームプログラマならc++でやれるんだろうなあ
勉強してみたけど俺にはいろいろ無理だった…
0302デフォルトの名無しさん (ワントンキン MM9f-Taza)2017/01/22(日) 07:39:48.76ID:4NhSs4FyM
Linq遅いマンまだいたんだ
Linqじゃなくてお前のコードが酷いだけじゃん
0303デフォルトの名無しさん (ブーイモ MM1f-wwrd)2017/01/22(日) 08:45:32.72ID:mrTIs+uVM
>>301
Unity使えばいいのに
今時スクラッチで開発なんかしないよ
0304デフォルトの名無しさん (オッペケ Sr87-8S/4)2017/01/22(日) 10:17:10.34ID:EI5AfIBCr
>>303
まあそれもアリなのかな…
たしかにGPUで合成できるし
Unityで作った画像編集ソフトかあ
0305デフォルトの名無しさん (ワッチョイ 33d6-3qL8)2017/01/22(日) 10:45:08.68ID:kO0RN1SM0
>>302
具体例も挙げられないおじいちゃんだから仕方ないね
0306デフォルトの名無しさん (ワッチョイ ff4a-SmTw)2017/01/22(日) 10:58:17.59ID:WHkammw20
Linqもラムダ式も一度使うともう戻れねーよな
EFと合わせたら生産性ぱねぇし
0307デフォルトの名無しさん (ワントンキン MM9f-Taza)2017/01/22(日) 11:08:50.22ID:4NhSs4FyM
EFは正直どうかと思うが
パブリックプロパティだらけになって
システムのあっちこっちにビジネスロジックが分散して管理しきれなくなる
そうではなくOOPの良い習慣にしたがってビジネスロジックをクラス化する
クラスインスタンスの永続化方法も合わせてカプセル化して最小限にとどめる
こうしておけばデータアクセス処理に大した工数はかからない
工数削減の夢を見て変なフレームワークに頼って自滅することもなくなる
0308デフォルトの名無しさん (ワッチョイ 13dc-jh1Y)2017/01/22(日) 11:09:17.59ID:phG9hQKS0
LINQやラムダ式はメソッドの expression body definitions でかなり使いやすくなった
ちょっと込み入ってて分かりにくいラムダがあったら手軽にメソッドに括り出して名前を付けられる
0309デフォルトの名無しさん (ブーイモ MM1f-wwrd)2017/01/22(日) 11:19:16.48ID:mrTIs+uVM
>>307
本来はそのビジネスロジックを実装するときに内部でEFを使うんだよ
所詮シリアライザとクエリビルダにすぎない
0310デフォルトの名無しさん (ワントンキン MM9f-Taza)2017/01/22(日) 11:28:38.11ID:4NhSs4FyM
>>309
だからそれをやるとジワジワとトランザクションスクリプト的な実装になっていって管理が追いつかなくなるってこと
0311デフォルトの名無しさん (ワッチョイ ff4a-SmTw)2017/01/22(日) 11:28:58.51ID:WHkammw20
Linqが速度を売りにした技術として登場したわけじゃないわけで。
道具の使い方が悪い例を出して、道具に文句出されてもなぁ。
性能が必要なシナリオなら、システム構成、技術やアルゴリズム、言語を使いわけるものですからね。

業務系の話を例にすると。
Linqのループ処理の遅さは、数桁すら許容できるケースが多く、
DB側で絞ってるのでC#側で大量のループをぶん回すような事はしない。
テキストファイルやDB、メモリ相手のデータでもLinqは透過的に処理できるから便利。

Linqは、コレクションに対する生産性の高さが有益なんであって、
単純なループを例にしてLinqが遅いとしか言えないなら、話にならん。
0312デフォルトの名無しさん (ワッチョイ ff30-QGIP)2017/01/22(日) 11:31:54.78ID:0QiRTW2m0
馬鹿だから一つしか覚えられない人間に二つ目を覚えろというのは酷ではありませんか?
おそらく高脳様なんでしょうけどド低脳に対する配慮が足りませんよ
0313デフォルトの名無しさん (ワッチョイ ff4a-SmTw)2017/01/22(日) 11:58:44.67ID:WHkammw20
>>307
もちろんEFを使うときは、レイヤーをちゃんとわけて、カプセル化する前提ね。
ビジネスロジックも、モデルもサービスも必要に応じてちゃんと分ける。
依存関係の多いDataTableに比べたら、EFはPOCOだから、詰む事は少ないと思う。

ビジネスロジックやトラン処理がどこに来るかは、
サービス層・ドメインモデル・エンティティモデルのどこに入れるか次第だろうね。
ORMやDAC代わりにEF導入する現場なら、余計にね。

管理が追いつくかどうかは、開発の規模と設計、プロジェクト構成次第じゃない?
うちは、1ドメインで作らず適度にドメイン分割してるから複雑さは低減できてるし。
CQRSなパターンで組んだら、さらに管理が楽になった。

工数削減の夢を見る奴は、いつの時代も論外だぬw
0314デフォルトの名無しさん (ワントンキン MM9f-Taza)2017/01/22(日) 12:18:58.56ID:4NhSs4FyM
しっかりとレイヤ分割してるならなおさら生ADO.NETでもEFでも大した差はでない
ビジネスレイヤまでEFが染み出してくると最初は便利かなと思うが後になって後悔する
EFは本来privateであるべきプロパティが野晒しになるからロジックの分散を避けられない
0315デフォルトの名無しさん (ワッチョイ a394-GGaX)2017/01/22(日) 12:28:22.49ID:opZW6Xxw0
避けられなくないだろ。避けろよ
「染み出す」ってなんだよ。書くべきじゃない場所に書くな。染み出させるな
0316デフォルトの名無しさん (ワントンキン MM9f-Taza)2017/01/22(日) 12:37:09.50ID:4NhSs4FyM
そう
書くべきじゃないところには書くな
これを実践するとEFがビジネスレイヤに染み出してくることはない
EFのスコープはデータアクセスレイヤに限定される
しかしそうなると生ADO.NETに対してそこまで大きな優位性は得られなくなる
生ADO.NETを使った場合でも結局のところデータをビジネスロジックのクラスインスタンスにデータをマップして使うのだから
0317デフォルトの名無しさん (ワッチョイ ff4a-SmTw)2017/01/22(日) 12:45:18.70ID:WHkammw20
レイヤ分割してるなら大差ないというのは確かにそう。
DataTableはNULL周りが良くないんよね。XMLWebサービス時代にはお世話になったが。

で、染み出してくるのはPOCOなクラスであってEFではないよ。
POCOなクラスをそのまま使ってるから生じる問題。

DataTableのプロパティのスコープ制御に相当する機能が
EFのモデルには無いと思ってるように聞こえるから、その前提で話をすると。
EF6からはnon-publicなフィールドも、シリアル化可能だから制御可能よ。
private/protectedで隠ぺいしつつ、DBに保存とかも出来る。
6以前でもやろうと思ったら自分でそう書けばできる。
0318デフォルトの名無しさん (ワッチョイ ff4a-SmTw)2017/01/22(日) 12:48:38.01ID:WHkammw20
いずれにせよ、便利なとこにだけ目を付けて
そういう問題点まで考えずに導入しちゃう現場の方が問題だろうねw

全publicなプロパティで困ってるならご愁傷様です。
0319デフォルトの名無しさん (アウアウカー Sac7-RtDt)2017/01/22(日) 12:50:26.90ID:8/XlH/DIa
おまえらどんな修行積んだらそんななれるんだよ。。
独学やってる俺からみると心折れそうだわ
0320デフォルトの名無しさん (ワッチョイ f3bb-3qL8)2017/01/22(日) 12:53:59.02ID:H+suNOjg0
>>306
LINQのサンプル書けば分かる話で、昔から散々言われてたこと。
速度が必要ならLINQ使うな、楽したいならLINQ使え。それだけ。
それをLINQは遅くないだの、C#とC++の速度差はないだのは、全くの捏造、デタラメ。素人の知ったか。

今回の話題で遅いのは画像処理。画像処理に糞遅いLINQ使う馬鹿はいないんだよ、糞ガキ。
0321デフォルトの名無しさん (ワッチョイ ff4a-SmTw)2017/01/22(日) 13:20:05.54ID:WHkammw20
>>320
馬鹿にしてるのも、素人発言してるのも俺じゃないのに、
なんでそんな悪態つくのかわからんがwww
ちゃんとワッチョイかID見ろよ

C#やLinqが、C++並みとか早いと言ってるのは俺じゃないぞ
画像処理かつ性能必要なとこで、Linqで組む奴が居たら馬鹿だろ
0322デフォルトの名無しさん (ワッチョイ c33c-5mR9)2017/01/22(日) 14:03:47.83ID:W8T+cplZ0
デリゲートってどういうときにどう使ってますか?

使ってみようと思ってるんですけど、、、
パスドラみたいなゲームだとどう使うとよかったりするんですかね?
0323デフォルトの名無しさん (ブーイモ MM1f-wwrd)2017/01/22(日) 14:31:47.38ID:q7Ms9629M
>>322
お前がこれまでイベントやLINQやラムダを使ったことがあるなら、お前は既にデリゲートを使っている
デリゲート型の定義は昔の名残みたいなもんで、今更あえて自分でデリゲートを定義する必要はない
0324デフォルトの名無しさん (アウアウウー Sa67-gIHQ)2017/01/22(日) 15:08:27.54ID:w8qlDydna
>>322
いきなり人をお前呼ばわりするような奴の話は無視していいと思うw
彼がなぜ見知らぬ他人にそんな横柄な態度を取るのかお察し(略

前にも書いた気がするけど、BCLで実際にどういう使われ方をしているかを見て理解するのが一番早い。
例えばList<T>なんかのSortメソッドにはデリゲート(Comparison<T>)を引数に取るバージョンと
インターフェイス (IComparer<T>)のバージョンがあるが、この2つを比べてみるとか

デリゲートの意義は変数(入れ物)を作れることにある。
int型の変数にintの値を自由に入れることができ、intのリテラルと同じように式の中で使えるように
デリゲート、例えばAction型の変数には引数なし、戻り値なしのメソッドを自由に入れることができ、
普通のメソッド呼び出しと同じように変数の中のメソッドを呼び出すことができる。
0325デフォルトの名無しさん (ササクッテロレ Sp87-5mR9)2017/01/22(日) 17:22:01.36ID:9cOLculsp
お二方どうもです!
いまunityやってて、なんか自分で定義して使ってみたいんですけど、わざわざ定義して使う必要もないのかと思ったり思わなかったり、、
0326デフォルトの名無しさん (ワッチョイ a394-GGaX)2017/01/22(日) 17:39:15.02ID:opZW6Xxw0
Action や Func という便利な「定義済みデリゲート」があるので
(>>324 のいう「 Comparison<T> 」もそう)
いまや、自分で定義する必要はあまりないような…

言葉遣いはぞんざいだったけど、>>323 が言いたいのもそういうことだったのでは
0327デフォルトの名無しさん (ワンミングク MM9f-Taza)2017/01/22(日) 17:45:53.28ID:mco4N0ihM
>>322
ストラテジーパターンを使いたいなぁと思った時にめんどくさいからデリゲートとラムダを使おう
その程度の認識でいいよ
0328デフォルトの名無しさん (ワッチョイ 33a1-IReq)2017/01/22(日) 20:04:36.92ID:uhRlBKGc0
.の意味ってなに?
スペースと何が違うの?
0329デフォルトの名無しさん (ワッチョイ 0390-waAN)2017/01/23(月) 22:56:49.49ID:+/l1sI5v0
自分でhttpwebrequest、httpwebresponseのラッパークラスを作っているんですが、どうも使いづらいです
通信エラーが起きてもResponseCodeわからないですし、例外もうまくキャッチすることができません
こういうクラスってひょっとしてラップしても意味ないですか?
WebrequestやDownloadStringなどを使わないのはCookieなどを付与する必要があるためです
0330デフォルトの名無しさん (ワッチョイ 9377-8QYx)2017/01/23(月) 23:02:45.38ID:bI3M8V880
>>329
今からやるならHttpClient
0331デフォルトの名無しさん (ワッチョイ cf9d-3qL8)2017/01/23(月) 23:36:42.09ID:iMdxUfkB0
WebClientにCookie持たせる
0332デフォルトの名無しさん (ドコグロ MM7f-j6UX)2017/01/24(火) 12:50:22.17ID:HHZbO6egM
>>329
意味がわからん...
自分で作ってるなら使いやすいように作ればいいだけじゃないの?
0333デフォルトの名無しさん (ワッチョイ b30d-516J)2017/01/25(水) 15:07:13.59ID:3WJkXYG20
HttpClient WebClient WebRequest HttpRequest の違いがわかりません
0334デフォルトの名無しさん (ワッチョイ 63a4-QGIP)2017/01/25(水) 22:04:46.00ID:Bb3u5ckd0
ふーん
0335デフォルトの名無しさん (ワッチョイ 33d6-3qL8)2017/01/25(水) 22:18:36.99ID:W75ZhGr50
>>333
聞く前にググれ
0336デフォルトの名無しさん (アウアウイー Sa53-T3y8)2017/01/26(木) 07:18:39.25ID:hf6GrTPoa
>>333
ググったなんて日本語が分からなかったの?
0337デフォルトの名無しさん (ワッチョイ 2613-uaQk)2017/01/26(木) 09:58:48.02ID:sSYf7dfw0
>>336
ha?
0338デフォルトの名無しさん (ササクッテロラ Sp13-YLIH)2017/01/27(金) 02:09:00.56ID:mwRO9ggOp
TextBoxの文字をクリックしたときにその行に頭が特定の文字ならアクションを起こすようなものを作りたいのですが
TextBoxクラスのGetCharIndexFromPosition(Point)で文字を取得するとクリック位置が文字の上から外れた場所でも取得できてしまいます
文字上でクリックされた時のみを感知したいのですが何かいい方法があれば教えてください
0339デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)2017/01/27(金) 12:09:25.78ID:7rtouHaU0
検索(SQLを投げた)結果を非同期でフォーム表示させようとしてます。

SqlCommandを組み立ててBeginExecuteReaderしました。
AsyncCallback 先で、EndExecuteReaderを実行し
DataTableに収納させるまではデバッガで動作確認できました。

ここからが問題なのですが
DataTableの内容をForm(DataGridView)で表示されようと思いました。
DataGridViewが貼り付いているFormをnewで生成し、DataGridView.DataSourceにDataTableを入れました。

最後にForm.Showでフォームが開くことを期待したのですが、フォームの枠が出るものの中身が真っ白
キャプションは「応答なし」と出て表示も操作もできません。

最初にBeginExecuteReaderした側のメインスレッドは普通に動いてます。
どうやったら、AsyncCallback 先でフォームを新規表示させることができるんでしょうか。
0340デフォルトの名無しさん (ワッチョイ d3c0-y5A3)2017/01/27(金) 13:41:41.66ID:f0Kj2+Uu0
>>339
デバッガ使っているならForm.ShowのところでDataGridView.DataSourceにDataTableが入っているか見てみれば?
0341デフォルトの名無しさん (ワッチョイ 9719-VXgO)2017/01/27(金) 14:04:14.64ID:FcmXFO0M0
今更AsyncCallback系とかどんな環境なのやら
サブスレッドでForm触るとろくなことにならないから
AsyncCallback内で全データ取得
→FormとかのBeginInvokeでメインスレッドでフォーム作って表示
0342デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)2017/01/27(金) 14:20:45.68ID:7rtouHaU0
>>340
そこは問題ないです
描画のところでサブスレッドに順番が回ってこないぽい感じです

>>341
>今更AsyncCallback系とかどんな環境なのやら

イマドキは別の方法があるんでしょうか
確かに、Callbackは面倒です。゜

やりたいのは、時間のかかるExecuteReaderで全てがブロックされることを防ぎたい、ってことです
0343デフォルトの名無しさん (スッップ Sdca-OKVk)2017/01/27(金) 19:49:21.84ID:oQLdhHNUd
>>342
.NET Frameworkのバージョンいくつよ?
0344デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/27(金) 21:29:15.85ID:+Ih6k9xI0
質問です。

object o = new List<string>();
このstringのところを文字列(を格納した変数)で指定したいのですが、どうすればいいでしょうか?
object o = new List<"string">(); ← こういうことをやりたい。

よろしくお願いします。
0345デフォルトの名無しさん (ワッチョイ f7dc-ci5U)2017/01/27(金) 21:35:00.20ID:sOrVpnzk0
>>344
本当に文字列で指定したいのではなく、動的に型を指定してジェネリックリストを作りたいという要求だと仮定して回答
var argType = typeof(string);
var listType = typeof(List<>).MakeGenericType(argType);
var o = Activator.CreateInstance(listType);
0346デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/27(金) 21:37:34.16ID:+Ih6k9xI0
>>345
早速の返答ありがとうございます。
そういう意図で合っていると思いますが、その3行をぱっと見では理解不能なので、テストしてきます。
0347デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/27(金) 21:59:53.20ID:+Ih6k9xI0
>>345
申し訳ないです、質問で出した例えが悪かったです。
本当にやりたいのはJSONのデコードでなんですが、JSON.NETを使って
var o = JsonConvert.DeserializeObject<Hoge>(json);
このHogeの部分を動的にしたいのです。
0348デフォルトの名無しさん (ワッチョイ 2b4a-H6k8)2017/01/27(金) 22:04:04.24ID:7pKAIIad0
>>347
Hogeの数だけifかswitchで分ければいいんじゃないか?
0349デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/27(金) 22:09:45.37ID:+Ih6k9xI0
>>348
ずらずらと並べて書き始めて、
ふと動的に出来ないものかと思ってしまいましたが、
素直にそうやった方が手っ取り早いですかね。

ありがとうございました。
0350デフォルトの名無しさん (ワッチョイ f7dc-ci5U)2017/01/27(金) 22:09:50.40ID:sOrVpnzk0
>>347
それを動的にやって何がしたいのか激しく疑問
どのみちobject型として扱うしかないんだから DeserializeObject(string) でobject型にデシリアライズすればいいだろ
>>348と被ったが、後で as や is でHogeにダウンキャストするんだったらその選択肢は予め決まってるはずだから、
switch (str) {
case “Hoge”: type = typeof(Hoge); break;
case ・・・
}
みたいにすればいいだけ
それでも本当にどうしても文字列で指定しなきゃいけないというなら
Type.GetType(“俺の名前空間.” + str) でできなくはないけど、まず意味はないと思う
0351デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/27(金) 22:50:37.80ID:+Ih6k9xI0
>>350
> それを動的にやって何がしたいのか激しく疑問

自分も質問文を書きながら、そう思われるだろうなと思っていました。
たぶん、こんなことをしたいと思いつく考え方が、そもそも間違いの可能性が高そうなのですが、
なぜこういうことを思いついたかというと、一つの問い合わせに対して返ってくるJSONの型が
複数あったりするので、どうやれば上手くまとまるかな? と考えたのがはじまり。
成功時→ {"person":{"name":"だれそれ","age":20}}
失敗時→ {"noresponse":{"message":"該当なし"}}
エラー→ {"error":{"number":1,"message":"error message."}}

頭の文字列(personなど)引っ張り出して、対応する型名(Person)をHashtableなんかから引っ張り出せばいいかなと。
hashtable.Add("person","Person");
hashtable.Add("error","Error");
...

object Json2Object(string json)
{
string typename = Regex.Match(json, @"\{""([^""]+)").Groups[1].Value
var o = JsonConvert.DeserializeObject<$$hashtable[typename]$$> (json);
return o;
}

呼び出した側では結局as is しますが、こんな発想自体ナンセンスですか?
0352デフォルトの名無しさん (ワッチョイ f7dc-AomC)2017/01/27(金) 22:55:29.64ID:sOrVpnzk0
>>351
結局呼び出し元でキャストするんならJson2Objectをジェネリックメソッドにすればいいだけでは?
0353352 (ワッチョイ f7dc-ci5U)2017/01/27(金) 23:00:09.77ID:sOrVpnzk0
いやすまんJSONに含まれるフィールドに応じて型を変えたいってことか
単に Dictionary<string, Type> でよくね?
0354デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/27(金) 23:07:41.42ID:+Ih6k9xI0
>>353
なんどもありがとうです。
dictionary.Add("person",typeof(Person));
var o = JsonConvert.DeserializeObject<dictionary["person"]>(json);
と言うことでしょうか?
VS2015 .NET4.6 では出来なさそうなのですが。
0355デフォルトの名無しさん (ワッチョイ f7dc-ci5U)2017/01/27(金) 23:25:42.83ID:sOrVpnzk0
>>354
var o = JsonConvert.DeserializeObject(json, dictionary["person"]);
0356デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/27(金) 23:33:36.50ID:+Ih6k9xI0
>>355
なんと!!
自分の調べ不足を痛感しました。
ほんとうにありがとうございました。
0357デフォルトの名無しさん (ワッチョイ 2a4a-y5A3)2017/01/28(土) 00:50:12.18ID:4RGYrg++0
斜め読みだが
やっぱDictionaryで済む話やなw
0358デフォルトの名無しさん (ワッチョイ 0faf-56sz)2017/01/28(土) 01:52:46.60ID:7wXqm53L0
>>338
自己解決しました
表示からは見えなくてもTextBox.Textには改行コードが含まれていたのですね
GetCharIndexFromPosition(Point)で取得したインデックスの文字ををcharに入れてみて初めて気が付きました
欲しい文字の判定時についでにクリックされた文字が\nではないかを調べることで実現できました
0359デフォルトの名無しさん (ワッチョイ af4a-WsPK)2017/01/28(土) 10:57:29.19ID:Pp3LUsbs0
zip内の画像ファイルを展開せずに閲覧する場合に基本クラスとその他のライブラリで速度に違いはあるんでしょうか?
0360デフォルトの名無しさん (ワッチョイ 6b64-cWHx)2017/01/28(土) 11:05:01.86ID:1xyPMcX/0
もっと詳しく、丁寧に質問して
0361デフォルトの名無しさん (ワッチョイ af4a-WsPK)2017/01/28(土) 11:26:44.22ID:Pp3LUsbs0
zipファイルに格納された画像ファイル(jpgやpngやbmpやgif等)を展開せずにストリームで読み込む場合に
基本クラスであるZipFileクラスやZipArchiveクラスを使用した場合と、
#ziplibやDotNetZipやJ#のvjslib.dll等のライブラリを使用した場合では速度に有意な差が出るのでしょうか?
0362デフォルトの名無しさん (アウアウウー Sa7f-//rF)2017/01/28(土) 12:01:12.08ID:XpAKmUmza
実装に差あるから、有意な差はでるだろうな
問題になるほどその差が大きいとは思えないが
0363デフォルトの名無しさん (ワッチョイ 7e5e-y5A3)2017/01/28(土) 12:04:25.80ID:s1e/PAHl0
>>361
自分で比較してみればいいじゃん
展開でそんなに差は出ないと思うけど※個人の感想です、ってしかならない
なんで画像ファイル限定なのか知らんけど
pngやjpgだとzipには無圧縮で入っていることが多いからそのまま展開されずに読みだされるけど、その手の話かな?
0364デフォルトの名無しさん (ワッチョイ af4a-WsPK)2017/01/28(土) 12:16:07.03ID:Pp3LUsbs0
>>362
大した差が無いようであれば基本クラスを使おうと思います

>>363
>pngやjpgだとzipには無圧縮で入っていることが多いからそのまま展開されずに読みだされるけど、その手の話かな?
そうです

基本クラスと#ziplibは試したのですが差が有るような無いような微妙な感じでした
0365デフォルトの名無しさん (ワッチョイ 9777-QkVH)2017/01/28(土) 12:20:54.91ID:GpK52peC0
>>364
基本クラスって言い方は紛らわしい。継承関連かと勘違いする。
標準のクラスとか言ってくれ。
0366デフォルトの名無しさん (ワッチョイ 2b4a-H6k8)2017/01/28(土) 15:14:39.72ID:XnHJw37P0
>>364
目的はなんなん?
0367デフォルトの名無しさん (ワッチョイ af4a-WsPK)2017/01/28(土) 21:03:02.05ID:Pp3LUsbs0
>>366
漫画ビューワですが
0368デフォルトの名無しさん (ワッチョイ 0a4c-cWHx)2017/01/28(土) 22:28:40.58ID:46h3M0fs0
その漫画ビューアが殆ど完成しているのであれば、基本クラスと他のライブラリのスペック差を測れば良いんじゃね?

そこまで大きく実装かわらんでしょ?
0369デフォルトの名無しさん (ワッチョイ 7e9d-AZYz)2017/01/29(日) 03:26:17.34ID:EZgBqwJb0
WebClientでHeadersにIf-Modified-Sinceを設定してDownloadFileとかやると
以下の例外が起きてしまいます

'If-Modified-Since' ヘッダーは、適切なプロパティまたはメソッドを使用して変更する必要があります。
パラメーター名:name

ヘルプによるとWebClientはIf-Modified-Sinceを設定できないようなのですが
HttpWebRequestを使わずにWebClientだけでなんとかなりませんか?
0370デフォルトの名無しさん (ワッチョイ 6f7b-TK3D)2017/01/29(日) 11:34:33.85ID:I0IcYz370
派生させてGetWebRequestオーバーライドしてそこで追加すればいいけど
まあ無駄だな
HttpClientに移行しよう
0371デフォルトの名無しさん (ワッチョイ 1f0d-VFvX)2017/01/29(日) 11:40:15.08ID:6efjD1Fp0
HttpClient WebClient WebRequest HttpRequest の違いがわかりません
0372デフォルトの名無しさん (ワッチョイ bfd6-AZYz)2017/01/29(日) 11:59:58.20ID:lTC0Slsj0
まーたお前か
0373デフォルトの名無しさん (ワッチョイ 5ad4-B+LO)2017/01/29(日) 18:52:35.60ID:yL6xb8U50
>>371

WebClientとWebRequestの違いはWebClientのが簡易。
WebClientはタイムアウトの設定ができない。
WebRequestはタイムアウトの設定がある。
0374デフォルトの名無しさん (ワッチョイ 1f0d-VFvX)2017/01/29(日) 22:42:03.92ID:6efjD1Fp0
>>373
ありがとうございます
HttpClient WebClient の違いは一体何なのでしょうか?
0375デフォルトの名無しさん (ワッチョイ 5ad4-K8QZ)2017/01/30(月) 08:21:14.87ID:rGZEoMYZ0
>>374

HttpClientは私は一度も使ったこと無いけど新しく作られたクラスで
たぶん非同期処理(async/await)で使うことを前提にしたクラスだと思う。
WebClientとWebRequestはGUIソフトで使うにはスレッド内で使わないと固まるけど、
HttpClientはスレッドを使わないでも非同期処理できるということ。

WebClientとWebRequestの違いの追加ですが、
httpヘッダーの取得はWebClientではできないと思う。
httpヘッダーの取得でHTTPステータス・コード、ファイルサイズなどを取得できる。
ファイルサイズ取得によりプログレスバーでダウンロード経過を表示したりとかできる。
0376デフォルトの名無しさん (ワッチョイ 1f0d-VFvX)2017/01/30(月) 10:37:24.94ID:U5GM4NUS0
>>375
ありがとうございます!
つまり今使うならHttpClientの方が色んな面で優れているので良いというわけですね
0377デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)2017/01/30(月) 11:01:15.30ID:8jPCKhAg0
>>343
2000機が残ってたので3.5で作りましたが、ようやく全廃できたので、4以降で大丈夫です。
(XP機も一緒に駆逐したので、4.5以降で問題なし)
0378デフォルトの名無しさん (スップ Sdca-OKVk)2017/01/30(月) 12:00:30.46ID:lLUdwlJ5d
>>377
まさかとは思うけど、4.0や4.5みたいなサポート切れのFramework使ってないよね?
0379デフォルトの名無しさん (ワッチョイ d3c0-y5A3)2017/01/30(月) 12:13:50.48ID:b9p90kqg0
4.0以下が統一環境になっている俺社の悪口はやめろ
0380デフォルトの名無しさん (ワッチョイ 1ad4-AZYz)2017/01/30(月) 12:55:47.69ID:8jPCKhAg0
VB5やVB6で書かれたプロジェクトも未だに保守してるけど
0381デフォルトの名無しさん (ワッチョイ 5b49-QkVH)2017/01/30(月) 20:36:51.27ID:SB7dmMyN0
>>376
その認識でOK
HttpClientは高機能なのにとても使いやすくなった
0382デフォルトの名無しさん (JP 0H13-zSxl)2017/01/31(火) 00:28:21.39ID:WN418v1sH
WebBrowser使ってるんだけど、HttpClientで取得してWebBrowserに表示のほうがいいのかな
一応WebBrowserでもasyncで取得はしてるんだが
あとAjaxにも対応はしてる
0383デフォルトの名無しさん (ワッチョイ ea30-UZfv)2017/01/31(火) 08:53:34.35ID:AhlWkjVU0
目的達成できてるなら別に変える必要ねーじゃん
悪いとは言わないけど効率の悪い思考だ
0384デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/01/31(火) 21:52:08.03ID:H4Wkov650
using (HttpClient client = new HttpClient())
{
client.Timeout = Timeout.InfiniteTimeSpan;
using (var stream = await client.GetStreamAsync(url).ConfigureAwait(false))
using (var reader = new StreamReader(stream))
{
while (!reader.EndOfStream)
{
var task = reader.ReadLineAsync();
if (task.Wait(3000))
{
/*通常の処理*/
}
else
{
/*タイムアウト時の処理*/
break;
}
}
}
}

HTTPでのストリーミング受信をこのような感じで受け取るようにしました。
無通信が一定期間(上記だと3秒)あればタイムアウトさせているつもりなのですが、
3秒以上の無通信期間をHTTPホスト側で設けてみても、いっこうにタイムアウトせずに待ち続けています。
task.Wait()の代わりにTask.WaitAny()やTask.WhenAny()なども試してみましたが、
タイムアウト側へ処理が行かないのです。
もっと単純にvar task = Task.Delay(5000);ってやると、タイムアウト側へ処理が流れます。
HttpClientの時だけうまくいかない?
HTTPホスト側のスクリプトはPHPで待機時間を1秒ずつsleep()時間を増やしながらループさせていて、
ホスト側はまず間違いないと思っています。
よろしくお願いします。
0385デフォルトの名無しさん (ブーイモ MMca-AomC)2017/02/01(水) 08:46:58.23ID:/3Lab+YmM
>>384
CancelationToken渡してTask.Delayがタイムアウトしたらキャンセルすれば
0386デフォルトの名無しさん (ワッチョイ af37-AZYz)2017/02/01(水) 11:47:22.62ID:3Z+GxYTF0
paiza ioでC#が始まりました
爆発的にC#人口が増えると思います
0387デフォルトの名無しさん (JP 0Ha3-y5A3)2017/02/01(水) 12:00:51.68ID:+pDV2e5ZH
現状別に少なくないのに
爆発的に増やせるpaizaってどんな影響力持ってんだよ
0388デフォルトの名無しさん (ワッチョイ 2a23-y5A3)2017/02/01(水) 12:58:05.37ID:G1eAOkHI0
>>384
1. client.Timeoutに無限大じゃなくて3秒をセットする
2.処理待ちはストリームリーダーじゃなくてhttpclientで発生しているから、今の処理は無駄なので、ReadLineAsyncはawaitします
3.タイム・アウトすると例外が発生するからハンドリングして処理してください
0389デフォルトの名無しさん (ワントンキン MM1a-FuHd)2017/02/01(水) 13:37:46.83ID:E2USh33dM
相談させてください。

別プロセスを実行し、そのExitCodeをチェックしていますが、間歇でC0000005hが返ってきます。
このコード自体はアクセス違反らしいですが、回避する方法はないでしょうか?

ProcessStartInfo psInfo = new ProcessStartInfo();
psInfo.FileName = "〜.exe";
psInfo.CreateNoWindow = true;
psInfo.UseShellExecute = false;
psInfo.RedirectStandardOutupt = true;
psInfo.RedirectStandardError = true;

Process p = Process.Start(psInfo);
p.WaitForExit();

int code = p.ExitCode;

p.Close();
0390デフォルトの名無しさん (アウアウウー Sa7f-//rF)2017/02/01(水) 14:05:38.83ID:ItKIvr6ga
またPickitか?切り出すと分からないから、ソースコードというかプロジェクトまるごとどっかにうpしろ
0391デフォルトの名無しさん (ワッチョイ 9719-QC3X)2017/02/01(水) 14:32:56.95ID:YUyrzX090
起動される側の問題なんだから起動する側ではなんもできん
0392デフォルトの名無しさん (ワッチョイ af4a-y5A3)2017/02/01(水) 15:50:40.89ID:0UxsMyd00
レスありがとうございます。

>>385
なんとなくスマートじゃなさそうな気がしていましたが、ちょっとやってみます。

>>388
やはり2番のそれなんですね。なんとなくそうじゃないかなと思い始めていました。
でも、1番のclient.Timeoutに3秒をセットすると、ホストとの接続が3秒で切れてしまいます。
ループ内のReadLineAsync()で1行ずつ受信できている間は永遠に接続して、
1行受信する間が3秒以上開いたら、回線もしくはホスト側のトラブルの可能性ありとして
受信を見送りいったんループを抜けたいのです。
もう一度2番の内容を念頭に置いてソースコードを見直してみます。

ありがとうございました。
0393デフォルトの名無しさん (ワッチョイ 5b90-Ve17)2017/02/01(水) 15:55:16.40ID:3kHXSGfF0
LINQを使ってGroupBox内のでどのRadioButtonが選択されているか知りたいのですがそういったことはできますか?
0394デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)2017/02/01(水) 16:02:24.19ID:jnCvpXDY0
その前に、ラジオボタンのCheckedChangedイベントを共通にしちゃダメか?
そいで、senderで判断しちゃ?
0395デフォルトの名無しさん (アウアウウー Sa7f-BDy3)2017/02/01(水) 16:33:48.49ID:l+tZDtqWa
>>393
こういうの?
LINQ苦手だからもっと簡単に書けるかもしれん...
var r = gb.Controls.Cast<Control>().Where(x => x is RadioButton).Cast<RadioButton>().FirstOrDefault(x => x.Checked);
0396デフォルトの名無しさん (ワッチョイ f7dc-ci5U)2017/02/01(水) 16:42:08.74ID:2EAgbNLS0
>>395
OfType使えよ
0397デフォルトの名無しさん (ワッチョイ 5b90-Ve17)2017/02/01(水) 16:59:16.27ID:3kHXSGfF0
自己解決しました。こうなりました
var check = groupBox1.Controls.OfType<RadioButton>().Where(r => r.Checked == true);

>>394
LINQでCheckChangedイベントを追加するようにしました
0398デフォルトの名無しさん (アウアウウー Sa7f-BDy3)2017/02/01(水) 17:25:56.68ID:l+tZDtqWa
>>396
あw
0399デフォルトの名無しさん (ワントンキン MM1a-FuHd)2017/02/01(水) 18:24:38.35ID:E2USh33dM
>389 です。

呼び出される側の問題とのこと、理解しました。

呼び出される側は、VS2005のコンソールアプリです。
中身は外部機器との(多分)ソケット通信等を行うものです。
(外部機器専用のdllを利用するため、中身は分かりませんが)

C0000005hが呼び出し元に返ってくる場合でも、
呼び出され側のmain()の return xxx;直前のコードは正常であることはコンソール出力で確認しています。

.net framework絡みだとGCが関係してるような記述も目にしましたが、
これだけの情報で、もし原因の目処、もしくは対策/回避策がございましたらアドバイスいただけないでしょうか。
0400デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)2017/02/01(水) 19:24:59.53ID:jnCvpXDY0
dll側でヒープの解放(delete)忘れ、CloseHandle忘れとかなんじゃね
0401デフォルトの名無しさん (ワッチョイ d390-Ve17)2017/02/01(水) 20:00:35.33ID:cSMjRhkv0
また質問なんですが
var rb = groupBox1.Controls.OfType<RadioButton>().Where(x => x.Checked == true)
これで取り出した要素なんですが、ここからRadioButtonのNameプロパティを参照したい場合foreach使わないとダメですか?
0402デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)2017/02/01(水) 20:15:39.46ID:jnCvpXDY0
>>401

それ394で全部解決だって。
senderをキャストすれば、そのラジオボタンだから
0403デフォルトの名無しさん (ワッチョイ 0a4c-ZNcG)2017/02/01(水) 20:21:32.94ID:jnCvpXDY0
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.radiobutton(v=vs.110).aspx

ここの一番下のサンプルみてみ


あと、rbが選択されたラジオボタンなんよね?
0404デフォルトの名無しさん (ワンミングク MM1a-bF0B)2017/02/01(水) 20:24:36.92ID:Q5WgQ/3wM
チェックボックスにはバインドしないの?
0405デフォルトの名無しさん (ワッチョイ d390-Ve17)2017/02/01(水) 20:26:26.00ID:cSMjRhkv0
>>402
RadioButtonの共通のCheckChangedイベントじゃなくて別のメソッドから呼びたいんですが・・・
CheckChangedイベントで毎回選択されたものを他の変数に保存したりとかでできそうですが、列挙が一つだけの場合foreachを使わずとも取り出す方法があるなら知りたいと思いまして
0406デフォルトの名無しさん (ワッチョイ d390-Ve17)2017/02/01(水) 20:38:00.85ID:cSMjRhkv0
>>403
見ましたけど自分がほしい情報とは違う気がします
0407デフォルトの名無しさん (アウアウウー Sa7f-BDy3)2017/02/01(水) 20:43:13.76ID:l+tZDtqWa
>>401
これじゃいかんの?
var name = gb.Controls.OfType<RadioButton>().FirstOrDefault(x => x.Checked)?.Name;
0408デフォルトの名無しさん (ワンミングク MM1a-bF0B)2017/02/01(水) 20:46:49.32ID:Q5WgQ/3wM
バインドしないの?
0409デフォルトの名無しさん (ワッチョイ 5b49-QkVH)2017/02/01(水) 21:28:09.21ID:wmVXAizR0
>>399
NativeのDLLの関数を呼び出す場合はGCが関係する場合もあるけど、別プロセスを起動する場合は関係ない。

>>400
単純に開放を忘れただけだったら、アクセス違反にはならんだろ。
0410デフォルトの名無しさん (アウアウウー Sa7f-//rF)2017/02/01(水) 21:30:05.48ID:ItKIvr6ga
呼んでるexeが、最後にreturn 0x C0000005;をしてる原因をエスパーしてくれってことじゃないのか?
0411デフォルトの名無しさん (ワッチョイ 7e5e-y5A3)2017/02/01(水) 21:34:07.73ID:0YuVGhJt0
>>410
return 0x C0000005;とかでなく多分呼び出した先の不正終了
何らかの形で強制終了させられたとかそのあたり
0412デフォルトの名無しさん (ワッチョイ d390-Ve17)2017/02/01(水) 23:00:22.10ID:cSMjRhkv0
>>407
そうです、こういうのを探していました
0413デフォルトの名無しさん (ワッチョイ 6b64-ZNcG)2017/02/01(水) 23:01:28.57ID:NPEB4GMb0
>>406
var rbまで書いてるから、rb.Nameでもいいよねって事。
0414デフォルトの名無しさん (ワッチョイ d390-Ve17)2017/02/01(水) 23:33:29.26ID:cSMjRhkv0
>>413
書けませんし、まず型が違います
0415デフォルトの名無しさん (ワントンキン MM1f-1ST5)2017/02/02(木) 09:38:52.54ID:F4pSw7TdM
>>411

呼び出され側が

int code;
〜
Console.WriteLine("code = " + code.ToString());
return code;

で、呼び出し元で、標準出力を取得すると code = 0 等となっています。


1台のPC上で、複数の呼び出し元を非同期に実行しています。
この辺りが関係してるのでしょうか?

詳しい情報を出せなくて申し訳ないですが、エスパーしてもらえるとありがたいです。
0416デフォルトの名無しさん (JP 0Ha7-FWOa)2017/02/02(木) 11:09:28.98ID:vkBB6VucH
アプリケーション設定ってユーザー¥ユーザー名の下に保存されるけど、windowsのログインアカウント変えたらわ設定読み書きできないよね
ユーザー¥Defaultの下に保存して読み書きできるようにできないかな?
0417デフォルトの名無しさん (ワッチョイ a390-/j6a)2017/02/02(木) 12:35:49.22ID:twb4E7Xn0
ffmpegのエンコ設定の介助ツールみたいなのを作っています
今はコマンドラインを作成してそれをProcess.Start()で引数として渡しているんですが、Process.Start()のときに実行ファイルの確認ダイアログが出ます
これを出ないようにしたいのですが何か方法はありませんか?
0418デフォルトの名無しさん (JP 0Hff-aC2u)2017/02/02(木) 12:43:00.80ID:8Ui/Ypx9H
>>416
ユーザーごとの設定はUsers\<ユーザー名>\AppData\Roaming\の下

ユーザーに依存しない設定はProgramData\の下
0419デフォルトの名無しさん (ワッチョイ 3fd4-0MWP)2017/02/02(木) 12:47:24.46ID:U1i9H1FA0
Defaultは、プロファイルのない新ユーザーが初めてログインしたときの初期値を入れておくとこ
0420デフォルトの名無しさん (JP 0Ha7-FWOa)2017/02/02(木) 13:08:04.48ID:vkBB6VucH
>>418
それってどこで設定するの?
アプリケーション設定のスコープはユーザーかアプリケーションで、アプリケーションだと設定変更できない読み取り専用だよね。

>>419
そういう目的なのか…
てっきり全ユーザー用かと思ってた
0421デフォルトの名無しさん (JP 0H27-yene)2017/02/02(木) 13:16:15.02ID:K/b9EIy4H
むかしはAll UsersってのがあったけどProgramDataになった
というか%ALLUSERSPROFILE%を参照せよ
0422デフォルトの名無しさん (ワッチョイ b319-PiNc)2017/02/02(木) 13:48:00.41ID:ahVNqXc30
user.configは文字通りuser単位なんだからシステム全体向けに保存するわけない
https://www.codeproject.com/articles/20917/creating-a-custom-settings-provider
ここみたいにSettingsProviderを派生させて任意の場所に保存させるようにすることも一応できるけど
保存処理は自分で書く必要がある
バージョニングとかも確か自前実装になるんだったかな
0423デフォルトの名無しさん (ワッチョイ 7f23-yene)2017/02/02(木) 14:07:29.43ID:jMAutYAP0
>>417
前に作った同種のツールは
var info = new ProcessStartInfo();
info.FileName = FFmpegModel.FFmpegPath;
info.Arguments = string.Format(" -i \"{0}\" ", _fullname);
info.CreateNoWindow = true;
info.RedirectStandardOutput = false;
info.RedirectStandardError = true;
info.UseShellExecute = false;
proc.StartInfo = info;
proc.Start();
となっていた。
0424デフォルトの名無しさん (ワッチョイ 134a-yene)2017/02/02(木) 15:42:02.09ID:TIj28lOD0
解決の報告。 >>384

>>388さんの2番で指摘されたようにストリームリーダーのreader.ReadLineAsync()で
待っていたのではなかったのですが、whileループ判定のreader.EndOfStreamで待機していました。

そんなわけで、以下のようにすることで無通信タイムアウトor接続終了でループを抜けられました。
while (Task.Run(() => reader.EndOfStream).Wait(3000) && !reader.EndOfStream)

ありがとうございました。
0425デフォルトの名無しさん (ワッチョイ 036a-2dgJ)2017/02/02(木) 15:56:42.85ID:pMXQtjQo0
MSがアプリケーション共通データはProgramDataの下に書けって言ってなかったっけ
0426デフォルトの名無しさん (JP 0Ha7-FWOa)2017/02/02(木) 16:05:02.97ID:vkBB6VucH
>>422
>>425
ありがとう!
ProgramDataの下にeveryoneにフルアクセス権つけて保存するの作った

ちとスマホからカキコなのでコード書けないけど、DirectorySecurityオブジェクト作ってDirectory.CreateDirectoryでそのオブジェクトを第二引数に指定してDirectory作成。
そこに自作Classをシリアライズしたファイルを保存したって感じ。
0427デフォルトの名無しさん (ワッチョイ ffe1-MPVQ)2017/02/02(木) 17:22:57.87ID:uXo0yMJE0
>>415
呼び出され側もC#なの?
そんならmainじゃなくてMainじゃん

まず、別プロセスにしてる地点で呼び出す側は何も関係ない
単独で呼び出される側のデバックをするしかない
コマンドプロンプトから実行して例外とかが出ないかを見ろとしかいえん
0428デフォルトの名無しさん (ワッチョイ a390-/j6a)2017/02/02(木) 23:43:17.24ID:twb4E7Xn0
>>423
レス遅くなりましたが、ありがとうございます

新たに質問なんですが、ffmpegのエンコード・デコードできる形式や進行状況を取得したりとかはできないんでしょうか?
0429デフォルトの名無しさん (アウアウウー Sa07-xgqO)2017/02/03(金) 01:25:05.94ID:3xPmzf3na
>>428
ffmpegのスレで聞いた方が回答来やすいんじゃないか?
0430デフォルトの名無しさん (ワッチョイ b319-PiNc)2017/02/03(金) 08:57:53.93ID:jUrc0d/y0
-formatsとか-codecsとかでとれるのを解析
標準エラー出力から出力されるのを解析
0431デフォルトの名無しさん (ワッチョイ 7f7b-z2sC)2017/02/03(金) 09:51:46.77ID:ZetScHUj0
>>426
UAC下で管理者でログオンしてるならusers\public\documentsにでも保存すれば?
ProgramDataはフルトークンじゃないとアクセスできないし、そのためにアクセスコントロールいじるのは本末転倒な感じがする

全員に必要な設定やファイルは昇格してからどうぞっていうのがmsの方針なんだろけど
0432デフォルトの名無しさん (ワッチョイ a390-/j6a)2017/02/03(金) 10:37:37.52ID:aUC8zgXQ0
>>429
ffmpeg -formats等でコマンドプロンプト上の表示されるログを取得したいんです
コマンドを知りたいわけではないのです
0433デフォルトの名無しさん (ワッチョイ b319-PiNc)2017/02/03(金) 11:26:59.72ID:jUrc0d/y0
ん?
ProcessStartInfoのRedirectStandardOutputかRedirectStandardErrorかをtrueにして
ProcessのStandardOutputかStandardErrorかを読み取るだけだけど
ffmpegはその辺全部エラー出力の方に吐くんだったっけ
0434デフォルトの名無しさん (ワッチョイ 7f4f-uZek)2017/02/03(金) 22:16:13.16ID:nKkuONMd0
ADコンバータのデータをロギングするアプリケーションを作成中なのですが、
当たり前ですが取得値がふらつくので移動平均を取って平滑化したいと思います。
プログラム経験はマイコンしかないのですが、256サンプル足して8ビットシフトかな〜と思っていますが
データ取得クラスと読み出しクラスの両方からアクセスできるグローバルなキューを実現するにはデータ保持用のクラスを作ってインスタンスを持って回るしかないんでしょうか。
なんかもっとスマートに実装できそうな気がするんですけど、いい知恵があればどなたかご教示ください。
0435デフォルトの名無しさん (ブーイモ MMc7-tPtZ)2017/02/03(金) 22:57:31.92ID:OPa+5hnkM
>>434
IEnumerable<int> EnumerateValues() {
while (true) { yield return ReadValueFromADConverter(); }
}
IEnumerable<int> MovingAverage(IEnumerable<int> source, int windowSize) {
var w = new Queue();
foreach (var x in source) {
w.Enqueue(x);
if (w.Count == windowSize) yield return w.Average();
}
}
void Run() {
foreach (var x in MovingAverage(EnumerateValues(), 256))
WriteToFile(x);
}
0436デフォルトの名無しさん (ブーイモ MMc7-tPtZ)2017/02/03(金) 22:59:04.80ID:OPa+5hnkM
>>435
Dequeueを忘れてた
まあわかるでしょ
0437デフォルトの名無しさん (ワッチョイ 13bb-0MWP)2017/02/03(金) 23:02:18.71ID:WxaeQtuW0
イタコード
0438デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)2017/02/03(金) 23:32:37.24ID:zNHW0BwXa
>>435
移動平均計算するのに毎回平均取っちゃうのはちょっと...

合計 = 前回の合計 - デキューした値 + キューする値
0439デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)2017/02/03(金) 23:35:31.03ID:zNHW0BwXa
っていうか、正直>>434が何を聞きたいのかよく分からないw
0440デフォルトの名無しさん (ワントンキン MM1f-4SR0)2017/02/03(金) 23:54:59.42ID:LN7efSZ0M
>>438
そういうくだらない最適化は必要になってからでいい
0441デフォルトの名無しさん (ワッチョイ c349-O+qq)2017/02/04(土) 00:04:44.68ID:Al8N6D5z0
ADコンバータならそれなりのデータ量だし、>>435はあまりにも無駄
0442デフォルトの名無しさん (ワッチョイ 7f4a-yene)2017/02/04(土) 00:08:25.84ID:rQvpLhJ+0
改良したソース出してあげたらん?
0443デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)2017/02/04(土) 00:21:55.25ID:nTbtTF57a
>>440
こんなのは最適化とかそれ以前の問題だと思うよww
0444デフォルトの名無しさん (ワッチョイ 13bb-0MWP)2017/02/04(土) 00:25:52.61ID:1qBqX1sw0
速度=遅い
効率=無視
安全性=なし
可読性=なし
保守性=なし
バグ=あり
自慢=あり

結論:痛いコード
0445デフォルトの名無しさん (アウアウウー Sa07-xgqO)2017/02/04(土) 00:42:30.14ID:94H9RTyka
サンプリング速度にもよるけど、256平均ぐらいなら毎回でもいいかなと思う
0446デフォルトの名無しさん (ワッチョイ 33dc-vqxm)2017/02/04(土) 00:52:17.40ID:hSQcSff/0
・キューを共有していない
・責任が明確に分離されている
・(好みの問題はおいといて)簡潔に実装されている
移動平均のアルゴリズムの効率はともかく、>>434に対する回答としては十分適切だと思うが
0447デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)2017/02/04(土) 01:11:57.49ID:nTbtTF57a
そもそも>>434が何を聞きたいのかよく分からんのだけど、平滑化の方法としては
愚直な移動平均以外にEMAってのもあって、こっちの方が実装も簡単でカスタマイズの余地が大きい

ただこれ、客には嫌われることが多いんだよねw
移動平均の欠点を欠点だと気づいてない人が多いから
0448デフォルトの名無しさん (ワッチョイ 034a-Sup+)2017/02/04(土) 12:22:51.23ID:QL7U0SpI0
adコンバーター出力に平滑フィルター入れればいいだろ
0449デフォルトの名無しさん (ワッチョイ 7f23-yene)2017/02/04(土) 14:27:50.39ID:vMv5JOxc0
質問はキューの実装方法じゃなくてグローバルなクラスの実装方法だから
1.スタティッククラス
2.シングルトン
3.DIコンテナ
あたりを列挙すれば良いんじゃなかろうか?
0450デフォルトの名無しさん (ワッチョイ a30d-PzOe)2017/02/05(日) 15:32:53.00ID:eeOYv4qE0
とあるメソッドの処理をボタンを押すと一時停止・再開させたり中断したいのですがどうすればいいでしょうか?
0451デフォルトの名無しさん (ワッチョイ 53d6-0MWP)2017/02/05(日) 15:36:44.08ID:JshVpFTv0
1)とあるメソッドに処理停止用フラグおよび停止処理を記述します
2)ボタン押下時のイベントで処理停止用フラグを立てます
3)完成
0452デフォルトの名無しさん (ワッチョイ a30d-PzOe)2017/02/05(日) 15:58:45.91ID:eeOYv4qE0
>>451
具体的な停止処理の記述を教えてください
0453デフォルトの名無しさん (ワッチョイ 53d6-0MWP)2017/02/05(日) 16:06:08.06ID:JshVpFTv0
お前のソースを出せ
0454デフォルトの名無しさん (ワッチョイ 33dc-tPtZ)2017/02/05(日) 16:07:14.40ID:8HS86KpH0
>>452
止めたい処理に応じて考えるしかない
時間がかかる処理というのはプログラムのごく一部だから、そこを無理やり打ち切って処理を一旦終わらせてやる
で元の状態から再開できるように作り込む
一般論として言えるのはそれくらい
0455デフォルトの名無しさん (ワントンキン MM1f-4SR0)2017/02/05(日) 16:12:16.68ID:JJBphtlBM
別のスレッドで実行してサスペンド・リジュームするだけ
一般的なスレッド安全性だけ考えておけば個別の処理は必要ない
0456デフォルトの名無しさん (ブーイモ MM07-tPtZ)2017/02/05(日) 16:23:21.66ID:InU5HIWuM
>>455
その一般的なスレッド安全性とやらをどうやって確保するの?
止めた時点でたまたま静的コンストラクタが走ってただけで確実にデッドロックするんだぞw
0457デフォルトの名無しさん (ワッチョイ 9323-yene)2017/02/05(日) 16:34:38.22ID:63QLrGCH0
俺なら、再開と中断のボタンを2つ用意して、処理中なら中断ボタンだけ、中断中なら再開ボタンだけを表示して処理を分けるな
処理は2度押しだけ気をつけたらなんとかなるでしょ
あと、停止中は中断ボタンを表示して、ディセーブルとする
0458デフォルトの名無しさん (ワッチョイ 7f30-MDPp)2017/02/05(日) 18:30:12.19ID:Eg2ZHPf+0
suspendable(cancellable)な処理の書き方はMSDNのタスク並列がどうののページに書いてなかったか?
あれを読めよ
あれが読めないなら手出すのは1年早いから大人しく処理終わるの待ってろ
0459デフォルトの名無しさん (ワッチョイ 433c-yene)2017/02/05(日) 21:51:14.37ID:72Lq68qY0
始めたばかりのレベルで
どんなプログラム作ったらスキル上がりましたか?
0460デフォルトの名無しさん (ワッチョイ 337b-IIg7)2017/02/05(日) 22:47:23.50ID:moJwvdIq0
ゲームとかとにかく実践が大事
ネット記事とか本とか読んで出来るつもりになるのが一番ダメ
0461デフォルトの名無しさん (ワントンキン MM1f-4SR0)2017/02/05(日) 22:49:26.11ID:JJBphtlBM
最初は具体的なアプリを作らないことが重要
文法とランタイムについて納めたら、ひたすらに書籍やウェブサイトでコーディングの良い習慣とイディオムを学ぶ
ある程度自信がついてきたらDDDについて二、三冊本を読む
コーディングはそのあとだな
0462デフォルトの名無しさん (ワッチョイ ffed-ugtB)2017/02/05(日) 22:51:09.08ID:jq5X/Y9H0
電卓は状態遷移とか結構奥深い
括弧とかに対応すると構文解析まで勉強できる
0463デフォルトの名無しさん (ワントンキン MM1f-4SR0)2017/02/05(日) 22:53:11.80ID:JJBphtlBM
にわか仕込みの汚いコードを書く時間を極力減らすこと
最初に書いた汚いコードが癖になるといつまでも平気で汚いコードを垂れ流す
それはこの業界の先人達が証明している
0464デフォルトの名無しさん (ワッチョイ c349-a8w2)2017/02/05(日) 22:57:07.16ID:fsvHmggw0
>>461
DDDじゃ初心者にはチンプンカンプンだろ
0465デフォルトの名無しさん (ブーイモ MM07-tPtZ)2017/02/05(日) 22:59:17.71ID:zwp3LS7QM
モチベーションが一番重要だから作りたいものを作ればいい
ただしシステムユーティリティや操作自動化の類だけは避けること
初心者はそういうのを選びがちだが、確実に泥沼に嵌って時間ばかり浪費し、
得られるのは全く応用の利かないバッドノウハウだけ
0466デフォルトの名無しさん (ワッチョイ 53d6-0MWP)2017/02/05(日) 23:35:26.59ID:JshVpFTv0
簡単な画像処理するのを書いたかな
書籍のやつを丸コピーだったけど書いた内容が
そのまま画面に反映されるからモチベの維持はバッチリだったわ
0467デフォルトの名無しさん (ワッチョイ 7f4a-yene)2017/02/06(月) 00:37:58.37ID:9OgQn1wp0
入門者にシューティングゲーまじお勧め
0468デフォルトの名無しさん (ドコグロ MM7f-C4Pq)2017/02/06(月) 07:19:50.36ID:87jFG7WVM
>>464
最近覚えて使いたくてしょうがないんだろ
0469デフォルトの名無しさん (ワントンキン MM1f-4SR0)2017/02/06(月) 07:48:52.02ID:gKH+iZUMM
あっここ初心者スレだったか
0470デフォルトの名無しさん (オッペケ Sra7-FWOa)2017/02/06(月) 11:57:49.53ID:4QCLkB2dr
俺がプログラミングを覚えたのは金儲けツール作ったこと
よくわからずに作ったから酷いコードだけどそれで2000万くらい儲けた
0471デフォルトの名無しさん (ワントンキン MM1f-nOPp)2017/02/06(月) 12:17:46.39ID:yz/cpsC+M
趣味ならゲーム
実務ならめんどくさいことを楽にするためのツール
くらいから始めるといいかも
自分にとってメリットのある目的がないと続かないし
0472デフォルトの名無しさん (ワッチョイ 6f13-w8tn)2017/02/06(月) 14:37:26.45ID:QAELN1ME0
PHPみたいにテキストの文章をプログラムのコードとして読み取って実行してくれる方法ありませんか?
0473デフォルトの名無しさん (ワッチョイ ff4c-FIX0)2017/02/06(月) 14:41:08.80ID:G2m2OeCC0
PowerShell
0474デフォルトの名無しさん (アウアウオー Sa5f-m1Xa)2017/02/06(月) 15:40:19.77ID:n9AZiYjVa
こういうの?
大昔から存在するのは知ってるけど一度も使ったことないわ
http://www.atmarkit.co.jp/fdotnet/dotnettips/101compileinvoke/compileinvoke.html
0475デフォルトの名無しさん (ワッチョイ 034a-Sup+)2017/02/06(月) 16:09:20.76ID:LFg06LIZ0
>>470
どんなツールなん?
0476デフォルトの名無しさん (スプッッ Sd9f-mJ+X)2017/02/06(月) 18:53:34.50ID:jtvysINud
動的にコンパイルしてAppDomain作って実行は作った事あるな。
集計関数とか帳票とかで、最初は設定ファイルをパースしてたんだけど、
いつのまにかチューリング完全になって、闇魔法みたいな設定書くやつが現れて、パフォーマンスに影響出始めて。
どーせチューリング完全ならトランスパイルしてコンパイルしたれと思って書いたら我ながら便利な拡張エンジンになった。
その足回りを別チームがアニメーションに使ったりもしてた。
0477デフォルトの名無しさん (オッペケ Sra7-FWOa)2017/02/06(月) 20:52:45.40ID:4QCLkB2dr
>>475
世の中、プログラミングなんてまったくできないのに手作業や複数のクソアプリ組み合わせてボロ儲けしてる奴らがたくさんいる
そういう奴らが日々せっせと非効率なことやってるのを「いいツールありますぜ!」って紹介するだけで食いつく

まあ俺が作ったのはそういうのではないけど笑
0478デフォルトの名無しさん (ワッチョイ 0399-MDPp)2017/02/06(月) 21:24:46.43ID:jjlpYXf70
ああイケダ師匠とかがやってるっていう…
0479デフォルトの名無しさん (ワッチョイ a30d-PzOe)2017/02/07(火) 12:49:58.70ID:McQyQcJ/0
ListBox ListView GridView DataGrid の違いがよくわかりません
どういう用途で使い分けたらいいのか教えてください
0480デフォルトの名無しさん (ワッチョイ 7f4a-yene)2017/02/07(火) 21:33:47.53ID:lZgqbAG+0
ASP.NET WebFormsの話と察して。
古い記憶を元に書くけど、乱暴にまとめるとこんな感じ。

DataGrid:主に表形式データを表示するためのコントロール。
GridView:DataGridの改良版、基本的にDataGridは使用せずこちらを使うべき。
ListView:GridViewに比べて柔軟なためカスタマイズ性が高い。
ListBox:アイテムから1〜N個選択するためのコントロール。

DBから取得したデータを表で出すような代表的なケースでは、データをバインドするだけのGridViewが便利。
GridViewの機能や見栄えに不満があればListViewを使う感じかな。
0481デフォルトの名無しさん (ワッチョイ a30d-PzOe)2017/02/08(水) 10:37:55.04ID:rOslvZ8k0
>>480
わかりやすい解答ありがとうございました!
0482デフォルトの名無しさん (ワッチョイ 6f20-0MWP)2017/02/08(水) 23:22:30.09ID:JuESMFFV0
DTOって、物理ER図に含めて良いのでしょうか?

Dapperで2つのテーブルから1つのDTOに情報を集約しているのですが
2つのテーブルだけだと説明しにくいかなと思い

でも、一般的に物理ER図にはDBしか出てこないので
どうなのかなと
0483デフォルトの名無しさん (ブーイモ MM9f-tPtZ)2017/02/08(水) 23:44:56.95ID:qO3OS2QJM
集約するときのキーがきちんと図示されてればそれでよくね?
集約はあくまで処理の都合であって、データモデリングとはレイヤの違う話だろう
どうしても表現したいなら点線の枠で囲んどけば
0484デフォルトの名無しさん (ワッチョイ a390-/j6a)2017/02/08(水) 23:48:15.11ID:yte1dlTr0
C#でTcpClient・TcpListenerを使いHTTPproxyを作っているのですが、リクエストヘッダの解釈ってどうするのがスマートですか?
proxyを経由して通信するアプリは一つだけなので決めうちすることは可能なんですが、あまりにも力技すぎてちょっと躊躇しています
正規表現で地味に一つずつマッチさせていくしかないのでしょうか?
0485デフォルトの名無しさん (ワッチョイ fe22-0RrM)2017/02/09(木) 01:14:10.21ID:4sYnDBFk0
>>484
Httpプロキシだったら特定のヘッダー項目以外はぜんぶそのまま送信するだけじゃないのかな?
であれば正規表現はコストが高いので、必要なものだけignore caseで文字列比較でしてあげれば充分じゃないかな。
柔軟なフィルタリング設定機能を提供したいのであれば正規表現でもいいと思う。
0486デフォルトの名無しさん (ワッチョイ 2790-jWyY)2017/02/09(木) 02:22:50.86ID:nyEvJ0cJ0
ありがとうございます
2chmateから2chapixyへの橋渡しとして作ろうと思ったんですが2chmateのリクエストヘッダを見たところ自分にはレベルが高すぎました
実際やろうとしてることめちゃくちゃレベル高いですか?そこまで高くないですか?
0487デフォルトの名無しさん (ワッチョイ 7230-DR2M)2017/02/09(木) 05:06:43.81ID:2qzHgTI50
そこまで高くない
0488デフォルトの名無しさん (ワッチョイ 7230-DR2M)2017/02/09(木) 05:07:30.16ID:2qzHgTI50
いや、初心者ならそれなりに高いか
どのくらい初心者か知らないけど
0489デフォルトの名無しさん (ワッチョイ df64-0xw5)2017/02/09(木) 06:25:59.74ID:RvZkCLPt0
しらないことで不安だ。

しかし、なにごとにもはじめがある
0490デフォルトの名無しさん (ラクッペ MMc7-iIq0)2017/02/09(木) 07:13:17.10ID:oWJ51HgbM
>>483
レイヤが違うので
やはり適切ではありませんよね

点線で囲んでメモ的な記述にするか
論理ER図に書こうと思います

ありがとうございます
0491デフォルトの名無しさん (ワッチョイ 274f-E76/)2017/02/09(木) 17:50:17.41ID:oK6hmqI40
numericupdownで処理するのは数値だけど、
表示をA〜Zみたいにアルファベットに出来ますでしょうか?
Excelの列がA〜なので、出来れば共通にしたいのですが、
コントロール名からして数値のみでしょうか?
無理な場合は数値で表示するか、
不格好ですがテキストボックスを上に被せて、数値をアルファベットに変換します。
よろしくお願い致します。
0492デフォルトの名無しさん (ワッチョイ 9b19-Z42y)2017/02/09(木) 18:16:50.06ID:WLzAKPo80
DomainUpDown
ComboBoxかListBoxで十分な気がするけど
0493486 (ワッチョイ 7b90-jWyY)2017/02/09(木) 20:20:01.65ID:8SmAIcEJ0
やりたいことは2chmateでの過去ログ取得です
2chmateのプロキシに自PCを設定して取得したTcplistenerで取得したスレ取得時のリクエストには
CONNECT api.2ch.net:443
Host: api.2ch.net
しかログが残らなくて困惑しています
api仕様を見るとhttps://api.2ch.net/v1/auth/にいろいろつけて取りにいくみたいですが上のリクエストが解釈できません
0494デフォルトの名無しさん (ワッチョイ fe20-cGUq)2017/02/09(木) 23:03:33.04ID:wR2ltVTB0
C#で小さいアプリを作ったことがある程度の一人社内SEで
WBS管理アプリを作るために派遣の人に来て貰ったのですが
チームでの開発経験が無いので、どう作業しようか悩んでいます

クラス設計書に基づいたクラス配置をしたプロジェクトを準備し
各クラスはインターフェースでメソッドを規定しているので
後は各クラスの実装を書いて貰うだけと考えているのですが
OOPを意識した開発として、誤っていないでしょうか?

ちなみに派遣の人は、VB6と、ちょっとVB.NETをしたことがある人で
手続き型の開発しかしたことが無いとのことなので
やり方はこちらの指定に従うとのことでした
0495デフォルトの名無しさん (ワッチョイ a3d6-cGUq)2017/02/09(木) 23:10:21.00ID:1V94m8gi0
何でここで質問するの?バカなの?
0496デフォルトの名無しさん (ワッチョイ fe20-cGUq)2017/02/09(木) 23:16:02.05ID:wR2ltVTB0
C#のプロジェクトで、初心者の内部設計からの話なので
ここのスレかなと思ったのですが
内部設計スレを探してみます
0497デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/10(金) 00:24:51.79ID:dcBwz+q1M
プロジェクト管理ツールなんか優れた既製品が世の中に腐るほどあるだろ
どっかのSaaS契約すれば終わり
0498デフォルトの名無しさん (ワッチョイ 7bdc-3OfB)2017/02/10(金) 00:33:06.11ID:7mXc6D7Y0
今すぐ考え直してSaaSを契約し、余った期間は派遣の人と一緒に旅行にでも行ってこい
どう考えても無駄
0499486 (ワッチョイ 7b90-jWyY)2017/02/10(金) 00:39:40.91ID:H4LboL2a0
教えて欲しいのですが、2chmate→自作串→2chの場合、SSL通信の間に入らないといけないのですが
2ch側がどんなメッセージを返しているのかわからないと自作串がそもそも作れなかったりしませんか?
2chmate→自作串→apixyの場合でも2chmateはSSL通信しようとするのでどうにかごまかさないとみたいです・・・
上記で可能なんでしょうか?不可能でしたら何かいい案ありませんでしょうか?
0500デフォルトの名無しさん (スププ Sd52-VNHE)2017/02/10(金) 00:56:43.26ID:8nnnziXAd
>>499
SSLの通信に割って入れたらそりゃもうSSLではなかろう。
0501デフォルトの名無しさん (ワッチョイ b7bd-0RrM)2017/02/10(金) 00:58:31.74ID:mCg6Ou1P0
>>499
2chmateのandroid端末は自由にいじれるんですよね?
であれば、自作の証明書をインストールして、
自作の串側でSSLを復号して、2chにhttpsでリクエストを送ればできますよ。
例えばFiddlerはそうやってますよね。
0502デフォルトの名無しさん (スププ Sd52-VNHE)2017/02/10(金) 01:40:28.84ID:8nnnziXAd
>>501
2chmateがその自己証明の証明書をどう扱うかだな。
0503デフォルトの名無しさん (ワッチョイ 93f0-i7f5)2017/02/10(金) 02:55:07.11ID:354nXyOq0
targetSdkが24みたいだから
Android 7.0以上で動かすとシステムのCA証明書しか使えないかな

apiのリクエスト
header
POST /v1/echo/tech/1482772061
Host: api.2ch.net
User-Agent: Monazilla/1.00 ...
X-2ch-UA: ...
...

body
sid=...&hobo=...&apikey=...
でレスポンスコードとかThread-StatusとかでDATの状態判断する
0504494 (ラクッペ MMc7-iIq0)2017/02/10(金) 07:44:12.22ID:mH0Fm1nqM
ITの便利屋みたいなポジションで
暇な時間使ってWBS管理作れ
言われた上にクラウドがダメなので
SaaSは採用出来ないんです

で、4画面ほどのシステムの要件定義は済ませたので
クラスをインターフェイスで規定したプロジェクトを派遣の人に渡せば完成しそう、
OOP便利だと思ったのですが、
インターフェイスの使い方が邪道だったらどうしようと思い初心者スレに書きました。

失礼しました
0505デフォルトの名無しさん (スフッ Sd52-VNHE)2017/02/10(金) 07:46:14.55ID:74WKLgk8d
>>504
そっとRedmine導入すれば?
0506486 (ワッチョイ 7b90-jWyY)2017/02/10(金) 10:06:15.81ID:H4LboL2a0
>>503
結局それじゃあ作れないですね
2chmateのリクエストも若干違ってきますし・・・
0507デフォルトの名無しさん (オイコラミネオ MM4e-BUfI)2017/02/10(金) 10:08:42.79ID:pOwXO8iOM
>>503
androidの設定からインストールできなかったけ?
0508デフォルトの名無しさん (ワントンキン MM62-cEkq)2017/02/10(金) 13:00:28.24ID:6scz6mrwM
わざわざ派遣までやとって作るとか
どんな特殊なのを求められてるんだろう
0509デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/10(金) 13:56:29.81ID:dcBwz+q1M
>>504
クラウドがダメならオンプレでOSSやパッケージを導入すれば?
0510デフォルトの名無しさん (ワッチョイ 93f0-Kx9n)2017/02/10(金) 13:59:57.09ID:354nXyOq0
>>506-507
mateを使うスマホが7.0未満なら>>501のやり方が出来る
(オレオレCAの証明書をインストールして、オレオレCAを使ってサーバーの証明書を作る)
0511デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/10(金) 14:44:38.69ID:8f4rSBP3r
もう何言ってんのかまったくわからん
初心者スレじゃないな
0512デフォルトの名無しさん (ワッチョイ a6ce-E76/)2017/02/10(金) 15:16:26.64ID:6UihQBZT0
元はC#絡みっぽいけど>>499から逸脱してそれに付き合う回答者がアホなんだからしょーがないね
0513デフォルトの名無しさん (ワッチョイ 327b-F1sY)2017/02/10(金) 15:38:49.89ID:ZWQLMh1M0
1>>からして回答者がいるか誘導されない限りつづくしな
0514デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/10(金) 15:40:26.93ID:izdz/JI9a
別に逸脱なんかしてねえし、そもそもそういうレスが一番無価値だ。
自分に突っ込めないのは馬鹿の特権だなほんっと。

別に馬鹿でもいいけど回答する人間のモチベーションを挫くようなこと書くなってカスが
0515デフォルトの名無しさん (ワッチョイ 93f0-Kx9n)2017/02/10(金) 15:53:13.11ID:354nXyOq0
プロキシの質問はこっちがいいかも
専用ブラウザを助けるプロクシ作らね?17串目
http://potato.2ch.net/test/read.cgi/software/1466955127/
0516デフォルトの名無しさん (ワッチョイ dfd9-DR2M)2017/02/10(金) 16:08:23.65ID:W+YEktJw0
pythonスレでクラックのためにmitm串の使い方を聞いてた奴と大差ない
0517504 (ワッチョイ fe20-iIq0)2017/02/10(金) 18:09:24.11ID:EP3wxk4m0
Redmineは試したのですが
使い方が解らんと言われました

会社特有のWBSの詳細情報も見たいとかで
ASP.NETで簡単なモックを作ったら
これで良いと言われたんですが
自分は新年度人事の準備があるので
派遣の人に実装を任せる事となり

機能仕様と物理ERDとクラスとインタフェイスとテスト要領を準備したので
一般的にこれで実装出来るのか本職の方に聞いてみたかったんです

派遣の人は実装の経験しか無いとのことで、仕様を用意するのはこちらの責任区分と考え未経験ながら色々調べたつもりです
0518デフォルトの名無しさん (アウアウオー Sa8a-BhAG)2017/02/10(金) 18:55:50.27ID:nIvAkTeQa
> Redmineは試したのですが
> 使い方が解らんと言われました
www
相手と相談しながら決めてけばいいだろ。でもどっちもコミュ障なんだろうな
0519デフォルトの名無しさん (ワントンキン MM62-S0So)2017/02/10(金) 19:02:20.94ID:qb46k0xYM
WBSはデータベースでグラフを扱うから練度の低い派遣だと炎上するよ
0520デフォルトの名無しさん (ワッチョイ 7230-DR2M)2017/02/10(金) 19:49:48.59ID:STa9hXIn0
無理だと言ったところで何も変わらなそうですし
やりゃあいんじゃないですか(鼻ホジ)
0521デフォルトの名無しさん (ワッチョイ b7bd-Gj9/)2017/02/10(金) 21:24:28.47ID:mCg6Ou1P0
>>506
これが参考になるんじゃないかな
ttps://github.com/justcoding121/Titanium-Web-Proxy
ざっと見た感じだと全部C#で実装されてるみたいだから
SSLの仕組みを理解すれば読めると思う。
これをこのまま使ってもいいと思うけど。
0522デフォルトの名無しさん (ワッチョイ be5b-KlhN)2017/02/11(土) 14:03:10.30ID:WeBIHJYm0
C#触りはじめたばかりの者だが恐ろしい話題だな。

普通はこんな質問に余裕で答えられるレベルじゃないと手を出しちゃいかんと思うが。
手探り含めて挑戦してみるという状況を上司も分かった上での話なら十分あり得るけど。
0523デフォルトの名無しさん (ワントンキン MM62-S0So)2017/02/11(土) 14:45:53.58ID:Z2oJz4TsM
クラスって何ですかっていうレベルの新人が平気で責任の伴う筈のコードを触れちゃう業界だよね
0524デフォルトの名無しさん (ワッチョイ 93bb-cGUq)2017/02/11(土) 15:47:23.29ID:sLXLvEEW0
国家資格がありながら免許制ではないというザル制度だから。
0525デフォルトの名無しさん (ワッチョイ 173c-Dg5S)2017/02/11(土) 16:04:20.29ID:cBbytIAB0
うちの会社は資格があるとちょっと給料増える
有り難いといえば有り難いが、資格なんてそれだけの存在
0526デフォルトの名無しさん (ワントンキン MM62-S0So)2017/02/11(土) 18:51:19.40ID:Z2oJz4TsM
うちの若い衆は資格持ってない奴の方が仕事ができる
仕事めいいっぱいやってるから試験受ける元気がないんだと
0527デフォルトの名無しさん (ワッチョイ 323c-zlRv)2017/02/11(土) 19:19:29.64ID:VLfM/32P0
>>525
いいなあうちは合格時の報償金だけだわ

>>526
> 仕事めいいっぱいやってるから試験受ける元気がないんだと
そんな面倒な試験じゃねーだろ w
0528デフォルトの名無しさん (ワントンキン MM62-cEkq)2017/02/11(土) 19:20:23.82ID:TEW+p5o+M
給料5万アップならがんばるけど
賞金5万ならいらねー
0529デフォルトの名無しさん (ワントンキン MM62-S0So)2017/02/11(土) 19:33:12.02ID:Z2oJz4TsM
>>527
使える若手に休日なんかねえしwww
0530デフォルトの名無しさん (ワッチョイ 323c-zlRv)2017/02/11(土) 20:05:27.48ID:VLfM/32P0
>>529
ブラック乙
0531デフォルトの名無しさん (ワッチョイ 937b-A+aG)2017/02/11(土) 20:27:04.32ID:LG38aSbV0
マ板いけ
0532デフォルトの名無しさん (ワッチョイ 7b90-jWyY)2017/02/11(土) 21:51:13.78ID:5HwoZWaF0
>>521
ありがとうございます、時間はかかると思いますが1行1行理解していきたいと思います

ひとつ疑問に思ったのですが、HttpWebRequestとHttpWebResponseって何のために作られたんでしょうか?
WebRequest、WebResponse使えばいい話ですし、逆に制約が多くなるのであまり存在意義を感じないのですが・・・
0533デフォルトの名無しさん (ワッチョイ be5b-KlhN)2017/02/11(土) 22:00:44.25ID:WeBIHJYm0
資格については技術の無い人が箔を付けるために取る場合も多い。
技術のある人は取る意味がわからないと感じる人も多いでしょ。
0534デフォルトの名無しさん (ワッチョイ 7bdc-3OfB)2017/02/11(土) 22:04:58.17ID:i65Ibvj/0
>>532
WebRequest/WebResponseは抽象クラスなので直接使うことはできない
WebRequest.Createなどでインスタンスを作成しようとすると、
実際にはプロトコルに応じてHttpWebRequestやFtpWebRequestなどの派生クラスのインスタンスが返る
だからお前がいつもWebRequestだと思って使っているのは実はHttpWebRequest
0535デフォルトの名無しさん (ワッチョイ 93bb-cGUq)2017/02/11(土) 23:42:14.75ID:sLXLvEEW0
>>526
知識がないから作業量が増えてるだけ。
奴隷商人はそのほうが収入増えるから仕事ができるという嘘をいう歪んだ業界。
0536デフォルトの名無しさん (ワッチョイ fe13-Znb2)2017/02/12(日) 00:07:11.61ID:4jYnBLuB0
しょうもない資格取るくらいなら仕事して金稼ぐわw
0537デフォルトの名無しさん (ワッチョイ fe20-cGUq)2017/02/12(日) 00:16:23.91ID:lRABItTh0
クラス設計でメソッド定義してるんだから
わざわざインターフェースで縛る必要ないね
0538デフォルトの名無しさん (ワッチョイ fe13-Znb2)2017/02/12(日) 00:24:23.38ID:4jYnBLuB0
>>537
多態使うときにinterface使えばいい
0539デフォルトの名無しさん (ワッチョイ 173c-Dg5S)2017/02/12(日) 00:31:30.89ID:XCktPVjd0
>>533
FEとAPくらいは学生時代に取っとけばいいよ
俺はそうした

新卒以外なら、資格だけあったって実務経験ない分野じゃ役に立たねーしな……
あんま働きながら取ろうって気にはならんね 休日は休んでいたいし
0540デフォルトの名無しさん (ワッチョイ 7b90-jWyY)2017/02/12(日) 04:22:40.76ID:mdC/jwcN0
httplistener使ってwebサーバー作るときには管理者権限必要ですけど
tcplistener使ってwebサーバー作るときに管理者権限必要ないのはなんでですか?
それとも僕の勘違いでtcplistenerでも管理者権限必要でしたっけ?
0541デフォルトの名無しさん (ワッチョイ 323c-zlRv)2017/02/12(日) 08:05:00.20ID:yxF5W3i10
資格なんてなんの役にもたたんよ

って言ってる自称技術のある俺
って奴も多いけどな w
0542デフォルトの名無しさん (ブーイモ MM53-CvLw)2017/02/12(日) 08:39:28.74ID:WpegkxZ+M
「くだらないことで実力より低く評価されるのは損だ」という考え方ができないんだろうね
典型的な底辺止まりの思考
0543デフォルトの名無しさん (アウアウオー Sa8a-BhAG)2017/02/12(日) 08:50:11.13ID:+YHMx5k5a
同じことやらせても新しいこと身につける奴とそうでない奴がいるからな
一夜漬けするような後者に資格受験は時間の無駄
前者でも好奇心強い奴は資格受験に頼らずとも自分で知識集めてくから時間の無駄
意欲のない前者タイプには役立つ。大概的な意味合いもあるが、おまえら意欲ないから会社は資格取らせようとするんだよ。後者だから無駄に終わるがw
0544デフォルトの名無しさん (ワッチョイ 7bdc-CvLw)2017/02/12(日) 08:59:32.57ID:RQ58gzfk0
IPA系は少なくとも池沼ではないことの保証としては極めて有効
専門卒やバカ大の文系だととんでもないのがいるからな
まともな大学出てるならいらない
0545デフォルトの名無しさん (ワッチョイ a3d6-cGUq)2017/02/12(日) 09:06:52.58ID:LPrkPiV20
資格手当で単純に給料増えるから無駄にはならないだろ
0546デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/12(日) 13:58:42.98ID:6G/oP1N0a
またしょーもない雑談が続いてるけど、こういう連中って本人は「他人」(会社や同僚)の愚痴を
語ってるつもりなんだろうけど結局それでてめえ自身を語ってることに気が付かないのかね。

お前がくだらない環境で働いてるのはお前自身がくだらない人間だからだよ悪いけど。
くだらないクダ巻きは居酒屋ででもやれって馬鹿
0547デフォルトの名無しさん (ワッチョイ a6cb-g4mt)2017/02/12(日) 14:10:50.23ID:LI/qrlfJ0
何言ってるのかわからないけど
設計書書いてからプログラム組めよ
0548デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/12(日) 15:45:29.41ID:/b84DIntr
いろんなツールで逆アセできてしまうんだけど、せめて難読化とかどうしてる?
有料バカ高ツール買うしかないの?
0549デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/12(日) 15:46:47.51ID:9zVyZuTsM
気にしない
本当に重要なロジックはクラウドに置く
0550デフォルトの名無しさん (ワッチョイ a3d6-cGUq)2017/02/12(日) 15:53:30.18ID:LPrkPiV20
どうしても必要ならフリーの難読化ツール使えばいい
検索すれば活発に開発しているかどうかはともかくとして沢山見つかるぞ
0551デフォルトの名無しさん (スププ Sd52-Znb2)2017/02/12(日) 15:58:51.80ID:30lbeLdWd
>>549
スタンドアロンの場合はどうですか?
0552デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/12(日) 16:00:16.22ID:/b84DIntr
>>549
ちとクラウドには置けないんだ

>>550
探したけど4.5や4.6に対応してなくてせいぜい3.xか4までなんだよなあ…
情報古いのばかりだし、開発止まったり開発してるやつは有料化してるし
2万くらいまでなら出すけど10万以上とか悩む…
0553デフォルトの名無しさん (ワントンキン MM62-S0So)2017/02/12(日) 16:06:34.06ID:UUbs1MWiM
クラウドに置けない理由は?
そんな重要なコードなのか?
0554デフォルトの名無しさん (ワッチョイ 3223-CIv3)2017/02/12(日) 16:08:50.62ID:7mehC9vV0
UWPにするのも方法の一つだな
0555デフォルトの名無しさん (ワッチョイ fe13-Znb2)2017/02/12(日) 16:09:45.51ID:4jYnBLuB0
クラウド前提でないシステムの開発なんて普通にあるだろ
0556デフォルトの名無しさん (ワッチョイ a3d6-cGUq)2017/02/12(日) 16:44:05.89ID:LPrkPiV20
>>552
無償 (4.5対応)
https://yck1509.github.io/ConfuserEx/
有償 (4.61対応)
http://babelfor.net/
0557デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/12(日) 17:39:32.01ID:/b84DIntr
>>553
会計ソフトみたいなやつとか画像ソフトみたいなやつとか
会計ソフトだとデータをクラウドに持ってくの客が嫌がる
画像ソフトだといちいちクラウドなんかで処理してたら激遅で使い物にならん

>>556
おおっあるんだな…!
見てみます!
0558デフォルトの名無しさん (ワントンキン MM62-S0So)2017/02/12(日) 17:46:04.03ID:UUbs1MWiM
今時素人の管理するローカルにデータおいとく方が危険だろうに
速度必要ならネイティブアプリ書くし
なんだかなぁ
0559デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/12(日) 18:51:21.87ID:9zVyZuTsM
>>557
そんなもんわざわざ難読化する必要あるのか?
受託開発なら客くらいは信用してやれよ
0560デフォルトの名無しさん (ワッチョイ fe13-Znb2)2017/02/12(日) 19:29:23.53ID:4jYnBLuB0
押し付けがましいクラウド推しだなw
0561デフォルトの名無しさん (ワッチョイ 173c-lIOg)2017/02/12(日) 19:56:31.74ID:vM2j5Kno0
>>560
クラウドとクラサバの区別すらできていないように見えるな
0562デフォルトの名無しさん (ワッチョイ 93bb-cGUq)2017/02/12(日) 21:09:00.16ID:8IP9T+dI0
クラウドはバズワードだろw
0563デフォルトの名無しさん (ワッチョイ 9341-Avde)2017/02/12(日) 21:35:43.32ID:d34X37hQ0
いうほどバズか?
出始めはそうだったろうけど
0564デフォルトの名無しさん (ワッチョイ 769d-cGUq)2017/02/12(日) 21:59:02.46ID:X2lEwKBH0
クラウドに置けとか、なんで知障は明後日の回答したがるんですかね?
>>556みたいなことが書けない知らないなら黙ってればいいのに
0565デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/13(月) 07:55:48.89ID:K3AR3nw+M
実際AWSとか経験してしまうともう全部これでいいだろと思うようになるよ
うちの会社はマジでインフラビジネス崩壊の危機に直面してる
0566デフォルトの名無しさん (ワッチョイ df09-DR2M)2017/02/13(月) 09:39:21.50ID:5AbbZsGI0
ちょっと会話が成り立ってないみたいなんですけど
これだから池沼って言われるんではないですかねww
0567デフォルトの名無しさん (ワッチョイ 93bb-cGUq)2017/02/13(月) 10:49:34.63ID:6O142uRC0
ここでフックやプロキシや難読化の質問する時点で
遠隔ウイルス片山と同じ悪いこと考えてるんだから真面目にレスする必要もあるまい。
0568デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/13(月) 12:20:44.16ID:axxRkyStr
難読化質問した者だけど、悪いことする人だけが難読化するって意識なの?
0569デフォルトの名無しさん (ワッチョイ 27c0-CIv3)2017/02/13(月) 12:22:21.24ID:gHEQ/2iY0
難読化は悪いことする人への対策だしな
0570デフォルトの名無しさん (ワッチョイ 7bdc-CvLw)2017/02/13(月) 12:33:28.50ID:u3X6aEIq0
問題は誰が悪いことするのかでしょ
特定の客にしかバイナリを配らないんなら客からの要求がない限りは難読化なんか要らない
客にも漏らせない特殊な技術があるとしたら、それは難読化云々ではなく契約の問題
客がそれを破ったら当然訴えりゃいい
0571デフォルトの名無しさん (スプッッ Sd72-jFC1)2017/02/13(月) 12:38:33.29ID:bVT/P/ned
悪い人が本気出せば難読化したところで解読できますし
技術に疎い人間を納得させるための方法としては有効だとは思うけど
0572デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/13(月) 12:42:05.58ID:axxRkyStr
一般人販売するから簡単にクラックされるのもなあ
ライセンス関係のところやられると、アクティベーションしなくても使えるようになっちゃうし
0573デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/13(月) 12:43:19.88ID:axxRkyStr
まあwindowsやフォトショでさえクラックされてるしな
底辺の俺(ら)が何をやっても無駄か笑
0574デフォルトの名無しさん (アウアウオー Sa8a-BhAG)2017/02/13(月) 12:44:03.70ID:ubVZSqMka
金庫にお金入れたところで盗まれるから入れずに置いといて問題ない
金庫なんて盗みに疎い人間を納得させるためだけのもんだ
って言ってるようなもんだな
0575デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/13(月) 12:48:58.22ID:K3AR3nw+M
>>574
金庫は言い過ぎ
エロ本をベッドの上に堂々と置くかベッドの下に隠すか、くらいの違い
0576デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/13(月) 12:53:33.66ID:1vnuYgLka
>>568
それはないけど、ちょっと自意識過剰な人なのかなって疑いは正直持つねw
そんな高度なプロプラ持ってる人はこんなところで質問しないと思うし

もちろん好意的に考えれば、>>570が言うような事情を抱えた零細企業の従業員って
可能性もありうるけど

俺も零細にいた時、インストールシールドとか買ってもらえなくてVSのセットアッププロジェクトに
力技でシリアルキーの検証機能を組み込んだことあるよw
0577デフォルトの名無しさん (スププ Sd52-Znb2)2017/02/13(月) 14:21:46.45ID:Xm/Iv1XXd
>>565
この人しつこい
0578デフォルトの名無しさん (オッペケ Srf7-S/g0)2017/02/13(月) 14:50:05.75ID:axxRkyStr
>>576
ちょっとスレの目的とは外れるからこの件をずっと言うのもあれだけど
孤独な自営なので取り引き先に納品とかじゃないんだ
あと本業はプログラマじゃないのでここからは出られないと思う
0579デフォルトの名無しさん (ワッチョイ 124c-0xw5)2017/02/13(月) 16:12:42.48ID:LAv/WUos0
>>576
インストールシールドで組んでも同じ事。
照合用のDLL内部に細工組まないと、ダンプで読めちゃう。
0580デフォルトの名無しさん (アウアウオー Sa8a-BhAG)2017/02/13(月) 16:42:06.47ID:ubVZSqMka
>>579
照合用のDLL内部に細工組み込んでも同じ事。少しいじったら使えちゃう

難読化もシリアルは当たり前だが、クラウドでさえも盗人を防ぐことはできないんだよ
防ぐならバイナリ配布やサービス提供をやめるしかない
0581デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/13(月) 17:40:39.81ID:1vnuYgLka
>>579
そういう話じゃなくて、MSが提供してるセットアッププロジェクトには
シリアルナンバーの類を検証する機能がそもそも存在しないのよ

クラック対策とかそれ以前の話
0582デフォルトの名無しさん (アウアウカー Sa1f-KlhN)2017/02/13(月) 17:45:28.33ID:5u9YjgZYa
難読化が必要な人ってどういう人か?って話から零細と推測して、似た境遇だったことがある人が感想を述べただけでしょ。

読めちゃうかどうかはそこではどうでも良いだろ。
人の言いたいことを読み取れない奴が多いな。
0583デフォルトの名無しさん (ワッチョイ 124c-0xw5)2017/02/13(月) 18:19:03.34ID:LAv/WUos0
>>580
そういう事はもちろん承知。

いくら照合テーブルを複数用意しても、ジャンプ命令で抜けれたらどうもこうもない。



で、年末に照合用サーバーを納めたとこよ
0584デフォルトの名無しさん (ワッチョイ 3e7b-Ol/0)2017/02/13(月) 23:54:38.62ID:64u1b7/j0
>>583
サーバ見に行くところにパッチ当てて、
強制的にtrue返すようにしておいたよ
0585デフォルトの名無しさん (ワッチョイ 9341-Avde)2017/02/14(火) 07:05:19.58ID:1IUMjXL00
隠しメッセージを置いておくくらいはしたいもんだ

このメッセージを見たものはハゲます、みたいな
0586デフォルトの名無しさん (ワッチョイ 2790-jWyY)2017/02/14(火) 09:44:42.37ID:Nim8Pln30
数独を解くアプリを作っているのですが、上級問題になると解けない問題があります

フローはこんな感じなんですが何が足りないんでしょうか?
まず不明な数を0と置きます、該当マスの縦横、3x3のブロック内を検索し、見つけた数「n」とし9個の配列を持つbool型のflag[n-1]をtrueにして
もしbool型変数flagのfalseが一つしかない場合、絞り込めたと判断しflagのfalseの位置を該当のマスに代入します
これをループさせて、すべての配列で0がない場合、一周して一度も代入できていない場合を抜ける条件としています

ソースも貼っておきます。下側は解けるのですが上側は解けないです
https://ideone.com/uwvM7n
0587デフォルトの名無しさん (ワッチョイ 93bb-cGUq)2017/02/14(火) 10:29:46.12ID:dpHbb6/Q0
wikip見てルールは軽く理解したが、それで解けるわけないだろw
関係する組み合わせもすべてチェックしろw
0588デフォルトの名無しさん (ワッチョイ 1258-3CwI)2017/02/14(火) 11:30:18.74ID:8kq18t1J0
音声をSoundPlaerで再生しようとするプログラムを作っています

単純にプロジェクト作成で作られるForm1に音声再生用クラス(SoundPlayer)を用意
別スレッドで再生する関数(SoundPlayer.Play)を作って音声再生を実施する形にしてます

そこで実体化とかで親フォーム(Form1)を指定する形にして再生終了したときに
form1.Invork((MethodInvoker)delegate(){form1.endPlayEvent()});
で関数呼び出すと終了時のForm1のボタンとかが操作ができるのはわかります

しかし別プログラムに再生用クラスを持っていくときに
できるだけこのクラスを書き換えしたくないので
Formに通知してイベントを起動する形とかできるのでしょうか?
0589デフォルトの名無しさん (ワッチョイ 124c-YCZx)2017/02/14(火) 11:32:16.56ID:CQeCieXf0
>>588
もうちょい詳しく。

プロセス間通信みたいなもん?
0590デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/14(火) 11:38:24.01ID:PdY4D7f4a
そんな難しい話じゃなく、恐らくFormに処理を書いちゃってるVBerなノリの人なんでしょう
0591デフォルトの名無しさん (ワッチョイ 1258-3CwI)2017/02/14(火) 11:49:51.24ID:8kq18t1J0
>>589
VBerかはわからないけどこれから色々書いていって学ばないと行けないのは分かってる

とりあえずやってみようとしているのは
Form1のボタンクリック(ボタンの無効化)
↓
音声データを作って、再生クラスへ投げる
↓
別スレッドで処理開始(await Task.Run()=>を使用)
↓
SoundPlayer.PlaySync()で再生
↓
再生終了したときにForm1に終了を通知
↓
通知を受けたForm1が再生終了の処理(ボタンの有効化)

今回はボタンの無効化だけど、他の処理もやることになるかもと思って聞いてみた
0592デフォルトの名無しさん (ワッチョイ 124c-YCZx)2017/02/14(火) 11:58:52.16ID:CQeCieXf0
何か、Programに静的メンバーでその再生クラスを入れればいいんじゃね
とエスパー?
0593デフォルトの名無しさん (ワッチョイ 3223-ENO3)2017/02/14(火) 12:12:01.84ID:zkaGzzQt0
>>591
要するにコントロールのスレッドセーフな呼び出しでしょ?外部からInvokeするより、やはりTaskを返すべきじゃないかなぁ
TaskCompletionSourceで実体のない任意に状態を設定できるTaskも作れる、あとはForm側でawaitするなり
TaskScheduler.FromCurrentSynchronizationContext()を与えてContinueWithしておくなり…
0594デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/14(火) 12:13:11.38ID:PdY4D7f4a
>>591
真面目な話、何が聞きたいのかちゃんと他人に理解できるように書かないと
誰も回答しようがないよ。

悪いけど何がしたくて何を質問してるのかさっぱりわからない
0595デフォルトの名無しさん (ワッチョイ 1258-3CwI)2017/02/14(火) 12:18:48.12ID:8kq18t1J0
>>592-594
わけわからない質問してごめん
色々ゴチャゴチャになってて考えとかが纏まってない気がしてきた
ちょっと休憩とかして、頭をクリアにしてから書いて貰ったことを調べてみる
0596デフォルトの名無しさん (ワッチョイ 2790-jWyY)2017/02/14(火) 12:37:48.40ID:Nim8Pln30
>>587
すいません、関係する組み合わせとはなんですか?
0597デフォルトの名無しさん (ワッチョイ df6d-DR2M)2017/02/14(火) 12:55:23.20ID:XyImroZT0
初心者は大人しくバックトラックで解いた方がいいんでないの
0598デフォルトの名無しさん (ワッチョイ df6d-DR2M)2017/02/14(火) 12:58:55.86ID:XyImroZT0
何らかの事情で劇的な速度が欲しいならSATソルバー使う方が速い
0599デフォルトの名無しさん (ワッチョイ 93bb-cGUq)2017/02/14(火) 13:09:33.16ID:dpHbb6/Q0
>>596
9*(決まってない空白数)だけパターン数があると考えてすべて整合性チェックすればいいんだよ。
あとは自由に最適化しろ。
0600デフォルトの名無しさん (ワッチョイ 635b-t8AD)2017/02/14(火) 17:38:40.59ID:BsjgcFem0
複数選択可のListBoxのSelectedIndexChangedイベントにおいて、
今まさに選択されたアイテムのindex (VBのListBox.ListIndexのような感じです)を得るにはどうすれば良いですか。
0601デフォルトの名無しさん (ラクッペ MMc7-iIq0)2017/02/14(火) 18:37:27.66ID:e3yTVnI+M
formアプリとただのASP.NETと
VBはもうサポートしなくて良いよね

分散しまくってるから
リソース集中して欲しい
0602デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/14(火) 18:42:24.50ID:PdY4D7f4a
>>600
そのイベントって選択解除や選択されている項目を削除した時も発生するし、
ListBoxってShiftキー押しながらクリックで複数項目を選択したり解除したりできた気が
0603デフォルトの名無しさん (ワッチョイ 635b-t8AD)2017/02/14(火) 20:04:39.55ID:BsjgcFem0
>>602
言い忘れていましたが、C# 2.0の話です。
ListBoxのプロパティSelectionModeをMultiSimple等にすると、複数選択できるようになります。
何をやりたいかというと、1つのListBoxで項目を6個以上選択できない(5個までなら選択できる)ようにしたいのです。
0604デフォルトの名無しさん (ワッチョイ 7642-LB0c)2017/02/14(火) 20:29:01.97ID:8xZyzg4v0
>>586
C#ってかアルゴリズムだと思うけど9×9の数独なら力技でもそんな時間かからんぞ
空きマスに1置けるか?置けないなら2置けるか?
ってチェックしていって置ける数字がでたら次の空きマスに移動
移動した先で置ける数字がなくなったら1個戻って数字を変える
みたいな処理を再起で組めばいける
この手法だと回答が複数ある時、あるいはパズルとして成立しない時(途中で手詰まりになる時)でも無理やり回答を出してしまうっていう問題があるけど
0605デフォルトの名無しさん (ワッチョイ 2790-jWyY)2017/02/14(火) 22:01:03.75ID:Nim8Pln30
>>604
空きマスに1置けるか?置けないなら2置けるか…ってやっていくのはわかるんですが
自分がやっている縦横同ブロック検索しておける数字が一つに絞り込めた場合、代入するようにしてるんですがこれ違うんですか?
0606デフォルトの名無しさん (ブーイモ MM4b-ZWt2)2017/02/14(火) 22:09:41.60ID:mO6RmRZWM
>>605
数独を解いたことあれば、それだけではクリア出来ないのは良くあることなんだけど……
0607デフォルトの名無しさん (ワッチョイ 7642-LB0c)2017/02/14(火) 22:11:49.93ID:8xZyzg4v0
>>605
一つに絞り込めなくても現時点で置けるならとりあえず置いて次に行くの
順次進めて行ってどこかのマスで何の数字も置けないようになってしまったら今まで置いてきた数字に何処かに誤りがあったってことだから戻って別候補にするって感じ

マスに入る数字を一つに絞り込んで進めていくやり方は数独のテクニックを理解してそれをプログラミングしていく必要がある
上級問題は当然そのテクニックも難解になるから上下左右ブロックを見るだけ程度のテクニックだけでは解ききれない

問題制作側で回答チェック等まで踏まえたツールなんかを作成するなら当然このあたりまで考慮して製作する必要があるけど
ひとまず回答だけ求めるなら前半に書いた手法で十分だよ
0608デフォルトの名無しさん (ブーイモ MM4b-ZWt2)2017/02/14(火) 22:19:23.18ID:mO6RmRZWM
あれ?そもそも最上段の左から2番目埋まってないな。
やろうとしてるロジックも未完成なんじゃね?
0609デフォルトの名無しさん (ワッチョイ 7230-VyiL)2017/02/14(火) 22:25:20.31ID:5IUCJa7e0
もう諦めてsquatでもしてこいよ
0610デフォルトの名無しさん (ワッチョイ 2790-jWyY)2017/02/14(火) 22:40:12.49ID:Nim8Pln30
>>607
再起がすごい苦手なんですが・・・どこまで潜っていくのかわからないですし
どう抜ければどう書けばいいのかもわかりません
0611デフォルトの名無しさん (アウアウウー Sab3-cZcy)2017/02/14(火) 22:45:26.95ID:PdY4D7f4a
>>603
完璧じゃないけどこの辺で妥協?

IEnumerable<object> mPrevSelectedItems = new object[0];
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
  var selectedItems = listBox1.SelectedItems.OfType<object>();
  var removeCount = selectedItems.Count() - 5;
  if (removeCount > 0)
  {
    var ex = selectedItems.Except(mPrevSelectedItems);
    var skipCount = ex.Count() - removeCount;
    if(skipCount >-1)
    {
      var items = ex.Skip(skipCount);
      Array.ForEach(items.ToArray(), x => listBox1.SelectedItems.Remove(x));
    }
  }
  mPrevSelectedItems = selectedItems.ToArray();
}

思ったより面倒くさいなあ
0612デフォルトの名無しさん (ワッチョイ 7642-LB0c)2017/02/14(火) 23:13:26.80ID:8xZyzg4v0
>>610
別に実装は再起じゃなくても問題ないよ
アルゴリズムが理解できれば普通にループと分岐だけで組める
0613デフォルトの名無しさん (ワッチョイ 7bdc-3OfB)2017/02/14(火) 23:35:48.88ID:+J5Ev49B0
>>610
こういう問題は手続きじゃなくてトップダウンで関数型的に考えると機械的に解ける

解 = 数独を解く(初期状態, []).FirstOrDefault();
数独を解く = (状態, 探索済) => 解けている(状態) ? [状態] : 次の候補(状態, 探索済).SelectMany(候補 => 数独を解く(候補, 探索済 + 状態)).First();
次の候補 = (状態, 探索済) => 数字を適当に1つ置いてみるときの全ての置き方(状態).Where(状態 => 矛盾してない(状態) && 探索済.含まない(状態));
数字を適当に1つ置いてみるときの全ての置き方 = 状態 => …

こんな感じで大雑把なところから細部を詰めていくの
具体的な動作をイメージしづらいかもしれないけど、結局やってることは ID: 8xZyzg4v0 と同じ
0614デフォルトの名無しさん (ワントンキン MM62-S0So)2017/02/14(火) 23:40:20.02ID:UB3JXf9tM
数独はSQLで解くのがトレンド
0615デフォルトの名無しさん (ワッチョイ 323c-zlRv)2017/02/14(火) 23:46:21.93ID:3qnQ1Gfx0
>>605
ここら辺を参考にしてみるとか
https://www.slideshare.net/mobile/atmarksharp/ss-45348313
0616デフォルトの名無しさん (ワッチョイ 93bb-cGUq)2017/02/15(水) 06:53:14.94ID:apHpeiac0
自分の頭で解けない奴には、その解法を仕様化できるわけがない。
0617デフォルトの名無しさん (スフッ Sd52-AyEu)2017/02/15(水) 08:38:52.62ID:4NekN3gFd
9(縦)x9(横)x9(ありえる数字)のboolの配列持って、
まず既知のセルの8個の数字を消しこんで、
その次に、全セルを順番に縦、横、3x3のブロックでそれぞれ、あり得ない数字(≒縦、横、ブロック内の、ひとつだけになっているセル)を消しこんでいって、一周しても何も消せなくなるまで回って、
その後、ありえる数字の組み合わせの総当りにした方が多分良い。
ありえる数字の組み合わせを考えるから辛い。
あり得ない数字は別のセルから導出できるんだし。
0618デフォルトの名無しさん (ワッチョイ 7642-LB0c)2017/02/15(水) 08:55:15.39ID:yJTbA8M80
>>617
処理が前後半の2段階になってるけど質問者は前半だけじゃ解けない問題に直面して困ってる&後半だけで解ける
って状態なんだからひとまず前半は要らない
後半作って上手く行ったなら処理速度向上とか考慮して前半みたいな処理を追加すればいい
0619600 (ワッチョイ 635b-t8AD)2017/02/15(水) 09:42:28.85ID:J55wC/o80
>>611
うまくいきました。やはり選択されたアイテムを覚えさせておく方法が良いようですね。
どうもありがとうございました。
0620デフォルトの名無しさん (ワッチョイ df07-VyiL)2017/02/15(水) 12:45:30.38ID:uvXQ5Mwv0
数独ソルバー程度で悩む奴もいるんだなあ
俺は厨房のころ作ったけど
0621デフォルトの名無しさん (スフッ Sd52-AyEu)2017/02/15(水) 13:17:31.37ID:4NekN3gFd
>>618
うーん、総当りって現実的な時間には終わらんと思うが。
0622デフォルトの名無しさん (ワッチョイ df6a-VyiL)2017/02/15(水) 13:59:57.66ID:1Sp8YgZp0
いまPythonで書いてみたけど5年前のMacMiniでも数秒で終わる
0623デフォルトの名無しさん (ワッチョイ df6a-VyiL)2017/02/15(水) 14:06:17.53ID:1Sp8YgZp0
ideoneでも余裕で動いた
https://ideone.com/TSJo4P
0624デフォルトの名無しさん (ワッチョイ 7642-LB0c)2017/02/15(水) 14:39:28.56ID:yJTbA8M80
>>621
作ったことないんでしょ
9✕9なんて一瞬、処理途中を描画しながらで数秒レベル

組み合わせは最大81の9乗あるから仮数字を全部入れてチェックなんて手法取ったらそら終わらん。
順番に仮置きして矛盾が発生した場合戻るってすれば、いわゆる枝切りみたいなのがどんどん発生するからすぐ終わる
計算量は知らん
0625デフォルトの名無しさん (スフッ Sd52-AyEu)2017/02/15(水) 16:40:03.68ID:4NekN3gFd
>>624
矛盾があれば手戻り、と、矛盾を刈り込むのとはあんまり変わらん気がするけど。
そりゃどちらでも描画してるうちに終わるだろうけど、
どちらでもない方を言ってるんだよ、その愚直に置く方。
0626デフォルトの名無しさん (ワッチョイ 7642-LB0c)2017/02/15(水) 16:53:27.86ID:yJTbA8M80
>>625
矛盾があれば手戻りは計算量が多くなるから基本コンピュータじゃないと現実的じゃない
その代わりどんな問題も解ける(以前書いたような例外はある)
計算量が多いって言ってもコンピュータからすれば大したことは無い

矛盾を刈り取りは一般的に人が解く際の行動をプログラミングしたものなので解法(テクニック的なもの)を実装することができればどんな問題でも解ける
その代わり数独であってもテクニックは難解な物がある

で刈り取りした後に手戻りすればいいじゃん、って言うけど手戻りだけで事足りるのになんでいきなり両方実装すんの?って話

ぶっちゃけ初めは現実時間で終わらんような愚直な実装でもいいと思う
そこからチューニングするとか何かアルゴリズム考えるとかすれば学べるんだから
0627デフォルトの名無しさん (スフッ Sd52-AyEu)2017/02/15(水) 17:59:08.57ID:4NekN3gFd
>>626
それだと、矛盾が無いだけの解がただの計算順で一意に決まってしまうじゃん。
根本的な解決ではないと思うが。
0628デフォルトの名無しさん (ワッチョイ 7642-LB0c)2017/02/15(水) 19:40:01.33ID:yJTbA8M80
>>627
だからその問題点は一番初めに言ってるじゃん
話ずらしまくるのやめよ?
0629デフォルトの名無しさん (ワッチョイ df6d-VyiL)2017/02/15(水) 19:43:20.79ID:W/gL5Tp30
>>627
だから何だ質問者がいつその条件を求めたんだよ
コード書いたこともねえ雑魚は引っ込んでろ
0630デフォルトの名無しさん (スププ Sd52-YCZx)2017/02/15(水) 20:47:50.66ID:kYO6iRfyd
投稿者は、この解を得るアルゴリズムを作成するというロマンがあるんだよ。
0631デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/15(水) 20:51:44.83ID:GPHsk9GRM
>>627
仮定法でも全ての解は得られるよ?
>>613のアルゴリズムでFirstを外せばできるはず
0632デフォルトの名無しさん (ワッチョイ 173c-CIv3)2017/02/15(水) 21:22:49.38ID:ZsrpE5Vs0
APIからwebsocketをつかってJSONを取得したいのですがネットを色々見てもさっぱりわかりません。
具体的には
https://corp.zaif.jp/api-docs/
のストリーミングAPIのbtc_jpyです。
ヒントや参考になるサイトでも構いません。よろしくお願いします。
0633デフォルトの名無しさん (ワッチョイ e223-CIv3)2017/02/15(水) 22:38:19.69ID:DiO+GUbF0
>組み合わせは最大81の9乗あるから
本質的にはどうでも良い話だが、「同じ行、列には同じ数字は使えない」と言うルールを無視しすぎていて気になっちまう
「ものすごく多い」ってことが表現できているから何も問題ないんだけどな
0634デフォルトの名無しさん (ブーイモ MM52-CvLw)2017/02/15(水) 22:42:17.14ID:9FXA/5kCM
>>632
クライアントライブラリあるじゃん
C#用はないみたいだけどC#わかるんならJavaなら楽勝だろ
0635デフォルトの名無しさん (ワッチョイ eb77-6bgE)2017/02/16(木) 00:10:21.41ID:QO0gpLt00
>>632
codeprojectにjsonビューアのソースがあったような
0636デフォルトの名無しさん (ワッチョイ 3b3c-P9CU)2017/02/16(木) 00:40:31.38ID:/E7gOtLl0
>>634
申し訳ないです。Javaのを見てもわかりませんでした。
>>635
jsonの処理は何とか出来るのですがwebsoketでの取得がわからないんです
0637デフォルトの名無しさん (ワッチョイ 5f30-O7jY)2017/02/16(木) 05:22:57.59ID:1M26REHO0
そんなに分かりにくいところあるか…?
https://ideone.com/O78ino

JSONの切れ目は自分で探して
金儲けのためならその程度の維持は出して見せろ
その程度の才能もないなら発注サイトに行って金払って作ってもらえ
0638デフォルトの名無しさん (スププ Sd7f-6skL)2017/02/16(木) 07:32:00.22ID:/4MLopCid
偉そうに
0639デフォルトの名無しさん (ワッチョイ 3b3c-P9CU)2017/02/16(木) 10:57:00.19ID:/E7gOtLl0
>>637
これは参考になりそうです。ありがとうございます。
0640デフォルトの名無しさん (オッペケ Sr9f-PPpI)2017/02/16(木) 12:50:57.39ID:Fl7cxYnSr
WebBrowserって今後もずっとIEなのかね?
Edgeにはならないんだ?
0641デフォルトの名無しさん (ブーイモ MM7f-FKuk)2017/02/16(木) 15:05:24.57ID:SJI/N2PkM
絶対にない
WinFormsが業務向けのプラットフォームであること、既に開発が終了していることを忘れてはいけない
0642デフォルトの名無しさん (ワッチョイ 8bbb-eq+O)2017/02/16(木) 15:33:56.56ID:QchVkuhj0
結局、Winform最強か。
0643デフォルトの名無しさん (アウアウオー Sa7f-xIS6)2017/02/16(木) 16:23:17.22ID:/R92/z+7a
WebBrowserコントロールはIWebBrowserのだからIEのままでしょ
EditコントロールがEditで、リッチエディットコントロールになってないのと似たようなもん
WindowsUI.Xaml.WebViewかそんなとこでEdgeコントロールとしてはもう既に実装されてるんじゃないのかな
0644デフォルトの名無しさん (オッペケ Sr9f-PPpI)2017/02/16(木) 17:18:26.44ID:Fl7cxYnSr
そうなのかあ
しかし困る人多いよね
0645デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)2017/02/16(木) 18:03:45.02ID:nVGauASoa
まだXP使ってるところだって山ほどあるのに7/8.xを考えなくてよくなるのなんか何年後よ
0646デフォルトの名無しさん (ワッチョイ 4bd6-eq+O)2017/02/16(木) 18:53:57.26ID:yaBP1ZBT0
レジストリいじればEdge相当になったはず
0647デフォルトの名無しさん (ワッチョイ 0f9d-eq+O)2017/02/16(木) 19:19:37.31ID:cjCClO980
WinFormsの開発再開すればいいのにね
0648デフォルトの名無しさん (オッペケ Sr9f-PPpI)2017/02/16(木) 19:33:08.37ID:Fl7cxYnSr
>>646
そうなのかー
しかしユーザーがEdge持ってるとは限らないから面倒だね
0649610 (ワッチョイ 9b90-XdR7)2017/02/17(金) 23:35:39.67ID:8hvoyQw40
レス遅くなってしまってすいません

>>617の後半なんですが、
1,候補の中の確定できない数字をとりあえず入れてみる
2.次のマスに移動、数値が入れられなかったら1に戻る
この繰り返しですよね?もしこれを複数回繰り返して戻らない場合2回以上前に入れた数値まで戻らないといけない場合ってありますか?
0650デフォルトの名無しさん (ワッチョイ 0f42-1n7Z)2017/02/18(土) 02:25:11.55ID:f0aH9wlg0
>>649
2の手順は1に戻るじゃなくて1つ前に数字を入れたマスに戻るだね
1個前に入れたマスに戻って別の数字を探しても見つからなければ更に1個前に戻る
これを繰り返す
当然戻りまくって最初のマスに戻ることもある最初に入れた仮数字が間違ってたってことだから

要は全数字を入れるパターンを検索して矛盾が出ないパターンを求めてる
ただし途中で矛盾が出たら以降はそのパターンに紐づく内容は無視することで大幅に検索回数を削減できて結果的にコンピュータレベルの計算速度を用いればそれなりの速度で検索可能って寸法

理解が難しければ空きマスが超少ない問題で手を使って動きを確かめてみると良いかも
別にこの問題に限った話ではないけど大抵のプログラムは原理を理解できないと実装できないからね
0651610 (ワッチョイ 9b90-XdR7)2017/02/18(土) 03:12:52.58ID:zyhHTWXk0
>>650
原理はわかってはいるつもりなんですが、どう書けばいいのかわかりません
1、4、7と入れてきて7の次に入れるものがない場合、4を変更しないといけないわけですがこれをどうやって渡すか
またもう一つ戻らないといけない場合、自分の理解の範疇を超えオーバーフローしてしまいます
他人のソースを読んでも頭に入ってきません
0652デフォルトの名無しさん (ワッチョイ 0f42-1n7Z)2017/02/18(土) 04:35:14.78ID:f0aH9wlg0
>>651
あらま、その段階か

例えば仮数字を入れて次に進む時、今仮数字を入れた場所を記憶しておく配列を用意しておくとかどうだろう
進むたびに配列に仮数字を入れた場所が順次追加されていく感じ
戻る時は後ろから順に見ていけばいい
戻ってまた進む時は用意した配列を再度進むところから上書きする感じ

「5」番目のマスに1を入れた
「8」番目のマスに4を入れた
「10」番目のマスに入れられる数字がない
「8」番目に戻る
8番目には4が入ってるけどダメらしいので5以降で置ける数字無いか確認
それでも無ければ「5」番目に戻る

用意する配列には「5 8 10」って入ってるってことね
この配列のどこを今操作しているか?を指し示す変数もあったほうが分かりやすいかもね

○番目って言うのは左上のマスを1、右下のマスを81と仮定しての話ね
XYで管理してるならこの配列を2次元にしても良い

そんな効率良い方法じゃないけど直感的には理解はしやすいかと思うけどどうだろう
他に何か分かりやすい案があるかもしれん
0653610 (ワッチョイ 6b90-XdR7)2017/02/18(土) 06:29:59.40ID:ULV0oBLe0
>>652
ありがとうございます、これだと書ける気がします


あと配列の中にある値のインデックスをLINQで取得しているのを拡張メソッドで定義したいですがうまくいきません
First()やCount()の定義を見よう見真似で書きましたが、Whereに何を入れたらいいのかわかりません

public static Type Index<Type>(this IEnumerable<Type> source, Func<Type, bool> predicate)
where Type : IEnumerable<Type>
{
return source.Select((value, index) => new { Index = index, Value = value })
.Where(item => )
.Select(item => item.Value).FirstOrDefault();
}

ひょっとして述語は引数として受けられませんか?
0654デフォルトの名無しさん (ワッチョイ 8b7b-eq+O)2017/02/18(土) 08:10:24.40ID:bn0z7G5m0
あえてLinqで書くならこうかな?でもこういう場合foreachで書く方が速いし自然だと思う

public static int Index<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  try
  {
    return source.Select((value, index) => new { Index = index, Value = value })
        .First(item => predicate(item.Value)).Index;
  }
  catch (InvalidOperationException) { return -1; }
}
0655デフォルトの名無しさん (ワッチョイ 0f42-1n7Z)2017/02/18(土) 09:33:35.33ID:f0aH9wlg0
プログラム初心者だと思ってたら突然linqでてきてワロタ
俺には>>652の説明でなんで>>653に行けたか不思議だよ
linqは奥が深いけど面白いね
0656デフォルトの名無しさん (ワッチョイ 9b7b-g7u9)2017/02/18(土) 12:02:11.53ID:H3MLhpM30
OpenFileDialog.ShowDialogを使用するとフリーズします。
昔からある障害のようなんですが、
>cymon.sysというファイルの排他制御関連の処理に不具合があるのが原因
らしいのですが、該当ファイルはありません。
他のアプリの排他制御関連のバグなんて特定出来る気がしません。

どうすれば正常に動かせますか?
0657デフォルトの名無しさん (スププ Sd7f-6bgE)2017/02/18(土) 12:12:10.55ID:F1GmP7Hpd
>>656
もうちょい詳しく。
再現するOSや、不具合が再現するソースとかないん?
0658デフォルトの名無しさん (ワッチョイ 0f7b-TuOZ)2017/02/18(土) 12:18:44.45ID:AobYyoSr0
ニコリの数独・カックロを、力任せに解く方法か?
バックトラック法だろ

「バックトラック法 数独」で検索!
0659デフォルトの名無しさん (ワッチョイ 0f9d-eq+O)2017/02/18(土) 12:19:58.05ID:7QDYBSyf0
>>656
https://www.cyphertec.co.jp/news/cymon_revision.html
これのことだとしたら、修正プログラム入れるしかないのでは?
cymon.sysが本当に存在しないならもっと情報が必要だね
0660デフォルトの名無しさん (JP 0H1f-vlft)2017/02/18(土) 12:43:04.59ID:1c96nb+dH
特定のソフト入れた時にそのソフトのバグで干渉するってだけやん
入れてないなら関係ないし入れてるなら
メーカーの修正あてるかアンインストールするかの2択やろ
0661デフォルトの名無しさん (ワッチョイ fb0d-NHlF)2017/02/18(土) 14:47:28.87ID:lgYaiLIy0
CookieContainerの中身をWPFのDataGridで表示したいのですがどうすればいいですか?
0662デフォルトの名無しさん (ワッチョイ df4c-6bgE)2017/02/18(土) 15:01:37.60ID:oF9zQOK10
そこでデーターバインディングでづよ
0663デフォルトの名無しさん (ワッチョイ df4c-6bgE)2017/02/18(土) 15:25:02.48ID:oF9zQOK10
CookieCollection collection = new CookieCollection();
for (int i = 0; i < 16; i++)
{
collection.Add(new Cookie() { Name = i.ToString() });
}
dataGrid.ItemsSource = collection;
0664デフォルトの名無しさん (ワッチョイ df4c-6bgE)2017/02/18(土) 15:25:23.75ID:oF9zQOK10
あとは自分で
0665デフォルトの名無しさん (ワッチョイ fb0d-NHlF)2017/02/18(土) 19:51:02.62ID:lgYaiLIy0
CookieContainerをBindingさせるのは無理なんですね
そうなるとCookieContainerからCookieCollectionを取り出す必要が出てきますが
どうすれば関連付けされているUriを使わずにCookieCollectionを取り出せますか?(forやforeachを使いたい)
0666デフォルトの名無しさん (ワッチョイ 0f7b-eq+O)2017/02/19(日) 01:31:58.50ID:bXEy6Thf0
他のツールなんかで動画とか音楽ををダウンロードしながらそれを開いて
先頭から順に読み込むツールを作ろうと思ってるんだけど

System.IO.FileStream fs = new System.IO.FileStream(@"C:\test.mp3",System.IO.FileMode.Open)

例えばこんな感じでmp3を開くとした場合って開いた瞬間のデータ量しか取得できないですよね?
増えていってるデータを順に取得していくいい方法って無いですかね?
0667デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)2017/02/19(日) 02:03:05.71ID:6CKE/L0Oa
>>666
タイマーでも使ってポーリングするだけじゃないの?
0668デフォルトの名無しさん (ワッチョイ 8bbb-eq+O)2017/02/19(日) 05:52:50.50ID:mRSsjBQo0
日本ではダウロンードは違法。
0669デフォルトの名無しさん (ワッチョイ 6f20-eq+O)2017/02/19(日) 10:21:49.03ID:7g+LYPG/0
音声合成APIを使ってみたくて
下記のサンプルコードを実行したのですが
音声が再生された後にプログラムが終了せず
残っています

どのようにすれば音声再生後にプログラムが
終了するでしょうか?

static void Main(string[] args)
{
var player = new SoundPlayer();
var http = new HttpClient();
// BASIC認証
http.DefaultRequestHeaders.Add("Authorization"
, "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("hoge")));
// POST要求
http.PostAsync("https://api.voicetext.jp/v1/tts";, new FormUrlEncodedContent(
new[]{
// リクエストパラメータ
new KeyValuePair<string , string>( "text" , "test" ),
new KeyValuePair<string , string>( "speaker" , "haruka" ),
}
)).ContinueWith(async task =>
{
// 音声データでない場合、例外が発生するので、適切な対処すべき…
player.Stream = await task.Result.Content.ReadAsStreamAsync();
player.Play();
});

Console.ReadLine();
}
0670デフォルトの名無しさん (ワッチョイ eb1e-1BHe)2017/02/19(日) 10:29:46.11ID:FVPzcms80
>>669
再生後、コンソールでEnterキーを押す
または最後のConsole.ReadLineを削除
0671デフォルトの名無しさん (ワッチョイ eb77-B7Z5)2017/02/19(日) 10:37:13.44ID:gToSbtQT0
>>670
後者じゃ、再生終わる前に終了しないかな
0672669 (ワッチョイ 6f20-eq+O)2017/02/19(日) 10:41:11.22ID:7g+LYPG/0
Console.ReadLineの削除で
プログラムが終了したので悩みが解消したのですが、
音声再生が開始される前にプログラムが終了するという
新しい悩みが生まれました

音声再生の完了をコールバック等で受け取る方法は
あるでしょうか?
0673デフォルトの名無しさん (ワッチョイ eb77-B7Z5)2017/02/19(日) 10:54:41.14ID:gToSbtQT0
>>672
player.Play();の次の行にEnvironment.Exit(0);でどうですか
0674デフォルトの名無しさん (ワッチョイ 6f20-eq+O)2017/02/19(日) 11:06:34.51ID:7g+LYPG/0
>>673
試してみましたが、音声再生前にプログラムが終了しました

javascriptなら、コールバックとか取れそうですが
C#はいまひとつ解らず
0675デフォルトの名無しさん (ワッチョイ 6bdc-fFgi)2017/02/19(日) 11:11:22.59ID:7Avz8j0c0
最後にTask.Waitしろ
0676デフォルトの名無しさん (ワッチョイ eb77-B7Z5)2017/02/19(日) 11:28:40.83ID:gToSbtQT0
>>674
>>673やった上で、player.Play()をplayer.PlaySync()に書き換えて
0677デフォルトの名無しさん (ワッチョイ 6f20-eq+O)2017/02/19(日) 11:35:24.12ID:7g+LYPG/0
player.Play();
task.Wait();

と書いてみたのですが
音声が再生される前に
プログラムが終了します

URIにPOSTする処理は
リクエストしたら状態が取れないのかなという
気がしています
0678デフォルトの名無しさん (ワッチョイ 6f20-eq+O)2017/02/19(日) 11:38:27.06ID:7g+LYPG/0
>>676

player.PlaySync();
Environment.Exit(0);

としましたが、音声再生の前に
プログラムが終了しました
0679デフォルトの名無しさん (ワッチョイ eb77-B7Z5)2017/02/19(日) 11:40:39.60ID:gToSbtQT0
>>678
元のConsole.ReadLine();消してちゃってない?
これも必要だよ。
0680デフォルトの名無しさん (ワッチョイ 6f20-eq+O)2017/02/19(日) 11:48:07.03ID:7g+LYPG/0
>>679
音声再生の後にプログラムが終了しました
期待通りの動作です

ありがとうございます
0681デフォルトの名無しさん (ワッチョイ 0f7b-eq+O)2017/02/19(日) 17:21:32.80ID:bXEy6Thf0
>>667
まだ勉強し始めた素人なのでポーリングというやり方があるんですね。
試してみます、ありがとうございました。

>>668
再生が最後まで行く、もしくはソフトを閉じる時に消去すれば
キャッシュという形になるから違法ではないと思いますし、
たしかあの法律は違法にアップロードされたコンテンツ(ゲームや音楽)を
知りつつダウンロードする行為が違法なんですよね?
YouTubeやTwitch、ニコ生などのライブ配信や動画を専ブラのような形で
なおかつ自分で使いやすいように作るのは違法でないという認識なのですが間違っていますでしょうか?
0682デフォルトの名無しさん (ワッチョイ 5b19-S9Lo)2017/02/19(日) 17:23:40.86ID:djgzWXGW0
保存しなきゃセーフでしょ
ブラウザを作るのに認可がいるわけじゃないし
0683610 (ワッチョイ 6b90-XdR7)2017/02/20(月) 01:42:50.37ID:Vf7595PK0
>>654
foreachで書く方法がわかりません、どんなふうに書くのでしょうか?



あと条件にあったインデックスを全て返す拡張メソッドを作りたいのですが、うまくいきません

int{} num = { 11, 12, 13, 14, 15 }
これで条件を「x > 12」にした場合「2、3、4」と返ってきてほしいのですがチャレンジしてもできません

return source.Select((value, index) => {if(predicate(value) return index; return 0; })
こういうふうにを書くと「x > 12」の場合「0,0,2,3,4」と返ってきてしまいます
どうかけばいいかヒント教えてください
0684デフォルトの名無しさん (ワッチョイ eb77-B7Z5)2017/02/20(月) 02:30:59.52ID:M2SnzGbV0
>>683
値が要らない項目は、Select()する前にWhere()で弾いとかないと。
0685610 (ワッチョイ 6b90-XdR7)2017/02/20(月) 03:25:39.28ID:Vf7595PK0
public static IEnumerable<int> IndexCollection(IEnumerable<Type> source, Func<Type, bool> predicate)
{
return source.Where(_ => predicate(_)).Select((value, index) => index);
}

こういうことですか?でもなぜかこう書くと評価されなくて返り値がnullのままになります

var list = num.Where(_ => _ > 12).Select((value, index) => index);

こう書くときちんと評価されるのですが・・・さっぱりわかりません
0686デフォルトの名無しさん (ワッチョイ 8b7b-eq+O)2017/02/20(月) 03:28:01.67ID:Cim83SJm0
>>683
別に難しくなくて、素直に書けばいいと思うけど

public static int FirstIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  int index = 0;
  foreach (var val in source)
  {
    if (predicate(val)) return index;
    index++;
  }
  return -1;
}

条件にあったのも全て返すなら yield return を使う

public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  int index = 0;
  foreach (var val in source)
  {
    if (predicate(val)) yield return index;
    index++;
  }
}
0687デフォルトの名無しさん (ワッチョイ 8b7b-eq+O)2017/02/20(月) 03:33:55.65ID:Cim83SJm0
無理矢理Linqで書くならこんな感じだろうか
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  return source.Select((value, index) => new { Index = index, Value = value })
     .Where(x => predicate(x.Value)).Select(x => x.Index);
}

値が0以上限定ならこんな風にも書ける
public static IEnumerable<int> WhereIndex<T>(this IEnumerable<T> source, Func<T, bool> predicate)
{
  return source.Select((value, index) => predicate(value) ? index : -1)
      .Where(x => x >= 0);
}
0688デフォルトの名無しさん (ワッチョイ 8b7b-eq+O)2017/02/20(月) 04:12:20.09ID:Cim83SJm0
>>685
IndexCollectionの後に<Type>が抜けてるね。あと引数のthisも抜けてる
Linqに慣れてないなら、最初から繋げていかないで一個ずつ結果を見た方がいいよ

var a = num.Where(_ => _ > 12);
var b = a.Select((value, index) => index);

ここではaが {13, 14, 15 } ってリストになる(Whereは条件式でフィルタした新しい配列を作る)
bはその配列をインデックスの値に変換した新しいリストを返すから値は { 0, 1, 2 } となる

あと勘違いしてたけどインデックスは当然0以上なので>>687の後者の書き方で問題なかった
0689デフォルトの名無しさん (ワッチョイ 8bbb-eq+O)2017/02/20(月) 07:23:54.57ID:73+nzjfL0
>>682
日本では回避ツール作るのも違法。
0690610 (ワッチョイ 6b90-XdR7)2017/02/20(月) 10:04:48.66ID:Vf7595PK0
>>686
yield returnというのを忘れていました

引数のthisを忘れていたのに拡張メソッドみたいに呼べたのが不思議です。エラー出ると思ってました
0691デフォルトの名無しさん (ワントンキン MM7f-Z7AI)2017/02/20(月) 11:08:17.98ID:M0lXkX5gM
文字列ポインタを返すC言語のwin32 dll を VS2005のWindowsアプリで利用しているのですが、今までWindowsXPで動作していたものをWindows7で動作させると関数から戻ってくる時に死んでしまいます。情報を送信する旨のダイアログの出るヤツです。

<hoge.dll>
BYTE msg[1024];
BYTE* WINAPI hoge(WORD w)
{
sprintf(msg, "xxx");
return msg;
}
<FormMain.vb>
<DllImport("hoge.dll")>Public Shared Sub hoge(Byval w As Int16) As String
End Function

Dim msg As String = Space(1024)

Call部分-> msg = hoge(0)

dllで領域確保した文字列ポインタをvbで領域確保したString型に代入している部分がおかしいのでしょうか?
同じやり方の別アプリはWindows7でも問題なく動作しているらしいです。
回避策としては、StringBuilderを引数にして情報を取得する方法を考えてますが、原因を知りたいです。
何かヒントを頂けないでしょうか。よろしくお願いします。
0692デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)2017/02/20(月) 12:12:58.76ID:OgBdAYpra
>>691
ここC#のスレだよw
インポートした関数のシグネチャはそれで間違ってないと思う
(戻り値の文字列の種類の明示的な指定がない以外は)

だから間違いはそこに書かれていないところにある気がする
知らんけど
0693デフォルトの名無しさん (ワントンキン MM7f-Z7AI)2017/02/20(月) 13:06:34.63ID:M0lXkX5gM
>>691
失礼しました。自分が普段C#使ってていつも見ているもので、思わず質問してしまいました。

Stringって純粋な参照型じゃないので、dll内の文字列がアプリ側の確保されたStringにコピーされるものなのか、どうなのか?
と思って質問しました。

問題ないようですので、他の部分を当たってみます。

ありがとうございました。
0694デフォルトの名無しさん (スフッ Sd7f-LjcY)2017/02/20(月) 13:28:11.49ID:vCAMt98Xd
ビット数とかかねえ
0695デフォルトの名無しさん (ワッチョイ eb19-sbgu)2017/02/20(月) 14:07:41.64ID:w4qWsIgy0
DllImportで返値にStringを使うと対象アドレスのメモリを解放しようとするからその辺のせいかな
ポインタが返される場合IntPtrで受け取るべき
文字列ならMarshal.PtrToStringAuto(/Ansi/Uni)で変換
0696デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)2017/02/20(月) 14:54:15.70ID:OgBdAYpra
あーここにそんなこと書いてあるな
https://msdn.microsoft.com/ja-jp/library/x3txb6xc.aspx
全然知らんかったw
文字列を戻り値で返すような関数使ったことないし。
こういう重要な話を辺鄙なページにだけさらっと書くのやめてほしいよな

余計なお世話のようだけど、よく考えたらポインタでもらっておかないと
手動で開放しようがないんだからまあ当然といえば当然の処置か
0697デフォルトの名無しさん (アウアウオー Sa7f-xIS6)2017/02/20(月) 15:20:01.73ID:2ibs+hQta
>>691そのままでもvb側でLPCSTRだって指定してやれば動きそう。LPWSTRとして処理して動かなくなってるんじゃないかな
0698デフォルトの名無しさん (ワッチョイ 8bbb-eq+O)2017/02/20(月) 15:52:07.71ID:73+nzjfL0
vb使うとアホになるからな。
0699デフォルトの名無しさん (ワントンキン MM7f-Z7AI)2017/02/20(月) 15:55:20.33ID:M0lXkX5gM
>>695
>>696
有益な情報、ありがとうございました。

少なくとも、あまりよろしくないコードだったって事ですよね。
今までまともに動作してたのはたまたま?

とりあえずIntPtrで受けてMarshal.PtrToStringAnsiで文字列に変換するとうまくいきました。
0700デフォルトの名無しさん (ワキゲー MM7f-iYFJ)2017/02/20(月) 19:15:05.48ID:jZ2IzQ6sM
>>697
DllImport.CharSetの既定値はAnsi
0701デフォルトの名無しさん (ワッチョイ 9b7b-g7u9)2017/02/20(月) 20:06:09.92ID:i/9URA2G0
WPFの勉強を始めたんですが、動的にコントロールを追加していく場合、
デザイン側(XAML)のコードではなくC#のコードに生成と追加ロジックを書いて増やすしかないんですよね?

コントロールのデザインはXAMLでするけど、それのインスタンス生成はC#側でするという理解でいいのでしょうか?
0702デフォルトの名無しさん (ワッチョイ 5f30-O7jY)2017/02/20(月) 20:56:23.77ID:DEynAIXr0
どういうコントロールかに寄るんじゃねーの
ItemsControlが使えるようなケースならコードで生成なんかしないだろう
0703デフォルトの名無しさん (ワッチョイ 8b7b-iYFJ)2017/02/20(月) 20:59:03.92ID:ZcW/L6QM0
大体ItemsControlとその派生クラス+DataTemplateでまかなえる
0704デフォルトの名無しさん (ワッチョイ df4c-6bgE)2017/02/20(月) 21:18:59.61ID:c6eY6nM80
>>701
アイテム類?
0705デフォルトの名無しさん (ブーイモ MM7f-FKuk)2017/02/20(月) 21:19:02.98ID:La0YxfKFM
>>701
C#からコントロールを追加するんじゃなくて、
1. C#がコレクションに対してデータオブジェクト(コントロールではない!)を追加する
2. コレクションのバインド先のコントロールのDataTemplateに従ってコントロールが生成される
という仕組み
まあでも最近はUWPではそのへんのWPF時代の複雑怪奇な仕組みを使わずに
イージーにC#からコントロールを触っちゃうケースも多くなっているので、
普通にコードビハインドでコントロール作ってもいいと思うよ
0706デフォルトの名無しさん (ワッチョイ 6bdc-FKuk)2017/02/20(月) 21:35:53.40ID:K6NHiZ6b0
Reactみたいに仮想DOMを導入してテンプレートエンジン感覚でXAML書けるようにしてほしいわ
ControlTemplateを駆使した複雑怪奇なバインディングはWPFが失敗した大きな要因の一つ
0707610 (ワッチョイ 6b90-XdR7)2017/02/20(月) 22:42:28.62ID:Vf7595PK0
数独を解くアルゴリズムがどうしても自分で作れなかったのでCのソースをLINQ使わずにC#に書き直しました
でももうちょっとアルゴリズムについて理解を深めたいのですが、どうすれば深められますか?
0708デフォルトの名無しさん (ワントンキン MM7f-yXFx)2017/02/20(月) 22:44:42.03ID:SIhte37HM
数学を勉強する
0709デフォルトの名無しさん (ワッチョイ 0f7b-TuOZ)2017/02/20(月) 23:41:44.10ID:mClGTBrk0
アルゴリズムの本を読むとか、

プログラミング・コンテスト
AOJ(AIZU ONLINE JUDGE、会津大学)
Topcoder, Google Code Jam
0710デフォルトの名無しさん (ブーイモ MM7f-FKuk)2017/02/21(火) 01:16:12.37ID:zJ/N/+AdM
>>707
アルゴリズムで大事なのは細かい操作ではなくルール
ルールで考えられるようになるには関数型言語を学ぶのが一番近道だと思う
0711デフォルトの名無しさん (ワッチョイ 5b3c-8pXy)2017/02/21(火) 02:14:21.50ID:R0f1kRGV0
専ブラを作りたいんですが
何を参考にやっていけば良いでしょうか

c#の入門文法書を読んでVS2015でフォームアプリのプロジェクト作成しました
0712デフォルトの名無しさん (スプッッ Sd7f-QCKt)2017/02/21(火) 07:35:28.82ID:N8MlGejAd
OpenJaneのソースを読む
0713デフォルトの名無しさん (ブーイモ MM7f-9g8o)2017/02/21(火) 08:20:20.91ID:QZgbo1BXM
APIになってから新規参入できんの?
0714デフォルトの名無しさん (ブーイモ MM1f-S2Ow)2017/02/21(火) 10:29:01.70ID:zahF8gYKM
普通のブラウザが読めるんだから
なにもAPI頼らんでもいいんじゃないか?
ブラウザの表記と履歴がクソなだけだから
それを使い勝手いいようにしただけの専ブラはあってもいい
0715デフォルトの名無しさん (ワッチョイ 9b7b-g7u9)2017/02/21(火) 19:34:36.64ID:cHX/MaIe0
TextBoxだけが2つあるフォームで、Enterが押された際に、2つとも値が入力されている場合だけフォームを閉じるようにしたいのですが、
TextBoxにAcceptButtonと同じ機能を持たせるにはどうしたらいいでしょうか。
0716デフォルトの名無しさん (ワッチョイ db17-QCKt)2017/02/21(火) 20:40:59.99ID:iji2PQkS0
KeyDownでEnterを取得してTextBoxの中身をチェックして分岐
0717デフォルトの名無しさん (ワッチョイ 0f5e-P9CU)2017/02/21(火) 20:48:25.46ID:R7uSuoR20
>>715
TextBox2つとFormでEnter入力待って
Enter入力されたときにTextBoxの内容チェックしたらいいだけじゃない?
AcceptButtonは知らなかったけど別にボタン作って無いとだめみたいだし
ボタン別に作った方がUIとしてはわかりやすいと思うけど
0718デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)2017/02/21(火) 21:36:29.50ID:OY4bcTcha
>>715
いっちゃなんだけどセンスないUIだねw
0719デフォルトの名無しさん (ワッチョイ 0f9d-eq+O)2017/02/21(火) 21:41:21.06ID:Kul562Pw0
>>714
APIに頼らずにウェブスクレイピングを使った専ブラの開発/公開は
禁止されているんじゃなかった?
0720デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)2017/02/21(火) 21:41:57.12ID:OY4bcTcha
まあ批判するだけじゃアレなんで、そういうの普通はさ、
検証結果がOKならAcceptButtonをイネーブルにするのが正攻法だと思うよ
0721デフォルトの名無しさん (アウアウオー Sa7f-xIS6)2017/02/21(火) 21:48:44.09ID:rWOcc73ca
センスないUIが使いやすいシーンあるからな。分かっててそうすること多い。>>716は違うだろうがw
エンターがあったら入力されてるか調べて、入力されてたらフラグ立ててClose()呼べば
0722デフォルトの名無しさん (ワッチョイ 4fce-qUVP)2017/02/22(水) 04:06:31.98ID:BUDCRKLi0
結局最後にEnter押させるならAcceptButtonで正しいか判定すればいいんじゃないの
KeyDownで捕捉とかAcceptButtonイネーブルとかアホみたいよ
0723デフォルトの名無しさん (ワッチョイ 5f90-XdR7)2017/02/22(水) 04:41:08.56ID:OP1dthjc0
まずtextbox2つに何か入力されている状態でEnter押すと閉じるってどういう状況で使うのか気になる
0724デフォルトの名無しさん (ワッチョイ 0f7b-eq+O)2017/02/22(水) 05:19:23.28ID:4Le3p92K0
C#でDirectShowを使ってサーバーからデータを受信してストリーミング再生をしようと思っているのですが、
ストリーミングしながら再生する場合、10秒、20秒先にシークする時にデータを取得できていないと
シークできないと思うのですが、シークしたい位置までデータが取得できているかどうかを、どうやって確認したらいいのでしょうか?
0725デフォルトの名無しさん (ワッチョイ db17-QCKt)2017/02/22(水) 06:36:28.96ID:S8XiJiJW0
できなくていいじゃん
YouTubeでも未取得部分までシークしたら一瞬止まってそこから再取得でしょ
0726デフォルトの名無しさん (アウアウウー Sa1f-Tc/C)2017/02/22(水) 10:41:54.09ID:IUleyyqVa
>>722
それだとNGの時何らかのメッセージを、ほとんどの場合はモーダルの
メッセージボックスを使って表示することになるが、これが鬱陶しい。

だからOKの場合のみ何らかのアクションが可能になるようにしたい、というところまでは
>>715は妥当。
0727デフォルトの名無しさん (アウアウオー Sa7f-xIS6)2017/02/22(水) 10:48:43.23ID:gHr01PmWa
条件満たすまでokボタン無効化
0728デフォルトの名無しさん (スフッ Sd7f-LjcY)2017/02/22(水) 11:33:04.49ID:+pPmbeWDd
ついでにtextbox赤色にでもしとけ
0729デフォルトの名無しさん (ワッチョイ 6f37-eq+O)2017/02/22(水) 13:11:12.83ID:NE6Tq68d0
>>771
たしか「twinテール」とかいう使えなくなった2chブラウザがC#で書かれていたので参考にしてみてはいかが
0730デフォルトの名無しさん (ワッチョイ 1e7b-8lb6)2017/02/23(木) 01:11:41.53ID:IxVO5ZJu0
>>725
言葉足らずでしたすいません。
シークした際に取得したデータより先であれば、シークできる最大の位置から再生したいので、
取得できているデータの最大秒数を知りたいと質問したかったんです。
0731デフォルトの名無しさん (ワッチョイ 1e9d-d4M5)2017/02/23(木) 20:19:27.12ID:cRI54QPm0
C#ってWEBもデスクトップアプリもVisual Studioでいいの?
0732デフォルトの名無しさん (ワッチョイ 4a3c-F6/z)2017/02/23(木) 20:42:44.96ID:boStFqTs0
いいよ
別にVisual Studioじゃなくてもいいよ
0733デフォルトの名無しさん (ワッチョイ 7fbb-8lb6)2017/02/23(木) 21:03:52.53ID:SDiG8DJL0
C#のような欠陥言語はVSじゃないと使い物にならないよ。
0734デフォルトの名無しさん (ブーイモ MMef-o4aT)2017/02/23(木) 21:38:51.04ID:5vR45Ym7M
そもそもRADで使うことを前提に設計された言語だから当たり前
ヘイトになってない
0735デフォルトの名無しさん (スフッ Sdaa-i5z9)2017/02/23(木) 22:14:55.27ID:IXRr1zZLd
まだイーマックスに固執してる奴いるのか
0736デフォルトの名無しさん (ワンミングク MMfa-LqKA)2017/02/23(木) 22:19:16.99ID:osMc+8cAM
Javaは環境整えるのめんどくさいしエコシステムが洗練されない素人仕事って感じだし言語機能貧弱だし色々クソすぎて速攻で切り捨てた
C#は良く出来てる
0737デフォルトの名無しさん (ワッチョイ 7fbb-8lb6)2017/02/23(木) 22:21:06.99ID:SDiG8DJL0
var data = b.GetData();

varで一気に欠陥言語となった。
ライブラリ丸暗記してるか、マウスカーソルで指さないと型が分からないとかマジ欠陥言語。
0738デフォルトの名無しさん (ワッチョイ 533c-uVIS)2017/02/23(木) 22:21:19.22ID:VhvYxHZG0
何を使おうが、成果物と生産性が全てよ

そりゃ、言語によってある程度機能の優劣が無いとは言わないが
究極的には、「使う奴がその言語に習熟してるかどうか」に帰結する話なので
他言語との比較戦争はやめとけ
0739デフォルトの名無しさん (ワッチョイ cfd6-8lb6)2017/02/23(木) 22:25:13.45ID:/zzReBsa0
>>737
おじいちゃんはおうちにかえりましょうねー
0740デフォルトの名無しさん (ワッチョイ 7fbb-8lb6)2017/02/23(木) 22:30:40.75ID:SDiG8DJL0
>>739
無職はいいなぁ。
0741デフォルトの名無しさん (ワッチョイ 2777-h8GH)2017/02/23(木) 22:32:06.38ID:Gcuw8dft0
>>737
C++にすら、autoって型推論が追加になったわけだが。
0742デフォルトの名無しさん (ワッチョイ bb99-bdSd)2017/02/23(木) 22:34:18.39ID:OjaB8M7n0
え?型推論のない言語があるの?
0743デフォルトの名無しさん (ワンミングク MMfa-LqKA)2017/02/23(木) 22:34:28.26ID:osMc+8cAM
varがダメな人って変数のスコープがやたら長かったりクラスの責務が複数あったりメソッド名がわかりにくい印象がある
0744デフォルトの名無しさん (ワッチョイ 7fbb-8lb6)2017/02/23(木) 22:40:33.39ID:SDiG8DJL0
はるか昔、C++も糞化、オナニー言語になって捨てられて、シンプル化したJavaやC#に多くが逃げてきた。
すると、言語オタク馬鹿がJavaとC#でオナニーを始めたというだけ。
C#は幸運にも普及する前に糞化してくれたので被害者は少ないが、Javaは相当被害者が出るだろう。

まぁ、未だ.net2.0 + winform案件の多さからしてほんとトンデモ擁護してる輩は無職だろうな。
0745デフォルトの名無しさん (ワッチョイ 8a23-d4M5)2017/02/23(木) 22:41:51.99ID:LD/mBXzl0
varに噛み付く割にはdynamicをスルーなんだよな
結局知らない人だって自白しているようなものです
0746デフォルトの名無しさん (ワッチョイ 4613-i5z9)2017/02/23(木) 23:11:03.64ID:STaIjfZE0
自分の理解できない仕様を含む言語は全部糞なんだな
0747デフォルトの名無しさん (ワッチョイ 4a3c-F6/z)2017/02/23(木) 23:13:19.44ID:boStFqTs0
>>737
斬新な意見やな
0748デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/23(木) 23:13:57.36ID:fEmyL96O0
C#のすごいところはvarの使用を禁止できることなんだよね
0749デフォルトの名無しさん (ワッチョイ 4a3c-F6/z)2017/02/23(木) 23:14:34.97ID:boStFqTs0
>>737
>マウスカーソルで指さないと
あとキーボード使うといいと思うよ
0750デフォルトの名無しさん (スフッ Sdaa-Hx5d)2017/02/23(木) 23:19:03.31ID:fCBY3OKed
逆だよなぁ。
その型が変わったとしても帳尻合わせるために直接関係のない部分を直さんで済む。
型推論を横着するための機能と考えるから変な話になってくる。
0751デフォルトの名無しさん (ワッチョイ 0a4a-d4M5)2017/02/23(木) 23:57:02.37ID:Xdm75SB30
マウスカーソル当てないと推論できない頭なんだろ
察して差し上げろ
0752デフォルトの名無しさん (ワッチョイ 0ecb-NqGB)2017/02/24(金) 00:09:58.97ID:sMce7DLg0
使ってないソースのが圧倒的に読みやすいけどね
0753デフォルトの名無しさん (アウアウウー Sacf-TXya)2017/02/24(金) 00:24:57.75ID:Oi+tTZOha
varの話はもうほとんどボケ老人の繰り言だねw
論点は出尽くしてるし結論も明らか(だから採用されている)のによく飽きないなと思うわ。
0754デフォルトの名無しさん (アウアウウー Sacf-TXya)2017/02/24(金) 00:26:20.78ID:Oi+tTZOha
あれだ、もうネトウヨが8月になると朝生とか見て毎年毎年同じこと言ってるのとよく似てるわw
0755デフォルトの名無しさん (ワッチョイ 4613-i5z9)2017/02/24(金) 00:34:06.16ID:KvudGu/Z0
Action<・・・>とかTask<・・・>とか型推論なしでいちいち書いとれんわ
0756デフォルトの名無しさん (ワッチョイ 533c-LVYP)2017/02/24(金) 03:35:06.91ID:DZX2b5jN0
>>755
IEnumarableもだよね
0757デフォルトの名無しさん (ワッチョイ ca30-bdSd)2017/02/24(金) 05:44:47.60ID:7M0bhqrr0
ド低脳と仕事をしているために未だにC#2.0相当のコーディングを強いられているというのが真相である
無職はいいなあという発言がそれを物語っている

ド低脳と仕事せざるを得ない状況にあるのは自分がド低脳なせいだとは知る由もない
なぜならド低脳だから
0758デフォルトの名無しさん (ワンミングク MMfa-LqKA)2017/02/24(金) 07:33:10.08ID:MgbB+KPvM
ジャップランドだとレベルの低い同僚に合わせないといけないからね
0759デフォルトの名無しさん (ワッチョイ bb3c-xMKC)2017/02/24(金) 08:17:18.01ID:YSZ/aLRo0
これが自分が高レベルだと勘違いしてる人にありがちな考え方ですよ〜
初心者の皆さんはよ〜く覚えておきましょうね〜
0760デフォルトの名無しさん (ワントンキン MMfa-HyQo)2017/02/24(金) 11:34:57.57ID:rumrh9icM
別PC上でソケット通信のサーバのソフトが動作しています。
そのソフトにクライアントとして接続するアプリです。

今までサーバソフトが動作するPCがXPの時は問題なく接続できていたのですが、
windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。

using System.Net.Sockets;

TcpClient myClient = new TcpClient();

myClient.Connect(IPaddress, port);

何か他に設定等必要なのでしょうか?
0761デフォルトの名無しさん (ワッチョイ a3c0-d4M5)2017/02/24(金) 11:39:55.37ID:WmxnDnjh0
>>760
Windows7のファイアーウォール設定で接続ポートが塞がれているんじゃね
0762デフォルトの名無しさん (ワントンキン MMfa-HyQo)2017/02/24(金) 11:53:52.45ID:rumrh9icM
>>761

情報不足ですみません。
ファイアーウォールは全て無効にしています。
今、念のため全てのポートを開放してみましたが状況変わらずです。

Windows7のPCは、セットアップした素の状態にネットワーク設定して、ファイアーウォール無効にしただけの状態です。
少なくとも2台のWindows7でこの現象を確認しています。
0763デフォルトの名無しさん (ワッチョイ 2719-YZdX)2017/02/24(金) 12:47:58.59ID:og9jdWQJ0
pingが通るか確認する
アドレスとポート番号を確認する
0764デフォルトの名無しさん (ワッチョイ 8a3c-9513)2017/02/24(金) 12:53:29.50ID:YZGHPd2K0
>>760
> windows7に変えたところ「対象のコンピュータに拒否されたため、接続できませんでした」となります。
サーバープロセスが動いてない
サーバー側で netstat -a やってみ

>>761
ポート塞がれてたらたいてい接続タイムアウトになる
0765デフォルトの名無しさん (ワントンキン MMfa-HyQo)2017/02/24(金) 13:40:28.43ID:rumrh9icM
サーバのソフトを確認してもらいました。

従来、
IPHostEntry hst;
hst = Dns.GetHostEntry(Dns.GetHostName());
TcpListener server = new TcpListener(hst.AddressList[0], port番号);

としてたところ、
IPAddress.Any にすると接続できるようになりました。

OSによって挙動が変わる理由は何故でしょうか?
0766デフォルトの名無しさん (ワッチョイ 2719-YZdX)2017/02/24(金) 13:55:20.36ID:og9jdWQJ0
IPv6のアドレスが[0]に入ってたとかそんなんじゃね
0767デフォルトの名無しさん (ワントンキン MMfa-HyQo)2017/02/24(金) 14:11:36.34ID:rumrh9icM
>>766

確認してもらったところ、おっしゃるとおりIPv6が入ってました。

どーもお騒がせしました。
0768デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/25(土) 03:11:03.30ID:bkNRV9RG0
HttpWebRequestクラスを継承して派生クラスを作るのはひょっとして不可能ですか?
引数なしの親コンストラクタないって言われてしまうのですが・・・
0769デフォルトの名無しさん (ワッチョイ 4a3c-F6/z)2017/02/25(土) 03:29:06.72ID:IvVV1H8V0
そうみたい
Extension使えば
http://stackoverflow.com/questions/400565/is-there-any-way-to-inherit-a-class-without-constructors-in-net
0770デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/25(土) 06:00:38.63ID:bkNRV9RG0
Cookieの設定をもっと楽にしようとSetCookie()メソッドを作ってみようってだけだったので・・・
ラッパーにしてしまえば呼び出し方法は変わりますが、何かデメリットありますか?
0771デフォルトの名無しさん (ワッチョイ 7f7b-xV3R)2017/02/25(土) 14:21:15.52ID:xOc+8hLN0
目的がそれだけなら拡張メソッドで良いよ
0772デフォルトの名無しさん (ワッチョイ 8a11-bM86)2017/02/25(土) 17:39:57.89ID:55IAItyF0
System.IO.File.Copy でファイルをコピーしようとしたら、コピー先のドライブの空き容量が足らないのに
例外が発生しないで(何もキャッチされず)進んでいきます。
コピーが正常完了していない場合は、どのようにエラーをキャッチしたらいいですか?
0773デフォルトの名無しさん (ワッチョイ 1e5e-d4M5)2017/02/25(土) 17:48:38.25ID:Zzp1j43Z0
>>772
書き込んだ先のFile.Existsとサイズ確認したら
0774デフォルトの名無しさん (アウアウオー Sac2-pore)2017/02/25(土) 17:54:59.90ID:IfKbzrsTa
>>772
試したら例外でたぞ
0775772 (ワッチョイ 8a11-bM86)2017/02/25(土) 18:04:57.59ID:55IAItyF0
>>773
そのやり方で正常か確認します。

>>774
どのような内容で例外が出てきましたか?
0776デフォルトの名無しさん (アウアウオー Sac2-pore)2017/02/25(土) 18:07:41.25ID:IfKbzrsTa
Messageは容量がたりませんって
0777デフォルトの名無しさん (アウアウウー Sacf-TXya)2017/02/25(土) 18:21:10.66ID:5cuy11p+a
Taskに投げっぱなしで例外が来ないと文句言ってるなんてオチだったりして
0778772 (ワッチョイ 8a11-bM86)2017/02/25(土) 18:30:16.63ID:55IAItyF0
>>776
今は、コピー先のドライブをUSBメモリで試してるのですが、やはり例外は発生しません。
違う環境だったら発生するかもしれませんので色々試してみます。

>>777
コピー処理はTaskでマルチスレッド内で処理してます。
でも、他の例外はキャッチできるので、なぜCopyメソッドだけがスルーされるかが気になります。
0779デフォルトの名無しさん (アウアウウー Sacf-TXya)2017/02/25(土) 18:39:04.29ID:5cuy11p+a
あー遅延書き込み(だっけ?)がらみの問題かなあ

USBとかネットワーク上のドライブだと書き込み中に切断されても例外が起こらないような
気がしたなあそういえば
0780デフォルトの名無しさん (アウアウオー Sac2-pore)2017/02/25(土) 19:49:09.43ID:IfKbzrsTa
例外キャッチコードが悪いのかも
0781デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/25(土) 20:01:30.35ID:bkNRV9RG0
>>771
盲点でした!あとHttpWebRequestのHeadersプロパティについてなんですが、既存のプロパティをHeadersプロパティで代入しようとするとエラーが出ます
Headersプロパティのほうに統一したいのですが方法はないのでしょうか?
0782デフォルトの名無しさん (ワッチョイ 7f7b-xV3R)2017/02/25(土) 20:22:43.20ID:xOc+8hLN0
そっちはどうしようもないはず
せいぜいSetHeaderとかいう拡張メソッド作ってその中で
既存のプロパティならプロパティ設定に流すぐらいかな
0783デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/26(日) 17:58:17.52ID:nIUORy8+0
そうですか、ありがとうございます
こういった自分で作った拡張メソッドを他のプロジェクト(今はC#のみ将来的にはC++もあるかも)でも使って行きたいのですがどうするのが吉でしょうか?
クラスライブラリ(dll)として作るのが一番良いのでしょうか?
0784デフォルトの名無しさん (ブーイモ MMef-nCc/)2017/02/26(日) 18:10:10.17ID:58FG/mcmM
そういう小物はコピペの方がいい
依存関係やバージョン管理が複雑になりすぎる
0785デフォルトの名無しさん (ワッチョイ 4a3c-F6/z)2017/02/26(日) 18:37:26.98ID:/2VmdLBu0
>>781
Enum使ってもダメ?
Headers[HttpRequestHeader.Accept]
0786デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/27(月) 04:44:19.84ID:Ar8/UbRm0
だめでした
req.Headers[HttpRequestHeader.Accept] = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
上記のもので試しましたが、ArgumentExceptionが出ます
0787デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/27(月) 04:46:45.84ID:Ar8/UbRm0
>>784
連レスすいません
だいたいどのくらいの規模で分ければいいですか?
0788デフォルトの名無しさん (ワッチョイ 87dc-nCc/)2017/02/27(月) 06:53:25.01ID:b74ECDn30
>>787
大事なのは規模より凝集度
ごちゃまぜの便利ユーティリティ集みたいなのは結局個別に変更が入りまくって確実に破綻する
0789デフォルトの名無しさん (ワッチョイ 8790-weqm)2017/02/27(月) 08:45:50.71ID:Ar8/UbRm0
一応クラス分けはしています
ごちゃまぜってわけではないと思うんですが・・・
0790デフォルトの名無しさん (アウアウオー Sac2-pore)2017/02/27(月) 08:55:40.47ID:zyKpb96Na
クラス分けしててもしてなくてもいいだろ。どれだけ汎用的なのを作れるかだな
便利ユーティリティ集でもちゃんと作れば破綻も個別変更もすることなく10年単位で使いまわせる

でも、どうするのが一番いいかなんて聞く頭じゃ、そういうのは作れないから諦めなw
頭の隅に自分ライブラリ計画を置きながら、ソース使いまわさずに毎回書き直すのがいいよ
0791デフォルトの名無しさん (ワッチョイ 0ecb-NqGB)2017/02/27(月) 14:07:53.79ID:IXzsv4Rb0
いや設計書通りに作れよ
0792デフォルトの名無しさん (ワッチョイ ab0d-rIZz)2017/02/27(月) 22:44:15.30ID:06KqeLby0
DataGridTemplateColumnのCellTemplateを外部ファイルのResourceDictionaryに定義して利用したいのですがBindingの方法がわからないので教えてください
以下のようなイメージです
(実際はもっと複雑なTemplateなのでDataGridTextColumnは使えません)


<ResourceDictionary ...>
<DataTemplate x:Key="MyCellTemplate">
<TextBlock Text="{Binding}" />
</DataTemplate>
</ResourceDictionary>


<DataGrid.Columns>
<DataGridTemplateColumn Header="..." CellTemplate="{StaticResource MyCellTemplate}" Binding="{Binding Text}" /> ←Bindingしたい
</DataGrid.Columns>
0793792 (ワッチョイ ab0d-rIZz)2017/02/27(月) 22:46:58.24ID:06KqeLby0
補足です
同じTemplateを異なるDataGridで使いまわすのが目的です
Binding名はそれぞれ違います
0794デフォルトの名無しさん (ワッチョイ 7f7b-xV3R)2017/02/27(月) 23:24:15.09ID:r7hwcqtC0
public class DataGridBoundTemplateColumn : DataGridTemplateColumn {
public BindingBase Binding { get; set; }
protected override FrameworkElement GenerateElement(DataGridCell cell, object dataItem) {
var element = base.GenerateElement(cell, dataItem);
BindingOperations.SetBinding(element, ContentPresenter.ContentProperty, this.Binding);
return element;
}
}
0795デフォルトの名無しさん (ワッチョイ 8ab6-d4M5)2017/02/28(火) 14:37:36.16ID:GKPFI9ic0
常駐してMessage QueueをListenしてメッセージ駆動で処理する、JavaでいうJMSみたいな標準的な仕組みはありますか?
ググったらWebSphereR MQ classes for .NETってのがあるのは分かりましたが、OSSのみでMSMQ向けに開発できればうれしいんですが・・・
自前で常駐アプリ作るしかないですか?
0796ワッチョイ (ワッチョイ 1e31-y359)2017/02/28(火) 18:39:44.06ID:pIiGTdLD0
この板に10年近く居る初心者なんだけど、
いい本、教えてくれ

書籍は日本語で頼む
0797デフォルトの名無しさん (アウアウオー Sac2-pore)2017/02/28(火) 18:48:29.36ID:+WocOs48a
10年いたら何百回も同じ質問回答見てんだろ。それで選べないような奴向けの書籍は存在しないよ
0798ワッチョイ (ワッチョイ 1e31-y359)2017/02/28(火) 19:41:55.53ID:pIiGTdLD0
心眼で何とかするしか無いか……
0799デフォルトの名無しさん (ワンミングク MMfa-1leb)2017/02/28(火) 19:45:31.01ID:k+KkrlHaM
>>795
MSMQは.NET4以降で使えた筈
0800デフォルトの名無しさん (ブーイモ MMef-ZSEG)2017/03/01(水) 07:58:25.62ID:ch1dK+X7M
VBAはいいのに、C#は禁止
という意味不明なお触れが出てしもた(TT)
0801デフォルトの名無しさん (ブーイモ MMc7-nCc/)2017/03/01(水) 08:24:08.01ID:ILMptHRyM
その程度の会社にしか居場所がないならお前もその程度ってことだ
違うと思うなら転職しろ
0802デフォルトの名無しさん (ドコグロ MM7f-NqGB)2017/03/01(水) 08:33:50.70ID:KIFQ5s++M
単価の数字を見てって意味なら理解できる
無駄に安かったりするんだよね
0803デフォルトの名無しさん (ワッチョイ 1e7b-efmn)2017/03/01(水) 09:32:07.98ID:yuocqMDO0
>>796
猫でもわかるC#プログラミング 第3版、粂井(くめい)康孝、2016
0804デフォルトの名無しさん (アークセー Sx23-bB+7)2017/03/01(水) 12:02:32.78ID:XUb7kHxXx
>>796
ミジンコでも分からせるC#
民明書房
0805デフォルトの名無しさん (ワッチョイ 7fbb-8lb6)2017/03/01(水) 12:30:59.03ID:RAuT14LS0
C#はもう業務では使えないよ。趣味用の言語。perlみたいなもの。
0806デフォルトの名無しさん (スププ Sdaa-L/ed)2017/03/01(水) 18:08:15.69ID:BlDV/sC+d
>>805
理由は?
0807デフォルトの名無しさん (ワッチョイ 1e9d-d4M5)2017/03/01(水) 18:19:58.85ID:ZH+ht5qq0
>>805
じゃあ業務では何使えばいいですか?
0808デフォルトの名無しさん (アウアウウー Sacf-TXya)2017/03/01(水) 18:21:54.62ID:CsuWabtqa
なーにーやっちまったな
男は黙ってCOBOL
0809デフォルトの名無しさん (スプッッ Sd4a-xMKC)2017/03/01(水) 18:34:47.06ID:mz3by4fld
女は黙ってFORTRAN
0810デフォルトの名無しさん (ワンミングク MMfa-LqKA)2017/03/01(水) 18:57:55.89ID:PR7YLHWZM
>>800
それってどうやって禁止するんだ?
0811デフォルトの名無しさん (ワッチョイ 7fbb-8lb6)2017/03/01(水) 18:59:56.97ID:RAuT14LS0
>>807
鉄板のCOBOLとJAVAですよ。
0812デフォルトの名無しさん (ワッチョイ bbc3-bdSd)2017/03/01(水) 19:19:48.23ID:BukY6Teo0
ことこと煮詰めたPerl(読めない)
0813デフォルトの名無しさん (ワッチョイ 1e31-bRgR)2017/03/01(水) 20:27:41.90ID:r70GDLNP0
>>796
汝!隣の嫁を愛せ!! C#
0814ワッチョイ (ワッチョイ 1e31-bRgR)2017/03/01(水) 20:28:19.50ID:r70GDLNP0
ワッチョイで自演がバレちゃうwww
0815デフォルトの名無しさん (ワッチョイ cfd6-8lb6)2017/03/01(水) 20:43:06.08ID:LaylmXrB0
すごく…かっこ悪いです…
0816デフォルトの名無しさん (ワッチョイ 1e9d-8lb6)2017/03/01(水) 20:48:20.77ID:U2Od4VRx0
NEC PC-8001 BASIC Ver 1.1
Copyright 1979 (C) by Microsoft

Ok
■
0817デフォルトの名無しさん (ワンミングク MMfa-1leb)2017/03/01(水) 21:21:32.69ID:Yvg0gU5LM
>>816
mon
*tm
0818デフォルトの名無しさん (ワッチョイ 1e31-y359)2017/03/01(水) 21:23:11.06ID:r70GDLNP0
就職用にソフト作るとして、どの程度の作品を作らなきゃ評価
されないのか、誰か教えてくれ
0819デフォルトの名無しさん (ワッチョイ 8a3c-9513)2017/03/01(水) 22:09:13.37ID:TpZN5x5p0
>>810
グループポリシーで csc.exe を実行禁止とかかな
弊害知らんけど
0820デフォルトの名無しさん (ワッチョイ 03a1-zLYe)2017/03/01(水) 22:24:49.41ID:wQqERzxI0
vbc.exeは動いたとかだったら面白いんだけどね
0821デフォルトの名無しさん (ワッチョイ 8bc0-NqFr)2017/03/02(木) 00:11:24.12ID:lUnnJDsN0
>>744で未だに2.0とかねーよwwwと思ってたら10年前のC#システム改修案件来た
.NET4.5.2とか贅沢言わないのでせめて3.5で作らせて下さい・・・
0822デフォルトの名無しさん (JP 0Hef-NqFr)2017/03/02(木) 06:08:44.13ID:T8mz/VrOH
C#案件とか.NET案件で一括りされるから面倒だよな
0823デフォルトの名無しさん (スププ Sd3f-GcmM)2017/03/02(木) 08:25:58.59ID:sITpgG7dd
されませんけど
0824デフォルトの名無しさん (ワッチョイ eb0c-BJNc)2017/03/02(木) 10:34:35.36ID:ZT4/tAUe0
WPFの解説ブログ書いてた大田一希、富士通の子会社からマイクロソフトに転職したってよ
http://blog.okazuki.jp/entry/2017/02/20/202522
0825デフォルトの名無しさん (スププ Sd3f-GcmM)2017/03/02(木) 11:40:42.47ID:sITpgG7dd
>>824
ドメイン見て気づいたけどこの人の作ったVisual Studio Codeのプラグイン使ってるわ
シーケンス図書くやつ
0826デフォルトの名無しさん (ワッチョイ ab99-PBd5)2017/03/02(木) 12:56:07.90ID:BMLMSkag0
WPFのおくりびとにでもなるのか?
0827デフォルトの名無しさん (ワッチョイ bb19-/EJX)2017/03/02(木) 13:11:50.84ID:bkixketX0
ここはプログラマ板ではないしネットウォッチ板でもない
0828デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/02(木) 13:44:58.65ID:GnKpLkBNa
>>824
ネットストーカーきもっ
っていうか、公人でも何でもないんだからいい歳こいてるならさん付けぐらいしろよバカ
0829デフォルトの名無しさん (アウアウオー Sabf-rrQM)2017/03/02(木) 14:22:53.36ID:j0RdOmJSa
>>828
いい歳こいてるならガキみたいな言葉遣いやめろよバカ
0830デフォルトの名無しさん (ワッチョイ 1fb6-NqFr)2017/03/02(木) 16:57:06.80ID:7GIcFobN0
>>799
遅くなりましたが、レスありがとうございます
MSMQを使うこと自体は問題ないのですが、.
NET FrameworkにはJavaのMessageDrivenBeanみたいな標準仕様があるのか知りたかったのですが、
どうも無さそうということで考えた方が良さそうですね・・・
0831デフォルトの名無しさん (ワンミングク MM3f-swil)2017/03/02(木) 22:01:03.86ID:l6Qo/SsEM
>>830
メッセージキュートリガーじゃ代替出来ないような処理なの?
0832デフォルトの名無しさん (ワッチョイ ef7b-anrw)2017/03/03(金) 00:47:09.29ID:DpV0ZA8P0
WPFのnativeコンパイル早くー
0833デフォルトの名無しさん (ブーイモ MM3f-d4C0)2017/03/03(金) 06:44:37.15ID:ivKlbKhzM
>>832
不可能でしょ
WPFって裏で勝手にプロセス動かしたりするし
0834デフォルトの名無しさん (ワッチョイ 8b4f-M3Ci)2017/03/03(金) 14:07:24.12ID:WzLWeeja0
今後はWPFをフェードアウトさせて、
UWPを普及させるつもりなんじゃね?
0835デフォルトの名無しさん (ワッチョイ abc3-PBd5)2017/03/03(金) 14:38:10.68ID:xoyAwVxu0
マジか…
0836デフォルトの名無しさん (ワッチョイ 3b90-Mt2S)2017/03/03(金) 17:55:33.68ID:yDKPEtIM0
数独を解くアプリを作っているのですがどのコントロールでユーザーに入力してもらったらいいかわかりません
http://algorithm.main.jp/Puzzle/Sudoku/3-Input.php
こんな感じに作りたい場合どんなコントロールを使いますか?
0837デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/03(金) 18:18:23.19ID:M1qcN5qza
今デジャビューを感じた
0838デフォルトの名無しさん (ワッチョイ 0f9d-NqFr)2017/03/03(金) 19:23:27.45ID:W1tulntN0
UWPってストアに上げないと配布できないの?Win8以前のじゃ動かいないし
よくわからん
0839デフォルトの名無しさん (ワッチョイ 0ba1-c3r2)2017/03/03(金) 21:52:37.85ID:TSrsvtYD0
ユーザーが設定すればサイドローディング可能
0840デフォルトの名無しさん (ワッチョイ 0f31-3D2C)2017/03/03(金) 22:27:45.30ID:eezZKf7v0
MonoDevelopの使い方がイマイチ分からん

これって、ビジュアルスタイディオから移行する意味あるのか?
0841デフォルトの名無しさん (ワッチョイ 4fcb-re10)2017/03/03(金) 22:50:43.99ID:KGCeex070
>>840
意味なくね?
だってコントロールクラス的なものないっしょ?
画面作れなくね?
描画関係ってwin32のラッパじゃねーの?
0842デフォルトの名無しさん (ワッチョイ 0f7b-liqg)2017/03/03(金) 23:22:28.28ID:VmWbxx1t0
>>836
HTMLなら、表かな?

Grid-View みたいなもの?
0843デフォルトの名無しさん (RU 0H7f-YS1u)2017/03/04(土) 00:38:07.38ID:WtTkhvloH
あーあー
テストテスト
0844デフォルトの名無しさん (RU 0H7f-YS1u)2017/03/04(土) 00:40:41.72ID:WtTkhvloH
テスト2
0845デフォルトの名無しさん (ワッチョイ 7b14-YS1u)2017/03/04(土) 00:42:29.33ID:SJvxZRgO0
テスト3
0846デフォルトの名無しさん (ワッチョイ 6b3c-NqFr)2017/03/04(土) 04:10:31.34ID:ymzArQkK0
RUって海外鯖?非国民?
0847デフォルトの名無しさん (ワッチョイ 3b42-T7IB)2017/03/04(土) 12:04:06.46ID:rEOlgOeo0
>>818
印刷プレビュー付きテキストエディタあたりで大丈夫だろ
メモ帳に印刷プレビューを付けたやつ
10Mバイト程度のテキストの印刷プレビューでも固まらないようにな
0848デフォルトの名無しさん (ワッチョイ ef5b-EkCO)2017/03/04(土) 13:08:14.58ID:aE/wnzST0
>>847
そんなの意味あるの?
どっかに転がってるソース提出できるじゃん。

オレは始めたばかりだから初心者だけど、どんな言語でも少し喋ればスキルなんてバレバレだろ。
どんなものを作ったかと苦労した点とか聞けばだいたい分かるもんだろ。
0849デフォルトの名無しさん (ワッチョイ cb34-PBd5)2017/03/04(土) 13:18:59.82ID:svzWwCAT0
githubでスター100個とか200個ついたリポジトリ抱えてれば
面接に言ったとき向こうからおべっか使ってくれるよ
0850デフォルトの名無しさん (アウアウオー Sabf-rrQM)2017/03/04(土) 13:20:00.59ID:nGVyMKq0a
その程度しかできないんだな。そんなにできるんだな
事前の目安になるからどんなんでもいいんだよ。「事前の」目安な
0851デフォルトの名無しさん (ワッチョイ eb0d-wJyW)2017/03/04(土) 13:41:15.75ID:3ybLjFYo0
WebHeaderCollectionから"Set-Cookie"をすべて取得したいのですが、どうすればいいでしょうか?
GetValues()はカンマで区切られる為使い物になりませんでした
0852デフォルトの名無しさん (ワッチョイ 3b90-Mt2S)2017/03/04(土) 16:45:35.72ID:pgVcOV4B0
Proxy併用してCookieも変えながらエロ画像DLするアプリだとどんな評価されるんだろうか
0853デフォルトの名無しさん (ワッチョイ 3b90-Mt2S)2017/03/04(土) 16:48:03.55ID:pgVcOV4B0
>>851
自分で区切られているのを好きな形にするメソッドを作るとか
0854デフォルトの名無しさん (ワッチョイ 1f30-PBd5)2017/03/04(土) 18:32:13.09ID:zFoXIyA10
私が17歳だった頃くらいの技術力かなって評価する
0855デフォルトの名無しさん (ササクッテロレ Spef-w/oi)2017/03/04(土) 19:16:47.62ID:ePKaLPUep
>>851
GetValues(int)なら分割されないはず
0856デフォルトの名無しさん (ワッチョイ 1f90-Mt2S)2017/03/04(土) 23:00:54.14ID:nqKolQrS0
サイトを巡回して画像をDLするアプリを作っているのですが、Keep-aliveがtrueの場合
HttpWebRequestなどはstaticな変数、もしくはクラス変数のほうがいいですか?
Keep-aliveがfalseの場合、どちらでもいいですか?
0857デフォルトの名無しさん (ワッチョイ 1f90-Mt2S)2017/03/05(日) 08:23:18.11ID:ci1fnKDv0
HttpWebResponseで受け取ったCookieを次のHttpWebRequestのCookieにしたいのですがうまくいきません
どこがおかしいのでしょうか?
https://ideone.com/PExQEA
0858デフォルトの名無しさん (ワンミングク MM3f-swil)2017/03/05(日) 08:45:58.71ID:iZvzQ0XvM
>>854
わたしゃこの商売60年やってるよ。と続けないと
0859デフォルトの名無しさん (ワッチョイ 1f23-NqFr)2017/03/05(日) 08:47:51.24ID:dvtekz6g0
17歳の頃と言えばジャニス・イアンだな
https://www.youtube.com/watch?v=k39P2MK6WPo
0860デフォルトの名無しさん (ワッチョイ aba7-bSi4)2017/03/05(日) 10:56:08.64ID:2PYsxDr30
17位の時は、モデムを海外サーバーにつなぐ、0990のソフトつくってた
0861デフォルトの名無しさん (ワッチョイ 1f90-Mt2S)2017/03/05(日) 11:28:37.36ID:ci1fnKDv0
今日は誰もいないんですか?
できれば回答がほしいんですけど・・・
0862デフォルトの名無しさん (アークセー Sxef-CqFM)2017/03/05(日) 11:31:38.07ID:d0KLgtk9x
>>860
今は何位?
0863デフォルトの名無しさん (ワッチョイ 3bdc-0QZk)2017/03/05(日) 11:50:01.18ID:4Mp9Np6+0
>>861
>>857の質問の意図が俺には理解できない
何をしようとしてどう考えてそのコードを書いてどういう結果を期待していて実際の結果が期待とどう違っているのかを具体的に書いて
0864デフォルトの名無しさん (ワッチョイ 1f90-Mt2S)2017/03/05(日) 12:12:52.85ID:ci1fnKDv0
>>857についてですが、すいません、自己解決しました
単なるコードミスでした。あと>>856についてお願いします
0865デフォルトの名無しさん (オッペケ Sref-udCm)2017/03/05(日) 12:16:11.13ID:oDjd797Or
>>864
せめてどう解決したのかくらい書きなよ?
0866デフォルトの名無しさん (ワッチョイ 1f90-Mt2S)2017/03/05(日) 12:37:10.11ID:ci1fnKDv0
すいません
やりたいことは>>857で
受信したCookieを保存するList<Cookie>型のreceivedCookieをwhile文の中で宣言していて
次にリクエストを送信する場合、受信したCookieは空にしてしまっていたのです
0867デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/05(日) 12:48:02.23ID:u6nsQtE2a
森高千里を連想するとオッサンで、南沙織を連想するとジジイか
0868デフォルトの名無しさん (ワッチョイ 3b90-Mt2S)2017/03/05(日) 12:52:13.20ID:4N1+21XT0
コートの上から抱きしめといてちょっと太ったなんて聞くやつってどうかと思う
0869デフォルトの名無しさん (ワッチョイ ef59-2BvX)2017/03/05(日) 13:29:08.38ID:sGCSwFPI0
netstatすればkeepaliveかどうかわかると思う
0870デフォルトの名無しさん (ワッチョイ 3b90-Mt2S)2017/03/05(日) 18:00:28.29ID:NskbqDfx0
既存のList<T>を継承してXmlシリアライズ・デシリアライズ機能をつけたものを使っていたのですが
拡張メソッドで継承することなく機能をつけようとしてなぜかInvalidOperationExceptionが投げられるようになりました
どうしたことかもともと継承していたやつまでInvalidOperationExceptionを吐くようになってしまいました
InnerExceptionでは「<elem xmlns=''> は指定できません。」と出ます、自作ではなくC#のXMLシリアライザを使用して吐き出したものです
どなたか解決方法教えてください

public class XmlData<Type> { public Type[] data; }

public static void LoadXml<Type>(this List<Type> list, string path)
{
list.Clear();

XmlData<Type> xmldata = null;

XmlDocument xdoc = new System.Xml.XmlDocument();
XmlSerializer xml = new System.Xml.Serialization.XmlSerializer(typeof(XmlData<Type>));

xdoc.PreserveWhitespace = true;
xdoc.Load(path);

XmlNodeReader xnr = new System.Xml.XmlNodeReader(xdoc.DocumentElement);

xmldata = (XmlData<Type>)xml.Deserialize(xnr);

for (int i = 0; i < xmldata.data.Length; i++)
list.Add(xmldata.data[i]);
}
0871デフォルトの名無しさん (ワッチョイ 1f17-Mt2S)2017/03/05(日) 20:31:41.58ID:8jeOdUNR0
呼び出し側ではどういう風に呼び出してる?
Type で指定する型によっては InvalidOperationException 例外が発生するようだけど。 ex) System.Type

あと、この例では読み込みだけだけど、書き出しはどういう風に書いてる?
書き出しと読み出しで Type の型が違うなんてないよね。(型が違うとくだんの例外が発生する)

あと dobon だけど、このあたりを見てみるとか。
http://dobon.net/vb/dotnet/file/xmlserializer2.html
0872デフォルトの名無しさん (ワッチョイ 3b90-Mt2S)2017/03/06(月) 09:54:44.28ID:MVjKwV/p0
以下のとおりになります
https://ideone.com/RexR1Z
最初はListクラスを継承したListExクラスでXmlシリアライズして、そのシリアライズしたものを拡張メソッドLoadXmlで読もうとしています
シリアライズするクラスは同じものです
0873デフォルトの名無しさん (ワッチョイ 4fcb-re10)2017/03/06(月) 10:55:10.06ID:iAI6G3090
シリアナライク
オシリアラエズ
0874デフォルトの名無しさん (ワッチョイ 0f7b-BJNc)2017/03/06(月) 13:28:57.02ID:xh0zMCOO0
c#でjavascript(JS)を使いたいんですが、
ローカルフォルダにMainというHTMLに以下のコードを記載
https://dotnetfiddle.net/N2FfFc

C#のコードの方に
https://dotnetfiddle.net/ZHWTtH

JSの関数 test を実行しているはずが、nullとなってしまい、返り値を取得できないのですが、何かが間違っているのでしょうか?
0875デフォルトの名無しさん (アウアウオー Sabf-rrQM)2017/03/06(月) 15:35:25.99ID:SM9wIIjZa
documentcompleted待ってないからとか?
0876872 (ワッチョイ 3b90-Mt2S)2017/03/06(月) 15:57:21.11ID:MVjKwV/p0
すいません、そもそもジェネリッククラスのシリアライズ化ってできるんですか?
Listが持っているものをジェネリックメソッドを使用してシリアライズ化したいのですが・・・
0877デフォルトの名無しさん (ワッチョイ bb19-/EJX)2017/03/06(月) 16:13:30.95ID:3WR0U+Fi0
できる
XmlDataとかいうクラスを作る必要はない T[]を使えば良い
あと、型引数の名前にTypeはSystem.TypeとごっちゃになるからTだけ使う
0878872 (ワッチョイ 3b90-Mt2S)2017/03/06(月) 16:41:02.74ID:MVjKwV/p0
すいませんジェネリック使いながら「T」の使い方がわからないのです
調べても出てこないですし、なんとなくTypeと書いていたのです
何か違いがあるのでしょうか?
0879デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/06(月) 17:26:25.11ID:SfExdTzoa
ない(あるわけないw)けど、型パラメータが一つしかないならTにするのが
暗黙の慣習みたいなものだし、それで可読性が落ちる理由もないし、
あえて変な自己主張してもいいことないよね
0880872 (ワッチョイ 3b90-Mt2S)2017/03/06(月) 21:51:17.87ID:ACVl84t/0
>>877
ありがとうございます、仰るとおりにしたらできました
0881デフォルトの名無しさん (ワンミングク MM3f-prdN)2017/03/06(月) 22:21:32.75ID:AYI7ZDZ8M
TSelectorとか意味わかる名前にしたほうがいいだろ
コレクションの型パラメータみたいに本当に何でもいいなら構わんけど
何でもかんでもT, Uじゃ不親切
0882デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/07(火) 00:00:53.81ID:iPWuig5na
そんなケースは皆無とは言わないけどあんまりないと思うよw
0883デフォルトの名無しさん (ワッチョイ 0f42-wc60)2017/03/07(火) 00:57:34.30ID:+YV7asI40
型の意味書かなきゃならんってことは何か設計が微妙なんじゃないかって気がする
0884デフォルトの名無しさん (ワッチョイ 1f90-Mt2S)2017/03/07(火) 00:59:34.58ID:GXNElMqV0
静的クラスのデストラクターは定義できないとのことですが、デストラクターの内容を書いたメソッドを呼ぶしかないのでしょうか?
0885872 (ワッチョイ ab90-Mt2S)2017/03/07(火) 01:52:20.69ID:ruRUpvB50
また質問させてください
Listクラス以外の自作クラスのシリアライズも拡張メソッドで行いたいと思って以下のようなコードを書いたのですがエラーも例外も吐かないのに読み込めません
public static void LoadXml<T>(this T obj, string path)
{
XmlDocument xdoc = new XmlDocument();
XmlSerializer xml = new XmlSerializer(typeof(T));

xdoc.Load(path);

XmlNodeReader xnr = new XmlNodeReader(xdoc.DocumentElement);

obj = (T)xml.Deserialize(xnr);
}

これがデシリアライズするクラスの例です
public class MyClass
{ public string value1, value2; }
0886デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/07(火) 02:25:06.04ID:iPWuig5na
>>884
そもそもデストラクターそのものがあくまでフェイルセーフ的な物のはずだと思うんですが...
っていうか静的クラスのデストラクタって何だかなあw

Windows FormアプリならApplicationのApplicationExitイベントに紐づけするとか、確かWPFにも
似たようなイベントがあったと思ったけど、こういうの使うとイベントハンドラが呼び出される順序で
ハマったりするんだよなあ
0887デフォルトの名無しさん (ワッチョイ 8bc0-NqFr)2017/03/07(火) 02:28:11.35ID:X44GHN6S0
>>884
リソース破棄を明示したいならそもそも静的クラスにすべきじゃないかと
0888デフォルトの名無しさん (ワッチョイ ef4a-m4jB)2017/03/07(火) 05:57:46.86ID:l3aZYBuT0
質問させてください
「変数に値を設定する拡張メソッド」を作りたいのですが
エラーも例外も儚いのにうまくいきません

public static void SetValue<T>(this T obj, T value>
{ obj = value; }

これが使用例です
int i = 0;
i.SetValue(3);
Console.WriteLine(i);
0889デフォルトの名無しさん (ワッチョイ 6bd4-Mt2S)2017/03/07(火) 06:47:30.83ID:WbHpL/G50
それ拡張メソッドじゃなくても無理だよね?
そもそもそんな意味不明なメソッドを作りたいというのがおかしい
0890デフォルトの名無しさん (ワンミングク MM3f-prdN)2017/03/07(火) 07:54:40.64ID:SGq4g/IKM
VBならできるよ
0891デフォルトの名無しさん (ブーイモ MM3f-ZTLi)2017/03/07(火) 08:29:24.98ID:SQQuUM2SM
儚いなあ
0892デフォルトの名無しさん (ワッチョイ bb19-/EJX)2017/03/07(火) 09:38:09.03ID:1NFra9UW0
>>885
ファイルの中身がTに合ってないんじゃねーの
0893デフォルトの名無しさん (ブーイモ MM3f-fL7a)2017/03/07(火) 10:26:04.21ID:IHsSpNAMM
>>888
参照渡しと拡張メソッド(this)が共存しないので無理。素直に代入したら?
0894872 (ワッチョイ ab90-Mt2S)2017/03/07(火) 11:05:38.59ID:ruRUpvB50
>>892
ファイルの中身が違っていたら例外吐くと思っていたのですが違うのですか?
0895>>874 (ワッチョイ 0f7b-BJNc)2017/03/07(火) 11:56:02.27ID:S+1e7jR70
>>875
おっしゃる通り、ページ読み込み完了していないので取得できていなかったみたいです。
確かにページ読み込みが完了してないとスプリクト使えないですよね
0896デフォルトの名無しさん (ワッチョイ 3b9f-m4jB)2017/03/07(火) 11:59:21.35ID:FPiytoRz0
SQLAzure databaseにEntity framework6と.NET Framework4.6.1を利用して接続しています。
アプリ実行時、初回のデータ読み込みに10秒ほどかかるのですが解決方法はないでしょうか?
同じ処理をlocalDBに接続をして試すと3秒ほどです。

テーブル数は1、レコード数も1です。
0897デフォルトの名無しさん (ワンミングク MM3f-PlVy)2017/03/07(火) 13:56:31.38ID:3EZIVbrWM
EFを使わない
0898デフォルトの名無しさん (ワッチョイ 8bc0-NqFr)2017/03/07(火) 19:06:34.88ID:X44GHN6S0
localDBでもレコード1行読み込むのに3秒とか何かがおかしいような
プロファイラで何がネックになっているか調べてみたら?
0899デフォルトの名無しさん (ブーイモ MMaf-d4C0)2017/03/07(火) 20:10:26.97ID:xCLX0I7rM
>>896
ORMはサーバーで使うもんだよ
0900>>872 (ワッチョイ ab90-Mt2S)2017/03/07(火) 20:38:41.72ID:ruRUpvB50
誰か教えてください
最近この人が少ないですね
0901>>872 (ワッチョイ ab90-Mt2S)2017/03/07(火) 20:39:36.79ID:ruRUpvB50
×この人が少ないですね
○ここの人が少ないですね
0902デフォルトの名無しさん (ブーイモ MM3f-fL7a)2017/03/07(火) 21:17:41.73ID:IHsSpNAMM
>>885
>>888 と同じ理由
0903>>872 (ワッチョイ ab90-Mt2S)2017/03/07(火) 22:01:28.13ID:ruRUpvB50
>>902
intが参照渡ししていないので>>888がダメな理由はなんとなくわかります
でもクラスのインスタンスは参照型だと思うのですが、ひょっとしてジェネリックだとそういう制約があるんですか?
シリアライズできてもデシリアライズはできないみたいですが・・・
0904デフォルトの名無しさん (ブーイモ MM3f-fL7a)2017/03/07(火) 22:04:38.86ID:IHsSpNAMM
>>903
参照型の値渡しになってる。
参照渡ししたければrefかoutが必要。
0905>>872 (ワッチョイ ab90-Mt2S)2017/03/07(火) 22:32:22.55ID:ruRUpvB50
ありがとうございます
ジェネリックでも配列やListはシリアライズできて、クラスのインスタンスはシリアル化できないのはなんか腑に落ちませんがなんとな納得してみます
0906デフォルトの名無しさん (ワッチョイ dbbb-BJNc)2017/03/07(火) 22:36:23.03ID:hjB1k2kx0
iniファイルがお似合い。
0907デフォルトの名無しさん (スププ Sd3f-GcmM)2017/03/07(火) 22:56:00.79ID:JT5OyNStd
>>906
iniファイルは標準では非サポートだから初心者向きではないと思います
0908デフォルトの名無しさん (ワッチョイ dbbb-BJNc)2017/03/07(火) 23:44:41.25ID:hjB1k2kx0
iniファイルすらサポートが必要なレベルなのか。
0909デフォルトの名無しさん (スププ Sd3f-GcmM)2017/03/07(火) 23:51:22.65ID:JT5OyNStd
ここは初心者用スレですけど?
0910デフォルトの名無しさん (ワッチョイ 6b19-pp/g)2017/03/08(水) 00:04:08.23ID:nUQhPPyB0
初心者とは言え文字を1行ごとに取り込んでSplit('=')で分割して順番にListにぶち込むだけで取りあえず読み込めるし似た手順で書き込みもできると思う
0911デフォルトの名無しさん (ワッチョイ dbbb-BJNc)2017/03/08(水) 00:06:07.47ID:YUr8l1RF0
そうだね。ここは初心者スレだったね。iniファイルの自前で読み書きはレベルが高すぎたね。
0912デフォルトの名無しさん (スププ Sd3f-GcmM)2017/03/08(水) 00:07:10.07ID:MhhWeDADd
>>910
値が改行コード入りの文字列の時だってあるんですよ
0913デフォルトの名無しさん (ワッチョイ 0ba1-R7fB)2017/03/08(水) 00:09:44.28ID:nYBrtmF60
iniは柔軟すぎて困る
0914デフォルトの名無しさん (ワントンキン MM3f-prdN)2017/03/08(水) 00:12:34.68ID:swHBt9geM
iniはサポートされただろ
0915デフォルトの名無しさん (アウアウオー Sabf-rrQM)2017/03/08(水) 00:12:50.48ID:+9c4AYMpa
ini推しはC#初心者だろうな
0916デフォルトの名無しさん (ワッチョイ 6b19-pp/g)2017/03/08(水) 00:35:21.61ID:nUQhPPyB0
>>912
思いつかなかった
そういやそういう時ってどうやるのが正しいの?
思い返せば自分が似たようなことやった時は書くときに改行コードを<br>に置き換えて一行で読めるようにしてて読み込むメソッドで<br>をEnvironment.NewLineに置換してた
その時はiniじゃなくてcsvだったけど
0917デフォルトの名無しさん (スププ Sd3f-GcmM)2017/03/08(水) 00:45:02.22ID:MhhWeDADd
>>916
自分がCSVパーサー作ったときは一文字づつ解析していったよ
“で囲われてるフィールドがあったり、“そのものは““になっていたりするから一文字ずつ読むのが手っ取り早い
0918デフォルトの名無しさん (ワッチョイ 6b19-pp/g)2017/03/08(水) 00:50:31.95ID:nUQhPPyB0
なるほど
そういうやり方もあるのかthx
0919デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/08(水) 00:55:26.32ID:DQTGg9gCa
>>905
だーから、(恐らく)シリアライズ/デシリアライズの問題じゃないってばw

インスタンスメソッドだろうが拡張メソッドだろうが、オブジェクトを操作してそのオブジェクトが
入っている変数自身を書き換えようって発想がおかしいのw
自分の首をつかんで自分を持ち上げようとしても無理なのと同じだよww

素直にユーティリティークラスにTを返すメソッドとして実装しましょう。
0920>>872 (ワッチョイ ab90-Mt2S)2017/03/08(水) 01:29:06.79ID:wRk+GbAW0
すいません、どういうことがおかしいのかわからないです
配列やListクラスに拡張メソッドを定義して、その値をどうのこうのするのはおかしいんですか?
拡張メソッドを使用せずに以下のように書くんですか?よくわからないです
obj = LoadXml("C:\\hoge.dat");
0921デフォルトの名無しさん (ワッチョイ 1f23-2BvX)2017/03/08(水) 01:44:21.45ID:CceDL3fb0
>>920
thisはさ、拡張メソッドでもインスタンスメソッドでも値渡しされたインスタンス参照なんだよ
だからそれに代入しても引数の参照先が変わるだけ、元には何の影響も与えない、refも併用できないしね
読み取り専用であるため 'this' に割り当てできません、ってのと同じ、メンバに対する操作のみが有効
0922デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/08(水) 02:37:50.73ID:aAsk3kKya
>>920
そんな難しい話じゃないと思うけどなあ...

まあ、どうしても拡張メソッドにこだわるなら、変数を書き換えるなんて
馬鹿な考えは捨てて、デシアライズしたオブジェクトから全部の(あるいは必要な)
プロパティーとフィールドをコピーしたらいい。

例えば、

Interface ICopyable<T>
{
  void CopyTo(T source) ;
}

みたいなインターフェイスを定義して、LoadXml<T>のTはICopyableを実装する制約を
つければいいんじゃないかな。知らんけど
0923デフォルトの名無しさん (ブーイモ MM3f-fL7a)2017/03/08(水) 05:15:42.09ID:FUZAuqxsM
>>920
public static void LoadXml<T>(ref T obj, string path)
なら動くんじゃないの?
0924デフォルトの名無しさん (ワッチョイ dbbb-BJNc)2017/03/08(水) 05:20:34.89ID:YUr8l1RF0
ref、thisが分からないってきっとポインタの知識がないんだな。
0925デフォルトの名無しさん (ワッチョイ 1f4c-mC6Z)2017/03/08(水) 07:14:26.58ID:bhVPr0Ju0
シリアライザでググって、ライブラリに突っ込んだ方が早いはず。
Json.Netとか色々あるし
0926デフォルトの名無しさん (ワンミングク MM3f-PlVy)2017/03/08(水) 11:02:49.82ID:75S/ek5tM
>>898
EFなら初回はそんなもの
0927>>872 (ワッチョイ ab90-Mt2S)2017/03/08(水) 12:32:26.51ID:wRk+GbAW0
>>922
どうしても拡張メソッドに拘りたいわけではなくてなぜ書けないのかのほうが知りたいです
足りない頭を端から端まで使っているんですがやっぱりわからないです

たとえばこんな風に書いても16行目18行目20行目では結果が違うのになんでジェネリックになっただけでダメになるのかよくわかりません
https://ideone.com/KGRQGt

ただのint型でもLoadXml、SaveXmlが呼べてしまうので、もし使えたとしてもなんとなくですがあまり推奨されないのかなと感じます
0928デフォルトの名無しさん (ワッチョイ 1f23-2BvX)2017/03/08(水) 12:59:54.42ID:CceDL3fb0
>>927
だからジェネリック云々の話じゃないって。そのコードは全てメンバに対する代入でしょ?
クラスが参照型というのは変数が直接の実体ではなくインスタンスへの参照というだけ
ChangeExtensionの_myclassに渡るのはmyclass変数への参照ではなくMyclassインスタンスへの参照
値型だろうが参照型だろうが呼び出し元の変数そのものを変えるならrefかoutか返り値を代入するかだよ
0929デフォルトの名無しさん (ブーイモ MM2f-fL7a)2017/03/08(水) 15:05:01.86ID:mEPgtGPAM
>>927
Change()メソッドの中身を

_myclass = new MyClass();
_myclass.value1 = "999";

にしてみ?
0930デフォルトの名無しさん (ワッチョイ dbbb-BJNc)2017/03/08(水) 18:40:42.04ID:YUr8l1RF0
一度意味を勘違いした人の知識を訂正するのは容易なことではありません。
0931デフォルトの名無しさん (ワッチョイ ef02-iS6T)2017/03/08(水) 19:36:09.01ID:gvo8BpVN0
拡張メソッドはほんとにクラスを拡張してると思ってるんじゃないだろうか
0932デフォルトの名無しさん (アウアウウー Sa2f-G6vc)2017/03/08(水) 19:55:54.92ID:LpkYLhbMa
だから、インスタンスメソッドだって自分を参照してる変数を書き換えるなんて
普通はできませんってw
0933>>872 (ワッチョイ ab90-Mt2S)2017/03/08(水) 20:08:48.74ID:wRk+GbAW0
>>928
拡張メソッドでthisに指定しているものは触ることはできないけど、this指定のpublicなメンバなら触ることができる
こういった解釈で間違いないですか?

配列は問題なくできますが、それはどういった理由からですか?配列の要素もメンバ扱いなのでしょうか?
0934デフォルトの名無しさん (ワッチョイ aba0-PBd5)2017/03/08(水) 20:11:40.47ID:jS0zQn/F0
死ね低脳
畑でも耕してろ
0935デフォルトの名無しさん (ワッチョイ 1f23-2BvX)2017/03/08(水) 21:17:35.55ID:CceDL3fb0
>>933
まぁ有り体に言えばそうなんだけど、拡張メソッドとかthisとか、もはやこの際関係ないんだ
まず値型を考える。int i = 0;のとき、変数「i」は4バイトで値0という実体がそのまま入る
次に参照型、Myclass myclass = new Myclass();だと変数myclassには実体へのアドレスが入る

そこまでは理解していると思うけど、メソッドに渡された時、通常はどちらも値渡しなんだよ
値型だと内容が引数にコピーされるのは勿論、参照型も変数の中身=実体アドレスが渡されるだけ
なぜ参照型のメンバのみ元に反映されるか、それは実体アドレスを介した間接参照になって同じ場所を指すから
だけど参照型の引数自体に割り当てても、それは引数が指すものが変わるだけで、元のmyclassが指す場所は変わらない
refやoutで(実体もしくは実体アドレスではなく)変数のアドレスが渡されることで初めて呼び出し元の変数自体を変えられる
0936デフォルトの名無しさん (ワッチョイ ef02-iS6T)2017/03/08(水) 22:38:35.99ID:gvo8BpVN0
参照型と参照渡しの区別がついてないだけか
0937デフォルトの名無しさん (ワッチョイ bfa7-6uAD)2017/03/09(木) 20:07:53.94ID:f0dyr0g70
File.Existsって、ファイル名にスペース入ってるとうまく機能しないのね。

みんなどうしてるん?
ショートファイル名にするのかな?
0938デフォルトの名無しさん (JP 0Ha7-csvI)2017/03/09(木) 20:16:11.18ID:OnmTFZZNH
なに言ってんだ
0939デフォルトの名無しさん (アウアウオー Saca-Dvjv)2017/03/09(木) 20:16:17.75ID:kp/XS3ena
>>937
機能するよ
0940>>872 (ワッチョイ 0790-JiRs)2017/03/09(木) 22:07:48.05ID:C2ayowr10
>>935
なるほど、オブジェクト指向って深いですね
0941デフォルトの名無しさん (ワッチョイ fb59-Gnhz)2017/03/09(木) 22:09:18.05ID:FW6HepzM0
Directory.EnumerateFiles()の拡張子の扱いのが嫌だ
*.htmって指定したのに*.htmlもヒットする
0942デフォルトの名無しさん (ワッチョイ f73c-krjd)2017/03/09(木) 22:10:57.44ID:ZZ1gzprq0
>>937
どこの世界の話だよ
0943デフォルトの名無しさん (ワッチョイ 3631-LGhm)2017/03/09(木) 22:30:03.59ID:4L4opgUu0
初心者から抜け出せてない感じがする
0944デフォルトの名無しさん (ワッチョイ 365e-csvI)2017/03/09(木) 23:02:19.41ID:Ly+GUFf00
>>941
Visual Studio Community 2017 ターゲットフレームワーク.NET Framework 4.6.2
ならないけど。どんな環境でやった?
>>943
そりゃ初心者のスレだし
0945デフォルトの名無しさん (ワッチョイ fb59-Gnhz)2017/03/09(木) 23:25:52.30ID:FW6HepzM0
>>944
試したのはVisualStudio2015でターゲットは4.5.2。
この挙動はMSDNでも説明されてる。
https://msdn.microsoft.com/ja-jp/library/dd383571(v=vs.110).aspx
0946デフォルトの名無しさん (ワッチョイ f73c-krjd)2017/03/09(木) 23:33:19.02ID:ZZ1gzprq0
やだね
0947デフォルトの名無しさん (ワッチョイ bfa7-6uAD)2017/03/09(木) 23:38:57.82ID:f0dyr0g70
>>939
>>942
まじ!?
0948デフォルトの名無しさん (ワッチョイ 365e-csvI)2017/03/09(木) 23:42:36.42ID:Ly+GUFf00
>>945
2015で4.52でやっても*.htm?にしないとならんな
0949デフォルトの名無しさん (ワッチョイ f73c-krjd)2017/03/09(木) 23:47:11.27ID:ZZ1gzprq0
>>947
まーじまじまじーろ
0950デフォルトの名無しさん (ワッチョイ fb59-Gnhz)2017/03/09(木) 23:49:59.04ID:FW6HepzM0
>>948
>>944は会社の環境でWindows7だったけど、今Windows10でターゲットを4.6.2にして試したけど、再現したぞ。
0951デフォルトの名無しさん (ワッチョイ 365e-csvI)2017/03/09(木) 23:55:25.36ID:Ly+GUFf00
>>950
リファレンスにもそんなことは書いてないみたいだが大変だな
0952デフォルトの名無しさん (ワッチョイ fb59-Gnhz)2017/03/09(木) 23:59:13.68ID:FW6HepzM0
>>951
備考のメモのところに書いてある。何故か英語だけど。
0953デフォルトの名無しさん (ワッチョイ fb59-Gnhz)2017/03/10(金) 00:02:00.92ID:b4szgT3p0
更新日が2016年10月のやつね。
それ以前のには載ってない。
0954デフォルトの名無しさん (ワッチョイ 365e-csvI)2017/03/10(金) 00:13:45.94ID:CaZBHdT80
>>953
ああ、申し訳ない
If the specified extension is exactly three characters long, the method returns files with extensions that begin with the specified extension. For example, "*.xls" returns both "book.xls" and "book.xlsx".
って確かに書いてあるな
でもこっちでは再現しないから変わったんじゃね?
0955デフォルトの名無しさん (ワッチョイ fb59-Gnhz)2017/03/10(金) 00:18:06.46ID:b4szgT3p0
>>954
こちらは>>950で書いた通り再現したのだが。
もしかして、拡張子を指定する部分が3文字以外だったりしない?
この挙動になるのは、拡張子を3文字で指定した時のみという謎仕様だけど。
0956デフォルトの名無しさん (ワッチョイ 137b-lHz+)2017/03/10(金) 00:21:10.20ID:PVnrcXb+0
人間が手入力した報告書系のテキストを処理したんですけど、クソ雑なデータ。たとえば、
1行目から、
件名 : 問い合わせ ← 間にコロンがない事もある、空白が半角か全角か不明(そもそも空白がない場合もあるし、件名入れてないケースもある)
電話 : 12-3456-789 ← ↑に加えて、-があったりなかったり、その後ろに"※携帯(1台目090-1234-5678,2台目(下4桁だけ7891))"とか書いてあったり。

こんなクソみたいなデータってどうやってパースしたらいいんでしょうか・・・・・
0957デフォルトの名無しさん (ワッチョイ 3642-QKhv)2017/03/10(金) 00:24:43.26ID:f8V67TME0
>>956
処理しやすいようにデータを整形する
入力側をコントロールできるなら正しい書式でしか入力できないようにする
パターンがある程度決まっているなら正規表現であれこれしてもいいだろうけど
0958デフォルトの名無しさん (ワッチョイ 97bd-EMrB)2017/03/10(金) 00:25:37.12ID:n0lUXtUI0
>>947
File.Existsかどうか忘れたけどファイル名の前後にスペースがあると勝手にトリムされるとかっていう問題はあった気がする
0959デフォルトの名無しさん (アウアウウー Sa93-bCg1)2017/03/10(金) 00:41:32.03ID:DxbJR+gOa
>>958
っていうか、そんなファイル名ってNTFSでもFAT32でも許されないような気がするんだけどもともと...
0960デフォルトの名無しさん (ワッチョイ 365e-csvI)2017/03/10(金) 00:45:47.52ID:CaZBHdT80
>>955
"*.htm"と"*.htm?"でしか試していない
0961デフォルトの名無しさん (ワッチョイ f73c-krjd)2017/03/10(金) 00:50:37.82ID:cBCq3F3F0
>>960
もともと"*.htm"と"*.html"の話をしてたんじゃなかったの?
0962デフォルトの名無しさん (ワッチョイ 3631-LGhm)2017/03/10(金) 00:59:48.22ID:NYdKDrgC0
Monodevelop C# Linux での ブラウザ制作
どこかに専門サイトやスレッドは有りませんか?

調べたのですが動画しか出て来ませんでした
お願いします
0963デフォルトの名無しさん (ワッチョイ f37b-DSY4)2017/03/10(金) 02:18:24.41ID:mVSODI9d0
3文字拡張子で4文字以上のにヒットするのはFindFirstFileの仕様だから仕方ない
コマンドプロンプトで dir *.con ってやっても.configファイルが返ってくる
0964デフォルトの名無しさん (ワッチョイ ef0d-Zg/o)2017/03/10(金) 06:11:45.89ID:vMtKK3Vf0
ClickOnceのようにお手軽な無料のWindowsデスクトップアプリケーション用のインストールおよびアップデートフレームワークを探しています
Squirrel.Windowsというものを試してみましたがexeが2つ以上あるとSetup時に両方実行されてしまったので他にご存知であれば教えてください
0965デフォルトの名無しさん (ワッチョイ f73c-krjd)2017/03/10(金) 06:13:52.25ID:cBCq3F3F0
>>964
ClickOnceじゃだめなの?
0966デフォルトの名無しさん (ワッチョイ ef0d-Zg/o)2017/03/10(金) 06:15:54.85ID:vMtKK3Vf0
>>965
だめです
0967デフォルトの名無しさん (ワッチョイ f73c-krjd)2017/03/10(金) 06:16:38.10ID:cBCq3F3F0
>>966
なぜ?
0968デフォルトの名無しさん (ワッチョイ ef0d-Zg/o)2017/03/10(金) 06:19:13.59ID:vMtKK3Vf0
>>967
今の案件に合わないからです
そもそもClickOnceを使うならここで聞きませんよね?そんなこともわからないのですか?
0969デフォルトの名無しさん (ワッチョイ f73c-krjd)2017/03/10(金) 06:23:46.45ID:cBCq3F3F0
>>968
ClickOnceが案件に合わない理由を聞かないと、代わりのものを勧められないよね?そんなこともわからないのですか?
0970デフォルトの名無しさん (ワッチョイ ef0d-Zg/o)2017/03/10(金) 06:53:56.39ID:vMtKK3Vf0
>>969
馬鹿には聞いてませんので二度とレスしないでください
0971デフォルトの名無しさん (スプッッ Sdb2-krjd)2017/03/10(金) 07:51:01.22ID:LDoDwujDd
>>970
ねえねえなんで案件に合わないって判断したのよ
0972デフォルトの名無しさん (ワッチョイ ef0d-Zg/o)2017/03/10(金) 08:54:08.56ID:vMtKK3Vf0
この猿、回線変えてまでレスして必死で笑える
面白いからもっとレスしなさい
0973デフォルトの名無しさん (ワッチョイ f73c-OSXz)2017/03/10(金) 09:00:07.89ID:5cT1wreG0
教えて貰う人間の態度じゃなくて草生える
0974デフォルトの名無しさん (ワッチョイ bf35-ANWQ)2017/03/10(金) 09:40:21.14ID:ccNaYHW50
ClickOnceはユーザー権限だけで勝手にインストールできるから駄目
0975デフォルトの名無しさん (JP 0Ha7-csvI)2017/03/10(金) 10:31:17.57ID:Dc1YpjcmH
管理者権限要求するほうが駄目だろ
0976デフォルトの名無しさん (ワッチョイ 7223-csvI)2017/03/10(金) 10:44:16.77ID:Kg4/WRpJ0
お手軽ならNuGet出来るVisual studio Installer
ちょっと頑張れるならWixだな
0977デフォルトの名無しさん (ワッチョイ be13-rc2N)2017/03/10(金) 11:05:24.87ID:XDfOCUbY0
>>975
nuget はできないと思うけどVisual Studio Installerおすすめ
0978デフォルトの名無しさん (アウアウウー Sa93-bCg1)2017/03/10(金) 11:13:28.38ID:nuewqlULa
VS Instarllerは自動アップデートの仕組みはないよね。

そうなると自作するしかないけど、まあVS Instllerの自動修復は比較的簡単に殺せるけど、
ちゃんとマルチユーザーに対応しようと思うと結構面倒くさそうだね

完全自動は諦めて、フリーソフトでよくある起動時にバージョンチェックして必要なら
インストーラーのダウンロードページに誘導する、ぐらいで俺なら妥協するなあ
0979デフォルトの名無しさん (ワッチョイ 524c-6uAD)2017/03/10(金) 11:45:49.83ID:kv+zlkWH0
すまん、File.Existsの話、
普通にファイル拡張子間違えてたわ

すまん
0980デフォルトの名無しさん (スッップ Sd92-krjd)2017/03/10(金) 12:14:37.20ID:HmwoDxKDd
>>974
Windows認証
0981デフォルトの名無しさん (ワッチョイ 97bd-EMrB)2017/03/11(土) 01:59:08.37ID:IyVQJqEm0
>>959
全角スペースでディレクトリのときの話だったわ
0982デフォルトの名無しさん (ワッチョイ db7b-sJVo)2017/03/11(土) 20:54:41.82ID:a53QpxuN0
ふらっと
0983デフォルトの名無しさん (ワッチョイ 137b-lHz+)2017/03/11(土) 21:52:08.68ID:ZpSkm2Pd0
Graphics.DrawString();でTabPageに描画してるんですが、ページを切り替えると消えてしまいます。
描画された状態を維持するにはどうしたらいいでしょうか?
0984デフォルトの名無しさん (スッップ Sd92-rc2N)2017/03/11(土) 22:07:50.89ID:A9JEH+Jtd
>>983
OnPaint内で描画してください
0985resumi (アウアウオー Saca-3IcJ)2017/03/12(日) 01:07:58.76ID:f0Kjw9v5a
これ普通にショックだね。。
本当なの??
https://goo.gl/RB0asw
0986デフォルトの名無しさん (アウアウオー Saca-Dvjv)2017/03/12(日) 18:10:50.55ID:jKx13rMfa
グロ注意
0987デフォルトの名無しさん (ワッチョイ bf90-JiRs)2017/03/12(日) 19:43:24.78ID:t8pUDZ0L0
HttpWebRequest、HttpWebResponseって使ったあとそれぞれAbort()とClose()呼び出すようにしないとダメなの?
たまに呼ぶのを忘れるときがあるけどHttpClientは.Net4.5からで使えないし、ラッパー作ったほうがいいんかな?
0988デフォルトの名無しさん (ワッチョイ f37b-tTkx)2017/03/13(月) 00:41:39.03ID:/IBrB85w0
RequestのAbortは要求を途中で破棄する用途
ResponseのCloseはほぼ必須 ていうかこっちは普通usingで使うもんじゃね
0989デフォルトの名無しさん (ワッチョイ 367b-2hGO)2017/03/13(月) 17:55:15.37ID:ESP/+4MN0
WindowsFormのWebBrowserのクッキーを取得したいのですが
WebBrowser.Document.Cookieではドメインなどは取得できないようなのですが、
ドメインなどを含むクッキー情報を取得するにはどのようにすればいいのでしょうか?
0990デフォルトの名無しさん (ワッチョイ be20-2hGO)2017/03/13(月) 21:15:41.67ID:LyrKVczy0
非正規の給与なんて半分以上は自民がピンハネしてるようなもんだからな

消費が冷え込んで内需ズタズタになろうが
自民からしたら知ったこっちゃない
0991デフォルトの名無しさん (ワッチョイ dbdc-aox5)2017/03/13(月) 21:44:37.06ID:QSdCtFW50
>>989
Seleniumでも使えば
0992デフォルトの名無しさん (ワッチョイ f67b-sJVo)2017/03/14(火) 16:25:28.87ID:l3+lwn6L0
ドイツ
0993デフォルトの名無しさん (ブーイモ MM2b-eVNI)2017/03/14(火) 18:54:48.26ID:lxubKqdmM
UWPアプリならPCでもモバイルでも動くってことで、今後はFormからUWPに移行すれば良いですか?
0994デフォルトの名無しさん (ブーイモ MM92-/UOj)2017/03/14(火) 19:02:08.18ID:pBm+iXgQM
>>993
UWPが動くモバイルなんか世の中にほとんど出回ってないでしょ
C#に拘るならASP.NET MVCかXamarinが正解
0995デフォルトの名無しさん (ワッチョイ bf6c-ANWQ)2017/03/14(火) 20:42:49.03ID:gIyZXesU0
Windowsでモバイルとか考慮する価値がないわな
1%もユーザーいないんじゃないの?
0996デフォルトの名無しさん (スフッ Sd92-rc2N)2017/03/14(火) 20:51:16.21ID:isvDO5Dld
まだアプリが少ないからこそ狙い目だとも言える
0997デフォルトの名無しさん (ワッチョイ 3642-QKhv)2017/03/14(火) 21:01:20.83ID:jthKkD6g0
そう言ってapple watchのアプリを頑張ってた彼らはどこへ行ってしまったのか
0998デフォルトの名無しさん (スフッ Sd92-rc2N)2017/03/14(火) 21:03:57.68ID:isvDO5Dld
XamarinでiOS/AndroidアプリリリースしたからこんどついでにUWP版作ってみるわ
0999デフォルトの名無しさん (ワッチョイ f290-JiRs)2017/03/14(火) 22:27:57.77ID:MclzPbbI0
次スレたてました

ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489498042/
1000デフォルトの名無しさん (ワッチョイ f290-JiRs)2017/03/14(火) 22:29:04.96ID:MclzPbbI0
うめ
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
life time: 77日 20時間 21分 24秒
10021002Over 1000Thread
2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。
運営にご協力お願いいたします。


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

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

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

▼ 浪人ログインはこちら ▼
https://login.2ch.net/login.php
レス数が1000を超えています。これ以上書き込みはできません。