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/08/01(火) 21:54:46.29ID:7d8zSu3L
排他的な状態変化に連動する状態変化が排他的じゃなかったら矛盾に決まってるわけだけど、
こういうロジカルは話は通じない人には全然通じないね...

たぶん数学苦手だったタイプの人だと思うけど
2017/08/01(火) 22:02:55.06ID:yKWQrIWU
ロジカルが全てならleaveとenterは完全に同時発生しないとおかしいわけで
先にleaveと言っている時点で既にロジカルから妥協しているだろ

多分数学が得意だと思いこんでいたタイプの人だね
2017/08/01(火) 22:13:48.41ID:yDQeZmLh
まだや
2017/08/01(火) 22:17:32.13ID:yDQeZmLh
途中で送ってしまった
が、それはどうでもいい

実際コードを書いて確認した
予想通りというか内容的には納得の内容の結果を得た

それになんでこんな仕組みになってるかも理解した
他に並んでいるイベントをよく見るとおやっと思ったのでそこをつついたらいい答えがでた
Enterは確実に後でなくてはいけない
理由がちゃんとある
てめえらで確認せえや
2017/08/01(火) 22:18:32.76ID:yDQeZmLh
>>647
実験の結果
同時に起こってはいけないという結論に至った
2017/08/01(火) 22:21:58.45ID:yDQeZmLh
そして
EnterやLeaveは過信してはならない
というか仕組みを理解しないで使ったらだめだなこれは
2017/08/01(火) 22:25:45.32ID:yKWQrIWU
>>651
シビアな場合はBeginInvoke噛まして、両方発生してから動かすのが吉だな
2017/08/01(火) 22:30:33.16ID:7d8zSu3L
>>647
よく考えてから人を批判した方がいいよ

仮に一時的にどのコントロールもフォーカスを持たない状態が出来ても
入力フォーカスの排他性と矛盾しないが、2つのコントロールが同時に
入力フォーカスを持ったら矛盾する
2017/08/01(火) 22:36:38.37ID:yDQeZmLh
君らも思い込みで話さないでテストしたらいい
しつこく何度もやってると思ってるのと結果が違うから
2017/08/01(火) 22:45:07.88ID:yDQeZmLh
英語圏の人間じゃないから感覚がわからなかった

leave left left

leaveであってleftじゃないってこった
2017/08/01(火) 23:04:17.70ID:ZyMYFMmz
>>653
それは君のオレオレ正義仕様でしかないだろ。
世の中にはそうでないものもあるってことさ。
有名なのはPHPの三項演算子が左結合とか。
http://y-uti.hatenablog.jp/entry/2013/03/10/101020

仕様ってのはそう決められていれば仕様であって、
効率的でない/直感的でない/矛盾しているとかは別の話。
とはいえ、これらの場合は糞仕様と呼ばれることになるが。
2017/08/02(水) 00:04:23.74ID:hty1cPip
だからオレオレとかそういう話じゃなくて、全体の仕様に矛盾があるかないかのっていうロジカルな問題なのw
好みが入り込む余地なんかどこにもないってのw

いってるそばからこれ>>646だね。
まさにバカの壁
2017/08/02(水) 00:32:50.52ID:hty1cPip
ボクシングでも何でもいいけど、排他的にしかタイトルホルダーになれないとしたら、
タイトルホルダーが誰もいないのは問題ないけど、同時に二人がタイトルホルダー
になるのはまずい。

だったら、「ダイトル返上」イベントの前に「タイトル獲得」イベントが発生する仕様は
破綻してるに決まってるじゃないの
2017/08/02(水) 00:37:07.47ID:FVLt41mC
>>658
破綻してはいないんだよ。
数学が得意なつもりだが実は馬鹿な人には分からないのだろうけど。
2017/08/02(水) 00:41:26.26ID:hty1cPip
まあバカの壁の向こう側の人に何言っても無駄だからこれ以上はどうぞお好きに。
自分の同僚にこういう人いなくてよかったw
2017/08/02(水) 00:47:00.95ID:hty1cPip
つーか、自分の学校時代の成績考えりゃ自分が数学脳の持ち主かどうかなんて
だいたい見当つくとおもうんだけどねw

