C#, C♯, C#相談室 Part94 [無断転載禁止]©2ch.net

■ このスレッドは過去ログ倉庫に格納されています
2017/04/22(土) 15:36:53.26ID:S+KK7a41
■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part92 (実質93)
http://echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事
建てられない場合は他を指定する事。
2017/04/22(土) 15:37:34.80ID:S+KK7a41
■過去スレ
C#, C♯, C#相談室 Part89
http://peace.2ch.net/test/read.cgi/tech/1443271409/
C#, C♯, C#相談室 Part90
http://echo.2ch.net/test/read.cgi/tech/1455160063/
C#, C♯, C#相談室 Part91
http://echo.2ch.net/test/read.cgi/tech/1467142749/
C#, C♯, C#相談室 Part91 (実質Part92)
http://echo.2ch.net/test/read.cgi/tech/1467211515/
C#, C♯, C#相談室 Part92 (実質Part93)
http://echo.2ch.net/test/read.cgi/tech/1485589613/
2017/04/22(土) 15:38:14.10ID:S+KK7a41
■関連スレ
初心者の質問向けはこちら
ふらっと C#,C♯,C#(初心者用) Part127
http://echo.2ch.net/test/read.cgi/tech/1489498042/
2017/04/22(土) 15:39:36.10ID:MSxws+wQ
なんで重複スレ作ってんだよ!
削除依頼出してこい
2017/04/22(土) 15:56:58.26ID:c4VI05+R
削除依頼出して来い、カス
2017/04/22(土) 16:23:56.75ID:ybC/WNGz
スレ番間違えたクソスレ立てた分際でID変えて自演とな
2017/04/22(土) 16:28:12.63ID:c4VI05+R
自演みたいな暇なことをするのまお前くらいだよw
2017/04/22(土) 16:52:17.17ID:Pa0BQobe
基地だらけだな
あっちは間違えてなのかわざとなのかワッチョイに変わってるから無しスレ立てただけだろ
9デフォルトの名無しさん
垢版 |
2017/04/22(土) 16:56:31.71ID:hC7lZfMR
こっちだな
2017/04/22(土) 16:57:50.50ID:IUEn1/Ee
ワッチョイあったほうがいいよ
linqの宣伝で埋められるからwwww
11デフォルトの名無しさん
垢版 |
2017/04/22(土) 17:09:23.67ID:c4VI05+R
というか板全体をワッチョイにして欲しいね
2017/04/22(土) 19:04:50.12ID:DX/MVycW
前スレでよくわからなかったんだけど
EntityFrameworkはオワコンなの?
2017/04/22(土) 19:14:09.50ID:+Nrx+Arl
>>12
EFはオワコンどころか常に始まってるからジャパニーズドカタには手を出しづらい
2017/04/22(土) 19:53:16.48ID:M051jVFH
>>12
(能力がなくて)触れない人がいるだけだよ
2017/04/23(日) 00:14:20.33ID:SyuFNmNF
テンプレがいつまでもVisual Studio 2015なのは何だかなあ
次から2017にしてくれ
16デフォルトの名無しさん
垢版 |
2017/04/23(日) 22:40:39.66ID:xOr+Fgi0
戻り値のあるTask関数の作り方を教えてください
public Task<bool> Hoge() {
return true;
}
とするとエラーメッセージがでます
2017/04/23(日) 22:50:29.45ID:cTAeT6WQ
>>16
恐らく非同期メソッドと混同してるんだろうね
2017/04/23(日) 23:39:49.73ID:bXSQ3J9I
>>16
public Task<bool> Hoge() {
return new Task(
 () =>
 {
  return true;
 }
);
}
2017/04/24(月) 01:58:20.59ID:zwb7nwH/
フォームのRadioButtonのCheckedChangedイベントの順って、
外れた方→新たに選択された方であることを昔(.NET2.0)から保証されてるよね?