どう考えてもロジカル思考が得意なタイプと思えんが、その自信はどっから来るのかねw
ネトウヨと同じ、抑圧された劣等感としての自己陶酔か
2017/08/02(水) 01:01:44.68ID:DEfit7Mb
2017/08/02(水) 01:29:41.48ID:FVLt41mC
>>661
むしろお前の自信の方が不思議だわ。
とはいえ罵倒しあうのも意味無いから、片をつける勇気があるのなら、具体的に、
・○○のケースでEnter->Leaveの時には『絶対に』実装できない
というのを見つけてみろ。

それが確かにどうにも実装できないのなら、Leave->Enterの順でなくてはならないことになる。
それを俺らの誰かが実装できた=解けたなら、君が馬鹿だという証明になる。
分かりやすいだろ。

俺はそういうのは無いと思っているから、
・君が何も言えなかったら俺の勝ち
・君が言った物を誰かが解けても俺らの勝ち
・君が言った物を誰も解けなかったら君の勝ち
となる。では出題よろしく。


>>654
ちなみにテストコードを書く元気があるのなら、
・フォーカスがある(Enter済)ControlをRemoveで親から剥がしてみな。
確認してないが、多分Leaveは発生しないと思う。
というかHTMLではそう。
だからガシガシ動的に書き換える場合は基本的にカウントするのは危険だったりする。(>>644)
この場合にLeaveが発生した方が楽なのかはよく分からん。
ただそれ以前にFormはHTMLとは違って
動的にControlを剥がしたりするように設計されてはいないから、
この辺をつつけば矛盾はボロボロ出るはず。
とは言っても、そういう使い方をするな、でしかないが。
664デフォルトの名無しさん
垢版 |
2017/08/02(水) 01:30:38.42ID:9QC/HzqE
プログラムって国語だろ必要なの
仕様読み書き
言語読み書き
2017/08/02(水) 02:27:05.38ID:i1VhoxA9
>>663
何か訳のわからないこと書いてるけど、

> ・○○のケースでEnter->Leaveの時には『絶対に』実装できない
> というのを見つけてみろ。

そういうケースがあるとか、そんな話誰もしてないでしょ。
ばっかじゃないの本当。

仕様の整合性がないと言っている。
言っちゃ悪いけど、こんな簡単な話が理解できないのは、たぶんこのスレで君ともう一人ぐらいだよ。
2017/08/02(水) 02:41:15.20ID:i1VhoxA9
なぜ重箱の隅をつつくような話のように見えても論理的な整合性が重要かって、
普通のプログラマは、他人の作ったフレームワークであってもきちんと論理的に
整合性のある仕様になってるはずだと期待してそういう前提でコードを書くからだ。

論理的な整合性がない、仕様バグのあるフレームワークであっても
必ずしもそれが原因で実現できない処理が存在するとは限らない。
問題はそれが直感的でないこと。
プログラマの期待に反する仕様がバグを湯初すること。
2017/08/02(水) 02:55:20.71ID:i1VhoxA9
まあ、さすがにこのレベルの話が理解できないのが多数派とは思えないので、
誰か何か言ってやってよw

どうしてLeaveよりEnterが先に発生するような仕様は仕様バグなのか。
これがそんなに難しい話かねえw
言っちゃ悪いけど、頭悪い奴の思考回路って分からん。
2017/08/02(水) 03:01:13.24ID:FVLt41mC
>>665
なんだ論点ずらしで逃げるのか。
ネトウヨを嫌っているのだからパヨクなんだろ?
まあパヨクが馬鹿で口だけなのはいつもだが。

俺は最初から.NETの仕様を問題にしている。
お前は「オレオレ仕様」と違うから勝手に「仕様バグ」だと喚いている。(>>638)
俺たちは「それは違う。バグではない」と言っている。(>>640,645)
理由は、それでも組める=仕様として成立する範囲だから。
お前は馬鹿だからそれが分からず、俺らが組める範囲でも無理だと思っているだけ。
だったら証明してみろ、と言ったら君は逃げた。典型的なパヨクだね。