今こちらの環境(.NET3.5と.NET2.0の両方)で上記順であることは確認したのだけど、
コメントに「逆だからこうした」あり、逆順を期待するコードがあって???となってる。
Web漁ってみたが、MSDNには明記されてない。
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.radiobutton.checkedchanged(v=vs.110).aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-2
MSDNやStackOverflow含めたほとんどのサイトのサンプルコードは
someRadioButon.Checked==true を見てるからあってるはずだけど、
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.radiobutton(v=vs.110).aspx
http://stackoverflow.com/questions/11493845/radio-button-checked-changed-event-fires-twice
中には逆を書いているところもある。
http://yan-note.blogspot.jp/2008/12/radiobutton-checkedchanged.html

保証されてないって事はないよね?昔から変わったとも思えないのだけど。
(こちらの実装ミスであることを確認したい)
2017/04/24(月) 02:06:55.58ID:7scL/w5T
>>19
回答じゃなくて悪いけどそもそもそんな順番に依存するようなコードそのものが
問題だと思うね。

っていうか、そもそもRadioButtonはAutoCheck = falseで使うのが基本だと思ってる。
サンプルコード的な短いコード以外ではAutoCheckを有効にして使ったこと俺はないや
2017/04/24(月) 02:07:44.75ID:zwb7nwH/
ちなみにここにはfalse->trueの順(>>19の通り)と書いてあるが、
これって準仕様書の扱いになる?
(URLは長すぎて切りましたので1行に繋いでください)

https://books.google.co.jp/books?id=sygW0iEw2zkC&;pg=PA217&lpg=PA217&dq=.NET+
radiobutton+CheckedChange+event+order&source=bl&ots=A3ndItBpMH&sig=BHLCZLbBQIkAq_Gzq37viy_nGW8&hl=
ja&sa=X&ved=0ahUKEwjTx4zLhrvTAhVLabwKHaQ-AoMQ6AEIYzAH#v=onepage&q=.NET%20radiobutton%20CheckedChange%20event%20order&f=false
2017/04/24(月) 02:17:02.23ID:zwb7nwH/
>>20
いや普通はAutoCheckはtrueで使うだろ。規定値もそうだし。
順に依存しないコードにも出来るが、
これまで順が保証されていたつもりで書いているから
全RadioButtonのハンドラを確認しないといけないんだな。
(というかこのコメントだと逆順のところが大量にありそうな気がして怖い)

とりあえず確認したいのは、「順が保証されているか」「昔からか」だね。
ダメならダメで書き直すけど。
一般的に(他環境でも)RadioButtonのイベント順は保証されている(と俺は思っている)ので、
特に悪い使い方でもないとは思うのだが。
2017/04/24(月) 02:27:32.36ID:7scL/w5T
>>22
まあ議論するつもりも俺のやり方をごり押しするつもりもないけど、
本来ビューはあくまでモデルの状態を表示する表示器でしかないはずで、
AutoCheckのようにビューがビュー自身でどの項目がcheckされるかを決めるような機能は
ちょっと問題だと思うよ。
2017/04/24(月) 03:02:34.76ID:zwb7nwH/
>>23
いやそれは君の方がおかしいよ。

RadioButtonは「一つしか選択されない」というものだから。
というか、UIとしてはそういう使い方しかしてはいけない。
だからそれを自動的にやらせるプロパティがデフォでONになってる。
そして通常はイベント順が決まっているので、
サンプルコードでもCheckedを見ろ、ということになっている。
それを手動でやることも出来るけど、コードの無駄でしょ。
MVC原理主義的には認められないのかもしれないけど。
君はテキストボックスの入力文字も
xterm等のターミナルみたいにモデルと通信すべきだとか言うのかい?
それはいくら何でもやりすぎでしょ。
ラジオボタンのAutoCheckもそれだよ。