>>666
論点は、「仕様バグかどうか」であって、「いい仕様かどうか」ではない。
お前はそれすら分からない馬鹿パヨクのようだが。

とはいえ君は本当に馬鹿だから、これでも通じないだろう。終わりでいいよ。
2017/08/02(水) 05:35:10.79ID:1rb6fE8N
夜中の3時にこんな長文投稿している方が
社会的に破綻した人間だと判断される可能性が高いから安心しとけ
2017/08/02(水) 05:39:02.58ID:3qnN0MvP
あガガイのガイ
2017/08/02(水) 06:34:20.03ID:A60ZNmc6
このスレに頭のおかしいのが複数住み着いているのはよくわかる
2017/08/02(水) 08:16:36.83ID:CjDj1Maa
一人二役でしょ
2017/08/02(水) 20:38:39.45ID:fngH3Ate
>>671
初心者スレにも同じ人が居着いてる
2017/08/02(水) 21:15:27.89ID:co6HfrMj
夏休みになると単発の低脳煽りばかりだな。
2017/08/02(水) 22:44:00.19ID:fngH3Ate
>>674=513,524
2017/08/02(水) 23:22:53.88ID:yCU00B7G
Enterイベントが発生した段階でフォーカスはまだ移動してない筈だし
Enterイベントが発生したからといってフォーカスを得る保障も無かったはずだけど

あとコントロール間のイベントの発生順序の保障も無かったと思ったがな
2017/08/02(水) 23:36:37.48ID:NxzTdQJw
>>676
だから試せと言ってるんだけど

思い込みはよくないそれと
上に出てたイベント発生順をよく見て理解できないところを埋めないと

おまえらに大ヒントだけどVのつくイベントを実装してから1テストしろ
そしたらleaveより先にenterが発生してはいけない理由がわかる
2017/08/02(水) 23:49:30.35ID:yCU00B7G
>>677
>思い込みはよくない

たしかに
たまたまテストした範囲でそうなったから保障されてるという
思い込みはよくないな
2017/08/02(水) 23:56:28.98ID:lkgPj6nz
お、そうだな。ちゃんとライブラリのソース読まないとな
2017/08/03(木) 00:02:17.81ID:htG5iQYE
ライブラリのソースを呼んでも、現在の実装がそうなっているというだけで
それが仕様として保障されてるかどうかとは別問題だけどな

まあ、現在の実装で確認できればほぼ問題ないケースがほとんどではあると思うが
2017/08/03(木) 00:06:05.76ID:c/ifKON2
保障以前にそれが何を意図してるのかを理解できなければ意味がない

leaveより先にenterが発生してはいけない
682デフォルトの名無しさん
垢版 |
2017/08/03(木) 20:33:39.14ID:4LsbjqBs
ID:fngH3Ate 毎年恒例の釣りに馬鹿が釣られてるw
2017/08/03(木) 20:37:34.70ID:JgW7vvvx
釣りバカ日記
2017/08/04(金) 00:00:37.68ID:kAe2l7FV
>>668
牛さん角さん懲らしめてやりなさい
2017/08/04(金) 00:13:41.84ID:XUqh6zlM
シススレ住民きてんね
686デフォルトの名無しさん
垢版 |
2017/08/06(日) 00:47:39.95ID:SnOBl72n
URIのパラメータって
2017/08/08(火) 08:49:43.39ID:/0ePqhWL
なんでいつもトンチンカンな議論が永遠に続くのかね。

そもそもMSDNに書かれてるイベントの順序は
ある一つのコントロールのフォーカスが当たってから
(もしくはアクティブになってから)
抜けるまでのイベント順が書かれてるだけで
コントロール間のイベントの推移が
書かれてるわけじゃ無いよ。
なんでleaveから始まらなきゃあかんのよ。

それが読み取れないのがそもそも
プログラマとしての適性が云々カンヌン…

テキストボックスのenterなどでボタンをvisible(テキストボックスのリサイズ?)、
ボタンのpressとleaveなどでボタンのhiddenとかテキストボックスのリサイズとしないから
コントロール間のイベント順なんて言う実装依存や環境依存に頼ることになって、
いらんバグの元をこしらえることになる。
2017/08/08(火) 10:07:43.25ID:nFsV2IUX
>>687
むしろいまごろになってトンチンカンなこと言ってるのは君だと思うよw
2017/08/08(火) 10:47:16.15ID:7cEhVOng
MSDNに順序書かれてたか?どこにある?
2017/08/08(火) 11:17:14.57ID:/0ePqhWL
>>689
日本語読めないのかな?

そもそもの質問が
>>627
> https://msdn.microsoft.com/ja-jp/library/86faxx0d(v=vs.90).aspx
『Windows フォームのイベントの順序』
についてだったんだが。

脱線しすぎてなんの議論してるかも忘れちゃったのかな?
2017/08/08(火) 11:17:49.60ID:N8eUuNcg
せいぜい>>627からの話なんだから読めよw
2017/08/08(火) 11:26:27.88ID:7cEhVOng
>>690
それかー
ここ1週間で読んだの最新3レスぐらいだったからなw
2017/08/08(火) 11:54:42.43ID:/0ePqhWL
>>627が1週間前で60以上も駄レスが続いてるのに
3つって。数も数えられないのかな?
2017/08/08(火) 12:00:16.14ID:7cEhVOng
>>686-689ぐらいしか見てないってことだよ。議論()になんて混じる気もない
2017/08/08(火) 12:14:14.78ID:oWXmYmGG
フォームアプリケーション作ってるとついついフォームのクラスに全部書き込んでしまうんですが、クラス分けの基準というか、指針はありますか?
2017/08/08(火) 12:55:26.31ID:nFsV2IUX
>>695
難しく考えない。
UIがWPFになってもUWPになってもそっくりそのまま使いまわせたらうれしいよね?

逆に言うと、そうなってないなら考え方が間違ってる
2017/08/08(火) 13:24:39.29ID:cZXE4hdD
それは違うんじゃないか?
普通のwinformsのアプリをMVVMにも使いまわせるように
なっているのはある意味おかしい

M層だけ使いまわせることになってるけど
実際はモデルの仕組みをMVVMよりに設計したりしないといけない
つまりMVVM知ってないとwindowsformでアプリ作れないって変なことになる

そういう目的なら最初からWPFなりUWPなりで作れと思う
2017/08/08(火) 13:28:24.18ID:oWXmYmGG
つ、つまりどうゆうことだってばよ
2017/08/08(火) 13:37:56.15ID:cZXE4hdD
質問者のレベルがわからないから答えられません
というのはやめといて
基本的に自分で糞コードいっぱい書くしかない

わからないときは人のソース見たりしてみたりもいい
その中でもクソだなって思ったり自分でも使いたいところがあると思う

そういった成長の後でリファクタリングに進めばいい
同じコードが何度も出てきたらメソッド化してみたり(VSにメソッド抽出機能があるので楽)
2017/08/08(火) 13:38:50.16ID:nFsV2IUX
>>697
一般的なMVVMが本当にそうなってるなら(なってないと思うけど)。それはMVVMが間違ってる
2017/08/08(火) 13:44:42.24ID:cZXE4hdD
>>700
ModelにINotifyPropertyChangedを実装してるか?
2017/08/08(火) 14:34:14.93ID:nFsV2IUX
>>701
意味がわからないけど...
2017/08/10(木) 09:00:34.80ID:EsQl4Iyt
今時ビジネスロジックなんか全部バックエンドにあるんだからフロントが何だろうがWeb API経由で完全疎結合だから問題にならないよ
あえて全部クライアントに置くような前時代的な設計を採用する場合、
それはアプリがクライアント端末のGUIやハードウェアに密接に依存していることが多いので
差し替えなんか考慮して作るのはそもそもナンセンスだ
2017/08/10(木) 09:04:16.83ID:CcnWoQiq
www
2017/08/16(水) 23:47:55.42ID:ey68s8sH
AutoMapperのInitializeがめんどくさいんだけど
初期化なしで使えるマッパーライブラリなんかないかい?
2017/08/16(水) 23:55:58.50ID:6BrFx9Fk
https://github.com/AutoMapper/AutoMapper/blob/master/README.md
AutoMapper知らなかったけどこのページのInitializeのことでいいの?
この程度ならリフレクションでやれば一発だろ
ジェネリックの代わりにTypeオブジェクトを引数に渡せるオーバーロードがあるのかは知らないけど、
それが無くてもMethodInfo.MakeGenericMethodで型引数を動的に指定できるよ
2017/08/19(土) 16:01:47.79ID:/HXXvel3
最近C#の勉強を始めました
プログラミングも初めてです
return ◯◯
で結果を返すという事について教えてください