多分、AutoCheckを切る使い方の方が少ないと思うよ。
HTML(JavaScript)ではそもそも切れないし。(俺が知らないだけかもしれんが)
.NETは機能が多いけど、使いもしない機能が多いのも事実。
なおJavaも多分AutoCheckに該当する物はないと思うが、
いかんせんドキュメントが見にくくてよく分からん。
https://docs.oracle.com/javase/jp/6/api/javax/swing/JRadioButton.html

ただ、良い悪いはさておき、仕様として順を保証してないんだったら修正するしかない。
.NETの仕様書ってMSDNだよね?
書いてないって事は保証無しなのかな?
まあ知ってる人居たらお願いします。
25デフォルトの名無しさん
垢版 |
2017/04/24(月) 12:45:21.88ID:WhX9zIin
>>18
ありがとうございました
26デフォルトの名無しさん
垢版 |
2017/04/24(月) 13:30:02.16ID:JE5n6vCM
C#2008とIpython2.7を使用しているが、使い分けが不自然
GUI=C#,CUI=Ipython
としておりすが、恩恵を受けている感じがしません
どの様に使えば、もっとも、良いでしょうか?
2017/04/24(月) 17:26:40.36ID:VzMv01/A
>>19
保障ってどういう意味?
仕様書に明記されていない事は実装依存で保障されてないわけだが
いまだかつてそのような仕様が明記された資料はみたことないけど

そもそもイベントって
発行した順にイベントハンドラが実行される保障や
複数のイベントハンドラを一つのイベントに登録したときにイベントハンドラの
登録順に実行される保障なんてあったか?
2017/04/24(月) 23:01:32.26ID:aUzRCcRy
>こちらの環境(.NET3.5と.NET2.0の両方)で上記順であることは確認したのだけど

これはあかん
ダメなパターンや
論理的に物事を考えられない思考やで
2017/04/25(火) 00:46:29.16ID:WJVYNUba
>>27
デバッグビルドとリリースビルドでイベントの前後関係が違ってバグるとかたまにあるな。
2017/04/25(火) 06:57:14.61ID:I1FtjD3/
まあ痛い目に何度かあえばそのうち改心するでしょ
2017/04/25(火) 07:58:25.82ID:5weZPMgK
>>27-30
このスレも急にゆとり汚染で劣化しててびっくりだわ。
お前らってそういうところあるよね。
事実かどうかではなく、そう思うかどうかが全てだという。

>>27
そのレスには俺ですら知っているほどの明確な間違いを含んでいるけど、
詳細は言わないことにするよ。
俺はゆとりは死んで欲しいと思っているから。
2017/04/25(火) 08:10:58.01ID:DkSnRcKc
>>31
決まっていない事実は全て「偶然」
物事を演繹的に考えられない奴はネットワーク機器でも弄ってたほうが幸せになれるよ
煽りじゃなく向き不向きの問題
2017/04/25(火) 08:41:59.71ID:d/fTF244
>>31
ゆとりとかいつの時代だよ
2017/04/25(火) 08:47:06.56ID:urtDfpDE
仮に現環境で動いても仕様として明記されてないちょっとしたバージョンアップで狂うかもしれん内容に依存した実装なんてしたくない
2017/04/25(火) 09:37:49.02ID:NFildF04
>>31
ゴミは減らず口叩いてないで死んでろよ
魚の餌にでもなってろ
2017/04/25(火) 10:28:03.55ID:sJGMscvy
外野だけど、
RadioButton コントロールは、
同じグループ内の他のオプションボタンと同時にオンにすることはできません。
その上で、RadioButton.CheckedChanged イベントは、
Checked プロパティの値が変更された場合に発生します。

ただ、イベントハンドラ内でイベントハンドラが呼ばれる事を否定していないので、
例えば、RadioButton.CheckedChanged内で意図的にChecked プロパティをtrueに
変更したりすると、
RadioButton.CheckedChangedの処理中に別のRadioButton.CheckedChangedが呼び
出されます。

だから、false→trueのように見えるけど、
この点は注意しろよって事なんでしょう

とエスパ−
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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