画像のstring resultString="";の部分のresultStringという変数にresultString="グー";という文の値を代入するまでは分かるのですが、1番最後の行の結果を返すというreturn resultStringはどこに値を返すのでしょうか?

1番上に記述されているprivete string getComputerHand();というメソッド?にグーやチョキなどの値を返しているのでしょうか?

初歩的な質問ですいません
http://i.imgur.com/CBE1y8L.jpg
2017/08/19(土) 16:07:36.81ID:QD9DssYz
>>707
その画像の部分が結果を返すための一つのメソッド
他の部分で例えば
string str=getComputerHand(); //この場合はstrに結果の文字列が入る
みたいに書いてそのメソッドを呼び出す。
2017/08/19(土) 16:21:16.67ID:/HXXvel3
>>708
レスありがとうございます
この画像でいうとresultString=◯◯の結果の値が
getComputerHand();
というメソッドに返されていて

意味としては
getComputerHand();=グーorチョキorパー
というような解釈でよいでしょうか…?


また重ねて質問なのですが
string resultString=" " ;
の文で" "を使うのは何故でしょうか?
格納先がstring resultStringとstring型で指定されているので要らないのかと思っていました
2017/08/19(土) 16:44:58.20ID:QD9DssYz
>>709
メソッドに返すんじゃなくて「メソッドが返す値」
>getComputerHand();=グーorチョキorパー
だいたいあってる
>string resultString=" " ;
string resultString="" ; //半角スペースも何も入れない初期化
値が無い(未参照)の変数は返せないので必ず初期化が必要。これはコンパイラとかの制限
その程度だとここで聞くより自分で動かしてみたほうがダントツに早く身につく
2017/08/19(土) 18:18:58.14ID:A77+GeKR
>>707
C#の基本的なことがわかってないみたいだから本屋行って「独習C#」でも買ってこい
2017/08/19(土) 18:33:39.51ID:Czauz6JF
勝ってこい、だってさw
また「命令バカ」湧いてるのな
2017/08/19(土) 18:49:18.16ID:IbMc1Qsg
>>707
これは君のノートか?
最近の学生は手書きではなくワープロでノートを取るのか?
2017/08/19(土) 18:50:41.54ID:LdJ4mhMU
どう見ても教本やろ
2017/08/19(土) 18:56:58.49ID:jUKXp1iO
独習はいいぞ
2017/08/19(土) 22:01:48.42ID:3nnv/bQ1
webBrowser1_DocumentCompleted はブラウザが完全に表示される直前で呼び出される
と思いますが、完全にブラウザが表示した時を知るにはどうしたら良いですか?
2017/08/21(月) 18:30:42.33ID:ZisHBz7l
戻り値ってのはアキュームレータに設定される値と思えば良い。
2017/08/21(月) 19:51:35.44ID:KmAQXiSu
アキュムレーターっていつの時代よww
2017/08/21(月) 21:11:15.97ID:qdRqCzb3
今だってあるだろう
2017/08/21(月) 21:19:22.50ID:U+o1ClZt
yes and noだね
厳密に言えばあるが、恐らく>>717が想定しているような意味での
特権的なアキュムレーターは無くして直交性の高いデザインにしよう、
っていうのがモダンな(っていっても40年ぐらい前からだと思うけどw)考え方じゃないの?

知らんけど
2017/08/21(月) 21:21:19.34ID:JHCD9zk7
C#と何の関係があるの
2017/08/21(月) 22:22:34.16ID:eevSPQj8
アキュムレータって、x86のレジスタのEAXレジスタぐらいしか思いつかない。
2017/08/21(月) 23:01:13.02ID:edNFVMcB
アキュムレータレジスタあるCPUなんていっぱいあるだろ。
724デフォルトの名無しさん
垢版 |
2017/08/22(火) 18:32:27.69ID:hdluVQxJ
.Net Coreは良くなりましたか?
2017/08/22(火) 19:43:21.89ID:+pIOmFUn
うん
2017/08/24(木) 00:18:50.06ID:z2dH8u8+
C#erはタスク管理どうやってんの?
gradleみたいなツールが欲しいんだがdotnetランタイムだけで動作する類似品ツールはないのか
2017/08/24(木) 06:39:12.62ID:CEXjJv+U
>>726
タスク管理というと曖昧だな…ビルドツールのことを言ってる?
dotnetランタイムって言い方も普通しないけど、Cakeはどう?
https://www.cakebuild.net/
2017/08/24(木) 07:12:48.15ID:yRjhoaXK
遠慮せずにgradle使えよw
2017/08/24(木) 18:07:20.03ID:/9zT0lsJ
>>727
すごく良いですね
こういうのを探してました

>>728
JREに依存したくなかったので…
2017/08/24(木) 18:34:51.61ID:RXm0c/8O
>>729
cakeの採用例はIdentityServer、omnisharp-roslyn、NUnitと有名どころでも増えてきてるし、覚えといて損はないよ
2017/08/24(木) 19:31:41.54ID:nG5FC+BG
>>728
調べて損した
2017/09/02(土) 11:54:03.28ID:O1j4weut
注文明細の税込価格を計算して注文ヘッダごとに合計する
合計値が注文ヘッダに設定されている注文上限価格を超えている注文ヘッダを抽出する
抽出した注文ヘッダを注文日順に順位を付ける
順位が100位から200位までの注文ヘッダを抽出する
抽出した注文ヘッダに注文明細を内部結合する

EFでこういうクエリ書ける?
速度チューニングできる?
2017/09/02(土) 12:05:31.90ID:Tg9xTtAy
できる
2017/09/02(土) 12:20:52.90ID:O1j4weut
>>733
あなたならどう書きますか?
2017/09/02(土) 12:33:45.54ID:bF0cAHIp
それがおまえの仕事だろ。
2017/09/02(土) 14:05:57.18ID:PArSsv+v
>>734
733を雇えば全て解決
2017/09/02(土) 14:42:14.97ID:O1j4weut
なるほどつまりできないんですね
その程度でしたか
2017/09/02(土) 14:47:48.25ID:bF0cAHIp
その程度なんです。2chに仕事を丸投げしようとしたあなたがアホだったんです。
もしあなたがSIerならMSのサポートにチューニングに関する質問はするべきです。
2017/09/02(土) 14:59:00.54ID:O1j4weut
ではこのスレは終わりですね
簡単な質問にも答えられないようでは存在する必要ないですよ
2017/09/02(土) 15:10:27.17ID:bF0cAHIp
仕事ができないキミは会社では終わりかもしれないけどね。
2017/09/02(土) 15:20:05.79ID:O1j4weut
いえいえ
あなたほどではありませんよ
あなたの終わってる感はまさに別格です
2017/09/02(土) 15:48:07.94ID:u30btijY
なんだまたキチガイか
2017/09/02(土) 16:17:03.28ID:bF0cAHIp
馬鹿にしたり煽ったら教えてくれるだろうというみっともない期待は無駄だろうな。

仕事のことで、一人でチューニングもできないスキルレベルなら素直にMSに聞きたまえ。

これが相談室でのマジメな回答だ。チューニングは簡単ではない。経験が必要だ。
なのに経験しようとせず丸投げするおまえは開発に向いてない。別格のアホ。
2017/09/02(土) 16:26:58.13ID:Fj2dIxIY
土曜に休日出勤してまで仕事やってんだ
あんまイジメないでスルーしてやれ
2017/09/02(土) 16:31:49.27ID:kzFfMUaR
>>741
休日出勤か
しんどいな
お大事に
2017/09/02(土) 17:05:15.13ID:ddWhtgi2
仕事の内容を2chで質問すること自体正気だとは思えない
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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