[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/31 20:30 / Filesize : 250 KB / Number-of Response : 1034
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part94



1 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 15:36:53.26 ID:S+KK7a41.net]
■Visual Studio 2015 Community & Express (無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

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

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

■次スレは>>970が建てる事
建てられない場合は他を指定する事。

2 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 15:37:34.80 ID:S+KK7a41.net]
■過去スレ
C#, C♯, C#相談室 Part89
peace.2ch.net/test/read.cgi/tech/1443271409/
C#, C♯, C#相談室 Part90
echo.2ch.net/test/read.cgi/tech/1455160063/
C#, C♯, C#相談室 Part91
echo.2ch.net/test/read.cgi/tech/1467142749/
C#, C♯, C#相談室 Part91 (実質Part92)
echo.2ch.net/test/read.cgi/tech/1467211515/
C#, C♯, C#相談室 Part92 (実質Part93)
echo.2ch.net/test/read.cgi/tech/1485589613/

3 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 15:38:14.10 ID:S+KK7a41.net]
■関連スレ
初心者の質問向けはこちら
ふらっと C#,C♯,C#(初心者用) Part127
echo.2ch.net/test/read.cgi/tech/1489498042/

4 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 15:39:36.10 ID:MSxws+wQ.net]
なんで重複スレ作ってんだよ!
削除依頼出してこい

5 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 15:56:58.26 ID:c4VI05+R.net]
削除依頼出して来い、カス

6 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 16:23:56.75 ID:ybC/WNGz.net]
スレ番間違えたクソスレ立てた分際でID変えて自演とな

7 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 16:28:12.63 ID:c4VI05+R.net]
自演みたいな暇なことをするのまお前くらいだよw

8 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 16:52:17.17 ID:Pa0BQobe.net]
基地だらけだな
あっちは間違えてなのかわざとなのかワッチョイに変わってるから無しスレ立てただけだろ

9 名前:デフォルトの名無しさん [2017/04/22(土) 16:56:31.71 ID:hC7lZfMR.net]
こっちだな

10 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 16:5 ]
[ここ壊れてます]



11 名前:7:50.50 ID:IUEn1/Ee.net mailto: ワッチョイあったほうがいいよ
linqの宣伝で埋められるからwwww
[]
[ここ壊れてます]

12 名前:デフォルトの名無しさん [2017/04/22(土) 17:09:23.67 ID:c4VI05+R.net]
というか板全体をワッチョイにして欲しいね

13 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 19:04:50.12 ID:DX/MVycW.net]
前スレでよくわからなかったんだけど
EntityFrameworkはオワコンなの?

14 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 19:14:09.50 ID:+Nrx+Arl.net]
>>12
EFはオワコンどころか常に始まってるからジャパニーズドカタには手を出しづらい

15 名前:デフォルトの名無しさん mailto:sage [2017/04/22(土) 19:53:16.48 ID:M051jVFH.net]
>>12
(能力がなくて)触れない人がいるだけだよ

16 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 00:14:20.33 ID:SyuFNmNF.net]
テンプレがいつまでもVisual Studio 2015なのは何だかなあ
次から2017にしてくれ

17 名前:デフォルトの名無しさん [2017/04/23(日) 22:40:39.66 ID:xOr+Fgi0.net]
戻り値のあるTask関数の作り方を教えてください
public Task<bool> Hoge() {
return true;
}
とするとエラーメッセージがでます

18 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 22:50:29.45 ID:cTAeT6WQ.net]
>>16
恐らく非同期メソッドと混同してるんだろうね

19 名前:デフォルトの名無しさん mailto:sage [2017/04/23(日) 23:39:49.73 ID:bXSQ3J9I.net]
>>16
public Task<bool> Hoge() {
return new Task(
 () =>
 {
  return true;
 }
);
}

20 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 01:58:20.59 ID:zwb7nwH/.net]
フォームの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
stackoverflow.com/questions/11493845/radio-button-checked-changed-event-fires-twice
中には逆を書いているところもある。
yan-note.blogspot.jp/2008/12/radiobutton-checkedchanged.html

保証されてないって事はないよね?昔から変わったとも思えないのだけど。
(こちらの実装ミスであることを確認したい)



21 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 02:06:55.58 ID:7scL/w5T.net]
>>19
回答じゃなくて悪いけどそもそもそんな順番に依存するようなコードそのものが
問題だと思うね。

っていうか、そもそもRadioButtonはAutoCheck = falseで使うのが基本だと思ってる。
サンプルコード的な短いコード以外ではAutoCheckを有効にして使ったこと俺はないや

22 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 02:07:44.75 ID:zwb7nwH/.net]
ちなみにここには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

23 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 02:17:02.23 ID:zwb7nwH/.net]
>>20
いや普通はAutoCheckはtrueで使うだろ。規定値もそうだし。
順に依存しないコードにも出来るが、
これまで順が保証されていたつもりで書いているから
全RadioButtonのハンドラを確認しないといけないんだな。
(というかこのコメントだと逆順のところが大量にありそうな気がして怖い)

とりあえず確認したいのは、「順が保証されているか」「昔からか」だね。
ダメならダメで書き直すけど。
一般的に(他環境でも)RadioButtonのイベント順は保証されている(と俺は思っている)ので、
特に悪い使い方でもないとは思うのだが。

24 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 02:27:32.36 ID:7scL/w5T.net]
>>22
まあ議論するつもりも俺のやり方をごり押しするつもりもないけど、
本来ビューはあくまでモデルの状態を表示する表示器でしかないはずで、
AutoCheckのようにビューがビュー自身でどの項目がcheckされるかを決めるような機能は
ちょっと問題だと思うよ。

25 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 03:02:34.76 ID:zwb7nwH/.net]
>>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だよね?
書いてないって事は保証無しなのかな?
まあ知ってる人居たらお願いします。

26 名前:デフォルトの名無しさん [2017/04/24(月) 12:45:21.88 ID:WhX9zIin.net]
>>18
ありがとうございました

27 名前:デフォルトの名無しさん [2017/04/24(月) 13:30:02.16 ID:JE5n6vCM.net]
C#2008

28 名前:ニIpython2.7を使用しているが、使い分けが不自然
GUI=C#,CUI=Ipython
としておりすが、恩恵を受けている感じがしません
どの様に使えば、もっとも、良いでしょうか?
[]
[ここ壊れてます]

29 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 17:26:40.36 ID:VzMv01/A.net]
>>19
保障ってどういう意味?
仕様書に明記されていない事は実装依存で保障されてないわけだが
いまだかつてそのような仕様が明記された資料はみたことないけど

そもそもイベントって
発行した順にイベントハンドラが実行される保障や
複数のイベントハンドラを一つのイベントに登録したときにイベントハンドラの
登録順に実行される保障なんてあったか?

30 名前:デフォルトの名無しさん mailto:sage [2017/04/24(月) 23:01:32.26 ID:aUzRCcRy.net]
>こちらの環境(.NET3.5と.NET2.0の両方)で上記順であることは確認したのだけど

これはあかん
ダメなパターンや
論理的に物事を考えられない思考やで



31 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 00:46:29.16 ID:WJVYNUba.net]
>>27
デバッグビルドとリリースビルドでイベントの前後関係が違ってバグるとかたまにあるな。

32 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 06:57:14.61 ID:I1FtjD3/.net]
まあ痛い目に何度かあえばそのうち改心するでしょ

33 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 07:58:25.82 ID:5weZPMgK.net]
>>27-30
このスレも急にゆとり汚染で劣化しててびっくりだわ。
お前らってそういうところあるよね。
事実かどうかではなく、そう思うかどうかが全てだという。

>>27
そのレスには俺ですら知っているほどの明確な間違いを含んでいるけど、
詳細は言わないことにするよ。
俺はゆとりは死んで欲しいと思っているから。

34 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 08:10:58.01 ID:DkSnRcKc.net]
>>31
決まっていない事実は全て「偶然」
物事を演繹的に考えられない奴はネットワーク機器でも弄ってたほうが幸せになれるよ
煽りじゃなく向き不向きの問題

35 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 08:41:59.71 ID:d/fTF244.net]
>>31
ゆとりとかいつの時代だよ

36 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 08:47:06.56 ID:urtDfpDE.net]
仮に現環境で動いても仕様として明記されてないちょっとしたバージョンアップで狂うかもしれん内容に依存した実装なんてしたくない

37 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 09:37:49.02 ID:NFildF04.net]
>>31
ゴミは減らず口叩いてないで死んでろよ
魚の餌にでもなってろ

38 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 10:28:03.55 ID:sJGMscvy.net]
外野だけど、
RadioButton コントロールは、
同じグループ内の他のオプションボタンと同時にオンにすることはできません。
その上で、RadioButton.CheckedChanged イベントは、
Checked プロパティの値が変更された場合に発生します。

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

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

とエスパ−

39 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 10:32:24.88 ID:XjlU4ojX.net]
JSON文字列のDeserializeで時々エラーが出ます。
原因は、JSON文字列の変換後にList<string>になる事を想定しているのですが、
たまに要素が一個だけ持つJSONが来るのでそれはListに出来ないからのようです。
場合を分けるしかないですか?

40 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 11:31:33.17 ID:DZfkzF9H.net]
文字列想定してるのに文字が来た。
みたいな事?
じゃあ、文字が来た



41 名前:辷齦カ字の文字列にすればおk。
場合分けしかないですか?って、それで解決するのに何悩んでるの。
[]
[ここ壊れてます]

42 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 12:17:43.78 ID:Jr/kyMK0.net]
そのJSON出力してる奴を脅してお誂え向きな仕様にしてもらえ

43 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 13:03:26.63 ID:XjlU4ojX.net]
>>39
デシリアライザーが気を利かせて要素一個のList<string>に変換してくれれば良いのですが。誰か作ってくれませんか?

44 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 13:04:55.01 ID:r9UOxgu2.net]
自分で書けずにコピペで作ってんのか

45 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 13:18:46.90 ID:DZfkzF9H.net]
JSON使った事ないから知らんが、要素一個(文字列ではなく文字)だったら.toString()ってすりゃ済む話かと思ったんだが、違うのん?

46 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 14:38:56.72 ID:5peHc28u.net]
>要素が一個だけ持つJSONが来るのでそれはListに出来ないからのようです。

ここが曖昧、そして重要
そもそもデシリアライザは何を使ってるん?

47 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 16:14:25.09 ID:Z3ZAA/Q1.net]
window.client.mouse.pointにアクセスしたい変数があり、その型が
struct Point {int x; int y;} // publicは省略
のとき
c++であれば
Point &p = window.client.mouse.point;
で参照を持ってきてpに代入をするとwindow.client.mouse.pointの値も変わるように出来ますが、c#で同じようなことをするにはどうしたら良いのでしょうか?

48 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 17:01:59.12 ID:3d41+u/C.net]
>>44
できまふぇん

49 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 17:06:47.28 ID:gy+i7xO9.net]
>>44
変数はunsafe指定でポインタとしてしか宣言出来ない。
関数の引数ならRef付ければ参照得られる。

50 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 17:07:13.97 ID:5peHc28u.net]
できません
C#は、関数型言語になりたがっているので、
今後もエイリアスに相当する機能は実装されないでしょう



51 名前:44 mailto:sage [2017/04/25(火) 20:40:44.01 ID:3BEHaskK.net]
ありがとうございます
unsafeでやることにします

52 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 21:29:27.89 ID:swVfUf+h.net]
C#7.0で実装されたよ

53 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 22:27:15.84 ID:WCmf7fbx.net]
ふつうに
ref Point p = ref window.client.mouse.point;

54 名前:デフォルトの名無しさん mailto:sage [2017/04/25(火) 23:50:24.24 ID:5weZPMgK.net]
>>36
色々間違ってるぞとだけ言っておく。

55 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 01:46:46.08 ID:gXPydJZJ.net]
>>37
そりゃJSON送ってくる奴がバグってるだろ
その要素は文字配列だって定義してるなら、
JSON配列の中身が
1個なら hoge : ["fuga"]
2個なら hoge : ["fuga","fuga"]
という形になるはず。

1個の時 hoge : "fuga"
で来るならそれは不具合ってやつだ

56 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 05:49:58.44 ID:uOwZ+L6x.net]
>>51
お、おう

57 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 09:20:07.34 ID:OuCtoXhL.net]
イントラネット上のTCP/IP通信に関する質問なんですが
ネットワーク上に「A,B,C」の3つのPCがあるとして、例えば
「A→B」「B→C」「C→A」「A→B」のようにデータのやり取りをしたいといった場合
(同じデータを渡すのではなく、BはAからの受信があったらある処理を実行させ
その結果をCに渡し、Aに処理内容を返す。CはBから渡された結果で別の処理を実行し
処理内容/完了をAに通知する。Cからの完了通知を受けたAはまたBに処理の実行通知を出すといったような)
それぞれのPCのアプリケーションに実装するのは、どういった感じになるでしょうか。
今までにこういったことをしたことがなく色々調べてはみましたが
この場合はサーバー?クライアント?となったりでいまいちピン

58 名前:とこず理解がなかなか進みません。。
何か解かりやすいアドバイスや今時のやりかたを教えて頂けないでしょうか
ちょっと何言ってるかわからなかったらすみません
[]
[ここ壊れてます]

59 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 10:19:19.71 ID:LAzkzAvR.net]
>>54
サーバーを1人決めて、仕様を満たすように作るだけ

60 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 10:43:47.34 ID:9smF/Lqp.net]
>>54
同期しようとするとカオスになるのでメッセージキューを使うのがいいと思う
AMQPとか



61 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 10:47:57.13 ID:LAzkzAvR.net]
>>56
サーバーを1人確定すれば並列になりそうにない仕様なので
キューはいらんような気がする

62 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 12:42:38.93 ID:vx1v4EP3.net]
>>52
そんなことはわかっててそうは言っても送信側には手を入れられないとかの話だろ
エスパーしろとまでは言わんけどちょっとは察しろよ

63 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 12:49:09.95 ID:vx1v4EP3.net]
>>54
そのままプログラム化するだけだと思うが
問題は最初のきっかけはどうするかとか途中でエラーになった時にどう回復するかだと思う
そういう意味で >>55 のようにサーバー決めてそいつが管理するように作った方がトラブルになりにくいしトラブっても調査や復旧が簡単

>>56 はメッセージキューって言いたいだけだろ

64 名前:デフォルトの名無しさん [2017/04/26(水) 19:45:07.41 ID:RLi7Pcio.net]
>>54です
レスくださった方々ありがとうございます
頂いたアドバイスでもう一度考えてみたいと思います
ちなみにイントラネット上であれば開いたソケットはアプリを閉じない限りクローズする必要はないでしょうか
あとは仕様的に同期式でいけそうな場合でもポーリングなどはせずに非同期のイベント通知などで設計するのが普通でしょうか

65 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 21:23:02.37 ID:GxL6YYLm.net]
>>60
とりあえずtcpのサンプルでも貼り付けて実行してみなよ

66 名前:デフォルトの名無しさん mailto:sage [2017/04/26(水) 21:36:27.67 ID:mlRIWo89.net]
>>60
> ちなみにイントラネット上であれば開いたソケットはアプリを閉じない限りクローズする必要はないでしょうか
当然だけどリッスンポートは待ち受けで開いたまま
コネクトする側は必要なくなったら閉じるのが普通

67 名前:デフォルトの名無しさん mailto:sage [2017/04/27(木) 00:21:44.79 ID:GJNrvvrA.net]
オブザーバー、発行・購読
中央管制塔ありのメディエイター
メッセージキュー

68 名前:デフォルトの名無しさん [2017/04/27(木) 07:42:43.29 ID:fVk5qOLv.net]
>>61>>62
ありがとうございます
もう少しサンプルを調べて勉強してみます

69 名前:デフォルトの名無しさん [2017/05/06(土) 00:24:40.77 ID:LiC8gZ+P.net]
こっちか

70 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 20:59:26.88 ID:Ug4uYIda.net]
C#って言語とランタイムの性能はいいけどエコシステムが貧弱だな



71 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 21:02:34.01 ID:rHqwwCfA.net]
最近はNuGetもかなり充実したけどJavaにはさすがに到底敵わない

72 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 21:28:20.78 ID:Lj2qZJuK.net]
>>67
なんでNuGetとJava比べてんの?

73 名前:デフォルトの名無しさん mailto:sage [2017/05/17(水) 21:49:09.74 ID:OvRO5BGY.net]
>>67
これは恥ずかしい

74 名前:67 mailto:sage [2017/05/17(水) 23:19:09.78 ID:SKu/yZ4u.net]
なんで叩かれてるのか知らないけど、Mavenリポジトリと言えば満足?

75 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 00:04:10.18 ID:JYcaMM6T.net]
web系の自動化ツール充実度に嫉妬

76 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 03:52:39.26 ID:nv0hNXKv.net]
>>70
具体的に

77 名前:デフォルトの名無しさん mailto:sage [2017/05/18(木) 06:54:17.24 ID:Zif2rhHO.net]
>>71
Web系はやっつけだろうが早くリリースするのが至上命題だからテストを自動化しないとカオスになる

78 名前:デフォルトの名無しさん mailto:sage [2017/05/19(金) 23:40:22.50 ID:K2XF16mV.net]
クラスのメンバー

79 名前:フ型を動的に変更するなどは可能ですか?
例えばMyClassのメンバーに
public string name { get; set; }
が有るとして、それを一時的に
public List<string> name { get; set; }
に変えるなど可能ですか?
[]
[ここ壊れてます]

80 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:19:20.01 ID:/WJez+wG.net]
>>74
できない
何のためにそんなことをしたいのか



81 名前:デフォルトの名無しさん [2017/05/20(土) 00:28:41.92 ID:lbI4YU5N.net]
public string|List<string> name { get; set; }
じゃ駄目?

82 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 00:44:05.60 ID:I6OViHCS.net]
>>74
そのメンバーに色々な型のデータを突っ込みたいなら dynamic 型を調べるがよろし

83 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 01:21:14.87 ID:aMCzC0+r.net]
>>76
ありがとうございました。うまく行きました。
こんな手法があるんですね。

84 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 02:50:37.33 ID:/vBlyS11.net]
え、なにそれは

85 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 03:36:45.84 ID:XoWVmAv8.net]
>>76
このテクニックなんか名前ついてるの?

86 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 04:31:41.03 ID:DT+L3BmX.net]
アンカーの付け間違い

87 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 06:41:31.55 ID:hBo0eJTZ.net]
コンパイル通らねーよw意味不明

88 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 10:23:12.61 ID:wDlYVPvY.net]
素直にgenerics使え

89 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:05:10.16 ID:NUOkmiRN.net]
nameとnamesの区別がついてないクソPG

90 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:05:32.94 ID:lbI4YU5N.net]
あっTypeScriptと勘違いしてた
C#じゃ出来なかったわ
すまん



91 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 11:08:01.58 ID:NUOkmiRN.net]
いつどこからアクセスするかわからないプロパティの型を可変にする意味は何?

実際バグ出したいだけだろ?

92 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:26:52.90 ID:pKHKYg56.net]
静的に型付けされてるメンバーを動的に変更することは出来ないに決まってるねw
逆に出来たら困る
なんか静的に型付けされているってことの意味が分からない人が時々いるよね

型Bと型Cの両方を受け入れるプロパティが欲しいならプロパティーの型を共通のベースクラスAにして、
プロパティの値はプログラマの責任で適切にキャストして使うしかない

あとはBとCの間で相互に暗黙変換できるようにするとか

93 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 12:28:59.33 ID:Lw3rlvDI.net]
初心者は制約があるより自由にかけるほうが良いと思う時期があるものさ
問題があった時にどこからでもさわれたほうが対処しやすいからフィールドは全部publicにしたほうがいいとかね

94 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 17:55:46.01 ID:lhYW/664.net]
ふらっとでやろう

95 名前:デフォルトの名無しさん [2017/05/20(土) 22:16:05.31 ID:tNlWtPh8.net]
class A
{
public int i;
public virtual void storeNumber(int arg){ i = arg; }
}
class B : A
{
public new int i;
public override void storeNumber(int arg) {
base.storeNumber(arg);
i = arg; }
}
A typeA = new B();
typeA.storeNumber(1);
System.Console.WriteLine(typeA.i); //1
B typeB = (B)typeA;
System.Console.WriteLine(typeB.i); //1
typeB.storeNumber(2);
System.Console.WriteLine(typeA.i); //2
System.Console.WriteLine(typeB.i); //2
new キーワードのメンバは変数の型で参照先が決まると書いてあったんですが
A型の変数から呼び出しても、オーバーライドしたクラスBのメソッドから代入すれば
new が付いてるint i でも値を代入できるということでいいんでしょうか?

96 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 22:22:56.23 ID:spqPzklw.net]
いまいち言いたいことは分からんがそうだよ

97 名前:デフォルトの名無しさん [2017/05/20(土) 22:49:49.46 ID:tNlWtPh8.net]
>>91
ありがとうございます。オーバーライドとbaseのことを調べてコード書いてたら
これでひっかかってたので助かりました。

98 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:36:54.63 ID:PmwbqNDX.net]
隠蔽した本人から隠蔽後のメンバーじゃなくて
隠蔽したはずのベースクラスのメンバーが見えるなら何のための隠蔽よww

まあでも、どうせ隠蔽なんてまず使わないw
俺が使ったのはたぶんWindows Formのコントロールをカスタマイズするときに
virtualになってないメンバーを苦し紛れになんちゃってオーバーライドする時ぐらいだ

99 名前:デフォルトの名無しさん mailto:sage [2017/05/20(土) 23:56:17.91 ID:/WJez+wG.net]
隠蔽は後から他の奴が基底クラスに同一シグネチャのメンバを追加しやがったときに
派生クラスが壊れないようにするための仕様だよ
積極的に使うものではない
当時のMSは極度の互換性パラノイアに陥っていたため、C#はバージョニングに関しては異常に神経質設計されている

100 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:03:34.57 ID:+V9bC4xn.net]
ヌル許容のdatetimeだとyear関数とか使えないんですか?
入力必須じゃない項目なので困っています。



101 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:15:28.78 ID:jI6oRZ6H.net]
>>95
dt?.Year

102 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:17:58.62 ID:F7+6VHDt.net]
ヌル許容のdatetimeってわからない。.NETのは構造体なのに

103 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 12:21:51.82 ID:3W0XlzKr.net]
大分前からヌルが基本的に無いintとかにヌル入れられるヌル許容型ってのがあるが。。。

int? x = 123;
int? y = null;

104 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 13:22:43.56 ID:edjbow2J.net]
>>95
つかえるよ
コード間違えてないか?

105 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 14:04:03.15 ID:A3vGR0ii.net]
stringですら?付けてstring?にしようという時代に
細かいことをごちゃごちゃと

106 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 17:45:15.21 ID:PJIONmxy.net]
stringは参照型だから元からヌル許容してたのに、なぜヌル許容型をわざわざ?
浦島太郎で申し訳ないが説明頼む。

107 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:27:41.35 ID:Ph34uzkO.net]
>>101
https://github.com/dotnet/csharplang/blob/master/proposals/nullable-reference-types.md

108 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:33:56.97 ID:LMlAaHk/.net]
https://gist.github.com/olmobrutall/31d2abafe0b21b017d56
これだろ
string?じゃなくて、nullを許容しないstring!を導入したらどうか?という話
stringをstring!に変換しようとしたときにコンパイラがnullチェックを入れればいいだけだから悪くないアイデアだとと思う

109 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:49:06.30 ID:UZ2qE6DF.net]
>>101
よく知らんけど、DateTimeとかDB側でNULL許容として扱われている値型を同等に扱うためじゃないのかね
じゃないとEFとか破綻しそう

110 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:52:36.71 ID:yWN+qtCg.net]
>>104
.Net1.0から実装されていて欲しかったけどな
つかDataSetっていうウンコがあったからNULL許容型の生まれが遅くなった可能性があるな



111 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:53:40.67 ID:LMlAaHk/.net]
>>104
そうじゃなくて逆にnon-nullableが欲しいというのが趣旨だよ
で102で紹介されてるstring?の案は「いっそ参照型もデフォルトでnull非許容にしようぜ」という超過激なトンデモ案

112 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 18:57:42.54 ID:HT5KxiNP.net]
是非そうすべきだ

113 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:06:32.73 ID:X2XHKUCb.net]
TypeScriptがそういう風に仕様変更されたけどさすがにC#には不可能でしょ
TypeScriptとは違って過去の資産があるし書捨てプロジェクトばかりじゃないんだから
やるならstring!しかないけど!だらけでソースが見苦しくなるのが難点だな

114 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:11:34.18 ID:J4QCEXrr.net]
https://www.infoq.com/jp/news/2017/04/CSharp-Nullable
近いうちに実現するっぽいよね
こういうところがC#って凄い。

115 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:13:26.09 ID:HT5KxiNP.net]
いつまでもVBを引きずって瞑想していたMicrosoftとは思えないな
ヘジたんは偉大だ

116 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:19:42.67 ID:QProx2es.net]
>>96
ありがとうございました。
単純に理解不足で参照側に?をつけていないだけでした。

117 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:23:28.74 ID:SHq3YOvL.net]
またnullの話w

null非許容が欲しいなんて問題の原因を取り違えているだけであって、
そんなもの導入してもnull例外が初期化忘れに置き換わるだけだっていう
簡単な事実が分からんアホが多すぎで呆れるよ

118 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:25:29.82 ID:5hEoQuZK.net]
>>103
ありがとう。
逆なら納得だわ。

119 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 19:27:51.33 ID:5hEoQuZK.net]
>>112
そこまで単純化されたら大助かり。

120 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 20:14:30.69 ID:AM37HZZ1.net]
>>112
何言ってるのかわからん
初期化忘れって何よ



121 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 20:31:14.27 ID:HT5KxiNP.net]
またJavaに大きな差を付けてしまうな
あとはエコシステムも充実させてくれ

122 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 20:57:28.99 ID:Swob9G4V.net]
>>112
null結合演算子も超嫌ってたしね〜君

123 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 21:35:09.71 ID:SHq3YOvL.net]
>>117
そっちは何も問題ない

124 名前:デフォルトの名無しさん [2017/05/23(火) 21:48:39.96 ID:VdgHftUV.net]
varの話してもいいですか?

125 名前:デフォルトの名無しさん mailto:sage [2017/05/23(火) 22:57:25.70 ID:MQkBzlkR.net]
命が惜しくないならどうぞ

126 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 02:20:31.18 ID:IRME+Rk/.net]
TypeScriptとかSwiftとかKotlinの先例があるのにnull非許容の意味が理解できない>>112 みたいのが社会の進歩を妨げてるんだよなぁ
nullの代わりに空文字を入れることになるみたいな意味不明なことを言ってるやつもいたし、英語の議論が読めないにしても他の言語の例ぐらいは確認してからしゃべってほしい

127 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 02:27:23.98 ID:k5coCCFX.net]
またしょうもないのが現れたな
意味も意図も理解できるが、意図した通りの機能は発揮しないと言ってるんだけど

だからその「先例」とやらで現に意図した通り間違って自分の足を撃たない機能を発揮してるのかと。
してやしねえよw

128 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 02:32:41.30 ID:k5coCCFX.net]
要するに、nullを許容することに起因する問題が存在するので
nullを許容しなければそれは解決するのだ、なんていうのはただの愚か者の錯覚であって、
そんなものは問題Aをより発見が困難な問題Bに置き換えることにしかならない

129 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 03:32:06.26 ID:5B8IqCyj.net]
nullが生まれた背景と現在のnullの問題点 ― null参照問題(前編)
www.buildinsider.net/column/iwanaga-nobuyuki/011
C#でのnull参照問題への取り組み ― null参照問題(後編)
www.buildinsider.net/column/iwanaga-nobuyuki/012

読もうな

130 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 04:54:25.97 ID:f/qUGphe.net]
nullpoを許容



131 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 05:52:55.01 ID:SWY45HoB.net]
ポインタじゃなくていいところでは(nullを許容しない)参照をつかう
C++では当たり前にやっていた事でその威力は皆が知っていた
C++から派生したC#やJavaがこれを捨て去った意味が逆にわからない
C#はあるべき姿に戻ろうとしているだけ

132 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 07:19:29.94 ID:OFlbMgow.net]
>>122-123
レス古事記乙

133 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 08:19:55.11 ID:gnZYpDQN.net]
Int f(int x) ならxで例えば小数の事を考えなくて済む。
同じく f(hogeClass y) でyがnullの可能性を
考えなくて済むならそのほうが良いだろう。

そう思わないならプログラマーは
早々にやめたほうが良いと思うの。
nullチェック忘れてヌルポだすコードを
量産するバカが減るのは助かる。

134 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 08:56:56.79 ID:2RBb7Y8v.net]


135 名前:なんで馬鹿は馬鹿を説得しようとするんだろう?
馬鹿は馬鹿なんだから自分が馬鹿だなんて認める分けねえだろ
だからお前も馬鹿だと言うんだ


馬鹿は死ね
[]
[ここ壊れてます]

136 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 09:20:10.02 ID:CWb9U0nP.net]
>>128
少数のことを考えなくて済むように、nullがあった方が助かる場面もあるだろ
そう思ってないようなおまえは早々にやめたほうが良いと思うよ

137 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 09:38:54.50 ID:dFpq1SmP.net]
ついでにundefinedも導入してほしい

138 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:29:24.60 ID:4XHCBZ7H.net]
ぬるぽ

139 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:36:49.92 ID:0w0qPph2.net]
どうしてnull非許容型を導入するって話をnullの根絶なんて話に持っていこうとするんだろうね?

140 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 10:46:19.73 ID:xvW9RZ2K.net]
>>128
間違ってるよその発想
その発想って>>1254の記事にもあるけど、メソッドが引数にnullを受け入れる
確信もないのに意図してnullを渡すプログラマなんかいません。

nullを受け入れないメソッドにnullを渡してしまう事態が起こるのは、
バグによってプログラマの意図に反してそうなるからだよ。当たり前でしょ。

だからnull非許容型を導入したところで、「プログラマの意図の反して変数の能がnullであるバグ」が
「プログラマの意図に反して変数の値が不適切であるバグ」に置き換わるだけ。

そして後者は前者より発見が困難な分、悪性度はより高い。
こんな簡単なことが分からん奴ってアホだろほんっと。



141 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 11:09:16.07 ID:PQqcAP89.net]
>>133
一つより二つ覚える方が大変だろ
未開人だと三つ以上は沢山だぞ
そんなにプログラミングの要素を増やすな
覚えきれない

142 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 11:32:23.53 ID:fJwJIEtw.net]
変数がnullである は 変数が不適切である に含まれる
変数が不適切なケースのうち変数がnullであるケースを言語仕様として排除できるって話じゃないの?
確かにこのnullのケースを排除しても他に不適切なケースがある設計なら完璧な対策ではないだろうけど有用なケースも認められるなら検討の価値はあるんじゃないかな?

143 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 11:40:03.52 ID:lmoDZ3Fc.net]
>>134
意図してNull値を渡すつもりがないなら
Null値が入る可能性があることがコンパイル前に判明するほうが
あきらかに修正もしやすいだろ
なに言ってんだ

144 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 12:07:37.15 ID:xvW9RZ2K.net]
>>137
何を言ってるのか意味が分からんね

145 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 12:11:17.02 ID:QZczTL/V.net]
>>138
お前がな

146 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 12:23:14.46 ID:Em+sDdPu.net]
全部Object型でやってろってのと変わらんがな

147 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 12:55:24.52 ID:cF0VKHZde]
Linux上でC#を使ってAndroid開発って出来ますかね?

今までC/C++やJavaでやってきたのですが、
C#で上記が可能ならC#に移行したいなと考えてまして。

148 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:17:32.97 ID:IRME+Rk/.net]
>>134
ただの理解不足。具体的にTypeScriptとかのコードでその状況を示して見てよ。

多分、nullが入れられなくなるので初期値に別に値(stringならstring.Empty的なもの)を入れるもんだと思ってるんだろう。
それは間違った考え

・nullの考慮忘れ
・過剰なnullチェック
というのを防ぐのが目的

<従来>
void Hoge(string arg){ 〜 }

//listが要素を持っていなければfirstはnull
string first = list.FirstOrDefault();
//何らかの処理
//nullの考慮忘れ。実行時例外
Hoge(first);

<null非許容型>
//Hogeの引数はnull非許容
void Hoge(string! arg){ 〜 }
//ここは「何らかの処理」の都合でnull許容とする
string first = list.FirstOrDefault();
//何らかの処理
//nullの考慮忘れ。コンパイルエラー
Hoge(first);

149 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:28:42.02 ID:9Gf4SnqN.net]
実行時例外でるならそれでいいじゃんw

150 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:34:09.87 ID:xvW9RZ2K.net]
>>142
具体的で



151 名前:素晴らしい
確かにその例で示されているような「nullの考慮忘れ」を防ぐ一定の効果は
期待できることは認める。

でもそれ、よく考えると机上の空論でしょ。
普通のプログラマならある変数やコレクションが仕様上nullを持ちうるかどうかは
常に気にしながらコーディングするので、そこに例示されている「nullの考慮忘れ」は
実際にはそんなにありがちな問題ではないと思う。

ありがちなのは、その例でいえばリストに値を入れる段階で
プログラマの意図に反してnullが混入する問題だよね。
[]
[ここ壊れてます]

152 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 15:55:01.74 ID:fJwJIEtw.net]
実行されるまで気づかないならインタプリタと一緒じゃん

153 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 16:07:24.68 ID:IRME+Rk/.net]
>>144
>ありがちな問題ではない
ありがちかどうかではなく、その機能を導入するメリットとデメリットの釣り合い。
エラーが未然に防げたり、記述が簡潔で見やすくなるならメリット。
文法が複雑になったり、別のバグの原因になったり、動作が遅くなったり、実装に手間がかかるならデメリット。

現状は「新バージョンではnull許容はstring?にしろよ」から「文法は変更せずフロー解析でどうにかしようぜ」までいろんなアイデアがある

個人的には、標準ライブラリの頭nullチェックをしてArgumentNullExceptionを出すようにしているところがいらなくなってライブラリ作者にはメリットがデカそうかなとはおもってる
null入れてArgumentNullExceptionがでるテストも書かなくて良くなる

154 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 16:22:43.45 ID:IRME+Rk/.net]
>>144
>リストに値を入れる段階でプログラマの意図に反してnullが混入する
nullを含まないリストならList<null非許容型>にすれば意図に反してnullが混入しうる状況ではエラーや警告にしてくれるようになる
List<null許容>から変えられないなら、取り出す時にnull非許容にすればその場でエラーが確認できる

フロー解析で検出が無理な状況も当然存在するけど、多分こんなことをするのかな
<現状>
string A(){
string a = Hoge();//Hogeの戻り値はnull
別の処理
return a;//意図せずnullを返してしまう
}

これだと、別の処理中にぬるぽになったり、戻り値がnullになるかも。
Hogeの戻り値が不適切なのに、別の処理中でエラーが起こるのでスタックトレースとかではバグが探しにくい。

<null非許容>
string! A(){
string! a = Hoge().ToNull非許容; //null非許容に変換
別の処理
return a;
}
これが以下のようにコンパイルで展開される
string A(){
string a = Hoge();
if( a == null)throw new Null非許容型変換例外();
別の処理
return a;
}

例外発生箇所が確定するので、バグの位置がすぐにわかる
この例だとnull比較のコストが入ってるけど、俺の知識が浅いだけなのでもっとうまいやり方も多分あると思う

155 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 17:14:59.24 ID:rw+7fc+A.net]
そうだねーPHPから出てこないでね

156 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 18:01:59.69 ID:9Gf4SnqN.net]
null許容にするメリットを実感できないんだろうな

157 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 19:54:58.94 ID:wmLMN2ht.net]
使えとは言ってないのにな
親でも殺されたか?
ゴミムシの親なんか区別がつかないだろうが

158 名前:デフォルトの名無しさん mailto:sage [2017/05/24(水) 23:36:34.45 ID:a2/m6a7T.net]
>>147
コンパイル後の出力にnullチェックが入ってるってことは
string! aにnullが入る可能性が出来てしまうってこと!?
そこはコンパイルエラーにしてもらおうよ

>>142
> ・nullの考慮忘れ
> ・過剰なnullチェック
> というのを防ぐのが目的
(+テスト)
は、防ぐというより無くしたい

159 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 01:11:21.81 ID:lqQtAs3j.net]
>>151
nullチェックはNull許容型からNull非許容型にする際の話
nullの可能性があるならタイプマッチとかで消すほうが素直だけど、kotlinとかでは例外を投げる変換を用意してるみたい

修正されてない古いライブラリとかだとnullにはならないけどnull許容型みたいのが存在せざるを得ないので、そういう機能もほしい

160 名前:ということじゃないかな []
[ここ壊れてます]



161 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 03:16:43.36 ID:ezJU1k3U.net]
今のところ超過激なトンデモ案が優勢なのかな?
採用されたら仕事が捗りそうなので、とても期待しているww

162 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 03:37:28.50 ID:XcDeaOpm.net]
null非許容型が追加されるならconstメソッドも
追加してほしいもんだ。

163 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 03:38:41.10 ID:K8EeLAYg.net]
いまだに2.0とか3.0やってる化石には全く関係のない話だから
足引っ張らないで欲しいわ

164 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:11:39.41 ID:raX4nowj.net]
Linqすら使えない自分の職場の悪口は止めてくれないか

165 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:17:54.20 ID:TdXNYUaP.net]
職場?お遊戯会の間違いだろ

166 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:41:19.09 ID:OZ9w4Yf7.net]
ロック問題で、価値ないつまらんネタ書いている奴こっち来い
適当にあしらってやるよ

167 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:44:07.67 ID:raX4nowj.net]
>>158
向こうに行ってやれよw

168 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:50:35.84 ID:OZ9w4Yf7.net]
最近は、こっちではnull非許容ネタやってるのか・・・
これ導入されたらガベージコレクタの性能落ちたりしないかな
4G越えのでかいツリー構造とか作っていると、参照つなぎ替えだけで色々やばいことが起こるんだよな
できるかぎり、用のないフィールドに参照ぶら下げたくないと最近しつこくnull入れてたりするんだが。
あと、event関係、弱参照で全部作り直さないとヤバないかな。
Taskとかと相性悪くて簡単にメモリーリーク起こすし、 WeakEventManagerでWPFは変態回避してただでさえコード変態状態だし。
VMごと作り直さないと色々噴き出しそうだ

169 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 11:51:39.74 ID:OZ9w4Yf7.net]
>>159
ここはキチガイの建てたゴミ箱、ちょうどいいんだよ。

170 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:35:35.78 ID:KYr+IXo2.net]
>>160
そんな場合はnull許容型を今迄通り使えばよろし



171 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:39:51.97 ID:doyjLZp2.net]
なんで択一の考えしか出来ないんだろうな
頭悪いのか?
頭悪いならゴミ回収みたいなルーチンワークしてろよ

172 名前:デフォルトの名無しさん [2017/05/25(木) 12:40:36.41 ID:OZ9w4Yf7.net]
>>162
統一性のないコードになりそうだw
ここまで破壊的変更をするなら同じVM上で動く別言語として全く新しく設計した方が良い気がしてきている。
C#と混合してプロジェクトに登録できるようにすればシームレスにつながると思う。
今のC#には、アクロバテックな予約語追加とかも増えてきているし、いろいろ限界が来ていると思うんだ。

173 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 13:22:25.50 ID:OZ9w4Yf7.net]
どうせならC#を改造するのではなく、新規言語にして、ここにあるパターンをサクっと言語仕様として実装してみてほしいな。
https://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3_(%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2)
>一部のデザインパターンは、プログラミング言語(例: Java, C++)の機能の欠損の印であると主張されることがある。
>計算機科学者のピーター・ノーヴィグは、GoFによるデザインパターン本の23パターンのうち16パターンは、
>言語によるサポートによって単純化または除去できることをLispやDylanを用いて実演した。

あと、マルチスレッドプログラミングに関するパターンも、C#で書いていて本当に冗長と感じる。
文法は、Pythonみたいにインデントでネストを書けるようにしてくれれば、Pythonと交互に書くときに {} 忘れで判りにくいバクにならなくて済む。

174 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 13:37:43.42 ID:Gj1BXJi/.net]
>ID:OZ9w4Yf7
基地外こっちでも大暴れかwww

175 名前:デフォルトの名無しさん [2017/05/25(木) 13:39:20.53 ID:OZ9w4Yf7.net]
>>166
ようキチガイ、ここは、お前が建てたスレだろ。
向こういくなや、あっちはマジ質問なんだから。
お前とは、ここで遊んでやる。

176 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 16:36:05.73 ID:Wjjn5VOT.net]
まじで基地外だからな・・・

177 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 17:37:12.65 ID:KYr+IXo2.net]
>>164
swiftもkotlinも同じ感じの仕様だから適切に使い分けられれば良いんでないのかな
それがスキルだし

178 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:24:15.44 ID:6uvmeYQm.net]
c#がもし最初から作り直せるとしたらどんなふうにする?

俺は
yield returnじゃなくてyieldにする
ジェネリックをsystemに入れる

179 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:31:48.41 ID:ISg+EccP.net]
取り敢えずintは64ビットでstringはnull無し

180 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:55:20.09 ID:QWlkLrx5.net]
switchのbreakは省略可能にする



181 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:57:08.84 ID:yV0yCNuL.net]
Nodeが快適すぎる
C#ってなんだったの?

182 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:57:54.98 ID:6uvmeYQm.net]
>>173
言語と動作環境比べられても…

183 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:21:56.48 ID:KYr+IXo2.net]
immutable保証の構文は欲しい
if forは文でなくて式でありたい
副作用隔離文法も欲しい

184 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:24:16.19 ID:BYkVp2J8.net]
ジャップなんて99%素人に毛が生えたレベルなのに使い分けとか酷だ

185 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:36:21.23 ID:6uvmeYQm.net]
ダック・タイプの問題も最初からすっきり仕様作る

186 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:39:01.89 ID:1nEgUyka.net]
constとreadonlyの整理
c++のconstが好きだった

187 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 19:56:07.17 ID:KYr+IXo2.net]
デフォルトでconst
キーワード指定した時だけ非const
が良いなあ

188 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:07:38.18 ID:ZdIAUNK0.net]
何が嫌かと言えばVMだな。最初からネイティブコードコンパイラーならC++すら凌駕したかもしれん

189 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:09:09.51 ID:lGDY6SHI.net]
少なくともC#のconstとreadonlyは機能的に違うし、
どちらを無くされても困ると思うけど...

190 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:10:14.40 ID:VSmfM+8N.net]
>>173
フレームワークって知ってる?



191 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:18:46.47 ID:6uvmeYQm.net]
名前空間の分割をもっと簡素にする
今はusing増えすぎでめんどい

あと一ファイルに名前空間一つに限定で
ファイル先頭で指定、{ }なしにする
namespace Hoge.Hoge :

これでwebからのコードのコピペが楽になる

192 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:24:26.30 ID:vS0Oxp45.net]
switch の最後の節の break は不要にする

ってかこれぐらいすぐやれ
毎回モヤモヤするんだよ

193 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:26:15.77 ID:1nEgUyka.net]
>>181
だから整理って書いたんだけど…
統合って意味じゃないよ

194 名前:デフォルトの名無しさん [2017/05/25(木) 20:28:33.23 ID:SU7CE5fr.net]
readonlyは長すぎる
javaのfinalもだけど頼むから多用する奴は3文字以内にしてくれ
scalaなら定数も変数も同じ3文字だから揃って見やすいのに

195 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:29:42.51 ID:lGDY6SHI.net]
>>185
では整理とは具体的にどういう意味でしょう

196 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:33:29.10 ID:OZ9w4Yf7.net]
細かい機能系だと == オーバーロードが割と収集つかない感じなっているので
object.ReferenceEquals object.Equals を毎回書く羽目になり始めている
これは無駄なので == オーバーロードは廃棄して
object.ReferenceEquals object.Equals の糖衣構文として === !== == != という形にして欲しい。
Java屋がC#登場時に==オーバーロードはヤバイと警告していたが、今のC#は本当にそうなってしまった。
当初は気にしすぎと思っていたが、これは良くなかったな。
<= >= なんかも最低1個書けば残りは自動的に実装してほしいな。
== != はobject.Equalsは必須なので、あとは < <= >= > のいずれか一個を定義すれば残りは全部生成可能。
IComparable<A>を実装したのなら、逆にそこからobject.Equalsを実装してほしい。
object.ReferenceEquals に対応する GetHashCode() は簡単に利用できるべきだ。
LINQを使うときに、Distinct()などで、object.ReferenceEqualsを使いたいケースは多い。
どの比較を使うのか簡単に指定できるようになって欲しい。
比較演算子は、三引数の演算子にして、比較方法、比較対象1、比較対象2という感じにして
a ==[比較方法] b のような感じで扱えるようになると見通しが良くなると思う。
今のC#は、ラムダ式と比較用interfaceが入り混じって混沌の世界と化している。

197 名前:デフォルトの名無しさん [2017/05/25(木) 20:35:22.76 ID:SU7CE5fr.net]
>>188
トレイトがあれば自動実装出来るのにな…

198 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:37:17.55 ID:yV0yCNuL.net]
C++に回帰するのだ

199 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:42:49.06 ID:OZ9w4Yf7.net]
>>190
今のC#はまさにそこに向かっているので嫌なんだよね。
収集のつかない言語拡張、誰も知らない大量の構文と予約語で築かれた謎の言語仕様。
C++は、21世紀のCOBOLだ

200 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:44:09.62 ID:6uvmeYQm.net]
c++はほらバカには便利だろう見たいな新機能をいれてるけどそれすら使いこなしにくい



201 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:46:56.61 ID:lm8UuBKM.net]
型宣言は後置の方がいい

>>175
>immutable保証の構文

デフォルトでimmutableにして、
必要ならmutableに出来ればよくね

202 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 20:47:18.02 ID:yV0yCNuL.net]
C#が滅んでも困らないからいいや
node.jsがあれば安泰

203 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:04:38.19 ID:dzSQ5kE9.net]
>>189
キチガイに触るな

204 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:08:44.13 ID:B4esX4Id.net]
>>191
糖衣構文を要求したその口で「収集のつかない言語拡張」とか一体何の冗談?

205 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:10:56.06 ID:OZ9w4Yf7.net]
immutableを構文を作るのであれば、new でプール中にすでに同じ内容のオブジェクトが無いか調査して
既にあるならそちらを利用する仕組みも欲しいな。
これを利用する場合比較演算子EqualsとReferenceEqualsは同じ結果になるのでEqualsもGetHashCodeも自動実装の物でよい。
オブジェクトプールは、弱参照のHashSetで実装される事になると思うが、弱参照の先が死んでいた場合、HashSetの登録項目も整理できる。
ガベージコレクトと一緒にこれを整理できればより効率的だが、これは現状ライブラリベースで作る事は出来ない、VM側のサポートが必要。
これについては、メモリ管理にリファレンスカウンタを実装しても良いと思う、基本はリファレンスカウンタでマークスイープはゴールキーパーとして機能させる感じで。

206 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:11:49.39 ID:lGDY6SHI.net]
>>188
何言ってるのかよく分からうけどカオスを増加させるだけにしか思えんな

参照型の==がデフォで参照の比較になっているのが混乱の元だと言いたいならそこは同意する。
VBと同じように参照等価検査専用の演算子を用意して==はオーバーロードしない限り
使えないようにしてくれた方が分かりやすかったと思う

207 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:14:05.32 ID:OZ9w4Yf7.net]
>>196
お前みたいな馬鹿には分からないのですw

208 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:18:19.71 ID:OZ9w4Yf7.net]
>>198
オーバーロードしたらEqualsとの違いが不明確になる。
使う側にはそれはとても伝わりにくい。
だから==と書けばそれはEqualsの事であるという事にした方が簡潔だと思うよ。
比較は頻発するので毎回Equalsを書くのはさすがに面倒。

209 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:18:19.88 ID:iDw56Z9j.net]
c#とc++の違いが分からん

210 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:24:52.13 ID:VSmfM+8N.net]
>>201
+が2個多いだろ、よく眺めてみろ



211 名前:デフォルトの名無しさん [2017/05/25(木) 21:27:49.57 ID:SU7CE5fr.net]
>>201
C++…うんこ
c#…B級グルメ

212 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:54:41.07 ID:sQqbIl08.net]
C#を食ったらケツからC++が出るのか

213 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 21:58:44.98 ID:1nEgUyka.net]
>>187
そんなん知らんよw
なんで具体的な提案なんかしなきゃならんのだ
2種もキーワードがあるのにc++のconstに比べて貧弱だなーって思っただけ

この部分がもっと便利になればいいねーくらいで話ししてんのに難癖つけられてもなー

214 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:05:37.39 ID:OZ9w4Yf7.net]
関数型のように値は一度割り当てたら変更不能というストリクトな仕様は
変数一つ一つに意味を考えて名前を付けるようになれるので見通しは良くなるね。
半面、ビギナーには辛いやり方だと思う。
変更できない物だけでどうやって変化していくものを表現するのか分からなくて途方にくれそうな絵が見える。
果たして吉とでるか凶とでるか?

215 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:07:44.05 ID:06apVH37.net]
>>202
どっちも+2個だろー

216 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 22:16:44.94 ID:dzSQ5kE9.net]
┏━ ╋╋
┗━ ╋╋

217 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 23:36:14.82 ID:VSmfM+8N.net]
>>207
C#は4つだろ

218 名前:デフォルトの名無しさん [2017/05/26(金) 00:05:23.61 ID:grHVRT/B.net]
やっぱメモリ管理は自動の方がいいですか?

219 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:15:54.83 ID:R9lW8EDm.net]
>>210
自動の方がいいと思うよ、安心感が全然違う。
ただ、マークスイープはオブジェクト総数増大につれてパフォーマンスに問題が出始めている感じがする。
ガベコレはすべてのスレッドを止めないと始められないが、オブジェクト総数増大とともに停止時間がやばくなる。
極力、マークスイープ以外の方法で回収できる感じにした方が良いかもしれないと最近は思う。

220 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:29:53.59 ID:4xYFMnBo.net]
>>197
思い込みで変なことを語る前に今のGCについて勉強した方がいいのでは
殆どのオブジェクトはマークアンドスイープ「ではない」GCによって回収されるんだぜ



221 名前:デフォルトの名無しさん [2017/05/26(金) 00:33:29.03 ID:R9lW8EDm.net]
>>211
少なくともC#では、スタック周りだけでしょう。
シンプルな世代別ガベコレで実装されていると思われます。
C#ではC++のスマートポインタのようにスコープ抜けた瞬間に回収される所は見ないです。
それでは解決しきらないというのが自分の環境では起こり始めつつある。

222 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:38:57.52 ID:R9lW8EDm.net]
まぁ、C#の場合すべて強参照状態なんで参照カウンタで実装したところで
よほど意識してくれないかぎり有効に機能してくれない可能性は現状では高いですね。
特にevent回りとasync/await/Task回りに言えます。

223 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:40:01.31 ID:Mhihnqx0.net]
>>213
余計な工夫でmidlife crisis起こしてそうw
オブジェクトはすぐに使い捨てたほうがGCの負担になりにくいんだよ

224 名前:デフォルトの名無しさん [2017/05/26(金) 00:43:15.17 ID:R9lW8EDm.net]
>>215
規模が小さいなら、使い捨てても使い捨てなくても、もともとパフォーマンスが問題になる事はないんですよ。
パフォーマンスが問題になるほど規模が大きくなっているので負担が大きいのは必然なんです。
トートロジーみたいな議論だからその反論は無意味。

225 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 02:06:01.59 ID:7MLVuo4L.net]
>>205
自分で言ったことを知らないって無茶苦茶だな
というか、そもそもC++のconstって肯定的に語る人はほ

226 名前:ニんどいないよ。 []
[ここ壊れてます]

227 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 03:47:01.99 ID:jh4BS3n9.net]
>>217
え?金も出ないのに次期言語仕様のドラフト上げろっていうの?
君がどれくらいの人にアンケート取って肯定的な人が居ないと言ってるのか知らんが逆に否定的な人はどうなの?
肯定的な人が居ないのはそもそもちゃんと使ってる人が少ないからってだけでは?
assertionとかもそうだけど無くても問題もないものは当然初心者向けサイトでは扱われず使用者も少なくなりがち
ちなみにconst c# c++ってググれば検索上位は似たような内容が国内外含め結構出てくるよ

228 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 09:30:04.80 ID:g456XZgo.net]
C++を肯定的な奴少ないが使ってるのは多い。置き換えきれる言語がないんだよ

229 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 11:01:05.91 ID:2e/JbZY2.net]
constは地獄でしょ

230 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 11:41:49.76 ID:2utmFH39.net]
>>219
いい得てるわw



231 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 13:10:14.69 ID:V0QADimW.net]
c#でポインタが使えれば俺はc++はもういらない。

232 名前:デフォルトの名無しさん [2017/05/26(金) 17:16:27.99 ID:Vk2AXjGC.net]
メモリ管理はRustのゼロコストGC(正確にはGCじゃないけど)に期待してる

>>222
っunsafe

233 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 18:58:46.42 ID:4GVMWdle.net]
>>222
使えるよ

234 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:35:43.26 ID:R9lW8EDm.net]
パフォーマンスを上げるのに
new するときにどの世代のメモりに生成するか指定できると便利になりそうな気がする
明らかに長期生存が分かっているオブジェクトを若いからというだけでガベコレに晒すのは無駄なんだが、現状無差別でしか生成できない。
アプリケーション終了時点まで消えてなくなることが無いと分かっているオブジェクトに至っては、生成直後に管理から外してもらえると良いんだけど。

235 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 19:47:07.58 ID:R9lW8EDm.net]
>>220
天国だよ
特にラムダ式とかローカル関数では、コピーとキャプチャを区別しなくてよくなる。
というかキャプチャとか考えたやつ、もうちょっとマシな方法思いつかんかったんかよって思う。
どのスコープの物なのか判りにくくてバグの温床
C++みたいに、キャプチャかコピーか明示できるようにして欲しかった。

236 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:08:39.93 ID:bEaQUHBT.net]
キャプチャーがそんなに分かりづらいとは思わんけどな

237 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:11:40.53 ID:R9lW8EDm.net]
>>227
もしそうだったら、何時ぞのバージョンアップの準破壊的変更で
foreach(var item in xxx) のitemのスコープを変えたりとか苦しい羽目にはならなかったろうよw

238 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:15:07.40 ID:bEaQUHBT.net]
>>228
それキャプチャーの問題じゃないでしょ
ループ変数のスコープの問題

239 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:16:06.09 ID:R9lW8EDm.net]
>>229
何言ってんだよ、キャプチャがなければ何の問題もない話だろw

240 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:16:55.50 ID:bEaQUHBT.net]
よく分からん思考回路だな...



241 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:18:42.55 ID:R9lW8EDm.net]
>>231
お前が、トラブルにあったことが無い程度にしかプログラムしていない初心者だからだよw

242 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:21:16.22 ID:bEaQUHBT.net]
言っても無駄だと思うけど、だからそれはキャプチャーの仕様が
トリッキーでミスリーディングだから起こる問題じゃありません。

foreachのループ変数のスコープがプログラマの予想を裏切るものだから起こる問題です

243 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:33:16.54 ID:R9lW8EDm.net]
結局、C#のEqualsやキャプチャとかが分かりにくくなってしまったのは
利用者から見て隠すべきでない物を隠してしまった所にあるんだろうな

operator == のオーバーロードも、C++ならポインタと実態の違いをプログラマが
. と -> の違いとしてしっかり認識しながらプログラムしている。問題なんか見たことない。
だから、C++のプログラムをしていた自分はJava屋が指摘する == のオーバーロードの危険性について
そんなの気にしすぎと軽視していたんだよな、ところが実際にはヤバかった。

C++プログラマは、ポインタとして利用しているオブジェクトには、ポインタらしい == のオーバーロードを
実体に対しての == は、実体を比較する為のオーバーロードをいつも意識している。
C#は、参照(意味的にはポインタ)を、実体の比較としてオーバーロードしようとしてしまう。意識していないからね。
このあたりが齟齬の発生地点のような気がする。
というかC#はじめて、やらかした。
どころか、標準の string からしてやらかしている。

C++では、ラムダ式でもしっかりと意識したコードができるようになっている。
次の問題は async /await だ、あれも隠してはいけない物の代表格、バグの温床だね。
C#の設計陣、そろそろ学習しろよって思うのであるがw

244 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:51:46.15 ID:bEaQUHBT.net]
ああ、昨日の人か

==のオーバーロードが危険とはまったく思わないし、等号という記号のイメージに
そった定義で可能なことは自然で当然のこと

問題があるとすれば、むしろオーバーロードしなくても使えてしまうことだろう。
昨日も書いたけど、VBのようにオーバーロードしないと使えない仕様の方が好ましかった

245 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 21:36:33.37 ID:Ym5et5f0.net]
マップキーに使える値型は==を上書きする
それ以外はデフォルトのまま参照の比較
これで困ったことはないな
強いていうなら決まり切った形式の実装がめんどくさいことか

246 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 20:08:35.61 ID:CUGuWQ0O.net]
そういや空の自作構造体をhashset辺りに入れるとどうなるの?

247 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 20:26:33.27 ID:TYkkRdMw.net]
>>237
.netのソース見るとnon-staticなフィールドのない値型のインスタンスは全部等価になるっぽい
試してないけど

248 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 21:21:07.48 ID:CUGuWQ0O.net]
そうなんだ。比較時に例外飛ばすと思ってたよ。

249 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 21:22:20.09 ID:6qDXI5sJ.net]
質問する前に試せよ

250 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:01:52.68 ID:pNqYSKN5.net]
structの既定の比較は、かなり複雑な事やってる。
ポインターとか環境によって可変するフィールドや、アライメント関連で構造体中に隙間が無い場合に限ってmemcmpで高速比較する。
それ以外は、リフレクション使っての比較なのでパフォーマンスが大幅に落ちる。
なので、原則オーバーライドして使えという事を、昔C#が出始めたころにMSが言っていた。

自分は、いいかげん面倒くさいので、自分用は式ツリー使って比較とハッシュ計算の関数を自動生成してコンパイルした上で使っている。
既定の比較もこういうのを標準で作ってくれると面倒が無いし間違いもないんだが、などと思っている。
比較したいフィールドもしくはプロパティーに[EqualsTarget]というアトリビュートを付けたら、それで自動生成される感じ。
大小比較もこれで実装されるようにしてやった。

公開して、全員に使ってもらおうかどうか思案中、ちょと変態コードすぎるので気が引けてる。



251 名前:デフォルトの名無しさん mailto:sage [2017/05/27(土) 22:27:07.42 ID:9Ba3g3h0.net]
初心者が頑張ってる感があって微笑ましい

252 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 00:28:08.62 ID:v+RO0IME.net]
スレチ感があるけど該当スレが分からずここで聞くんですが
Windows Formで背景色って灰色が初期値なのって何故でしょうか

253 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 00:31:20.09 ID:X8MhB+Ic.net]
Windowsを作ったマイクロソフトに聞け

254 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 02:09:41.98 ID:0Vke4+SI.net]
>>243
それ本来はOSの設定で変更可能なはずなんだけど。Win8以降コンパネで設定できなくなってるから
何だか訳分からんことになってるね

しかし、今触ってみて改めて思ったけどWin10のUIはウンコだな
Win7の時代の方がよほど分かりやすかった
誰が考えたらこんなカオスで使いづらいUIになるんだ

255 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 08:42:44.56 ID:Q4IaIxAm.net]
つか、元のコンセプトから見れば、灰色じゃなくて銀色のはずなんだけど
どう見てもねずみ色だね

256 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 10:16:19.73 ID:LDH8CI3x.net]
なぜグレーかというと、ハイライトと陰でウィジットを立体っぽく表現できたから。
だからフラットデザインではグレーにすり必然性はない。

257 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 10:30:30.28 ID:BVKFrymy.net]
開発用端末はMac、サーバーはLinux
最近はWindowsの出る幕がない

258 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 11:35:19.99 ID:WRDHmffy.net]
俺も最近は職場のPCでも開発はほとんどVirtalBox上のLinuxでスクリプト書いてる
たまにVS立ち上げる機会があるとクソ使いやすくて感動するけど、VS以外のWindowsは大嫌い

259 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 11:41:23.39 ID:7TA+N736.net]
>>249
VS でスクリプト書けばいいだけじゃん

260 名前:デフォルトの名無しさん [2017/05/28(日) 12:42:49.19 ID:U0KxOEQh.net]
VSをLinuxやMac向けに売れば絶対儲かるやろ
for MacとかじゃなくてWin版と同じように使える奴



261 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 13:54:11.57 ID:V1TJzJdZ.net]
XCodeで心穏やかにプログラムを書ける奴を尊敬する
よほど精神修養したんだろうな

262 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 13:55:34.04 ID:X8MhB+Ic.net]
ユーザー数が
Win >>>> 越えられない壁 >>>> Mac
だから採算が取れる見込みが無けりゃ作らないよ

263 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 14:34:28.04 ID:7TA+N736.net]
そもそも VS で儲けるとか w

264 名前:デフォルトの名無しさん [2017/05/28(日) 15:17:54.35 ID:U0KxOEQh.net]
>>253
開発者は
Mac>>>>>越えられない壁>>>>>Win
だろ

265 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:22:27.08 ID:w6vv9NyD.net]
>>255
vs for macで何か不満でも?

266 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:26:48.07 ID:Q4IaIxAm.net]
>>255
それはない
大企業の開発環境がMacとかあり得ん

267 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:27:43.83 ID:X8MhB+Ic.net]
>>255
もうちょっと現実見ようぜ

268 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:44:53.94 ID:BVKFrymy.net]
現実見た結果Macにたどり着いた
まあ三流企業は永久に窓でも使ってろってこった

269 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:46:59.96 ID:V1TJzJdZ.net]
winでもmacでも*nixでもストレスしか溜まらん
開発者向けの天国OS欲しいわ

270 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 15:58:51.29 ID:Q4IaIxAm.net]
三流企業というか弱小企業はMac使うんだろう



271 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:01:38.86 ID:BVKFrymy.net]
>>261
弱小企業は金がないから窓使うしかない
かわいそう

272 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:03:22.88 ID:Q4IaIxAm.net]
でかいビル丸ごと一棟開発の部署でほぼ全部windowsマシーンとか見たことないんだろう

273 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:05:30.06 ID:lvl9gPaw.net]
>>262
で、なんでお前みたいなカスがここにいるんだ?

274 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:08:15.24 ID:Q4IaIxAm.net]
国内でmacが1000台稼働してますなんてオフィス見たことも聞いたこともない

275 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:08:20.73 ID:BVKFrymy.net]
コスパならLinux
快適さならMac
思考停止するならWindows

276 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:08:28.50 ID:LqX4nhhl.net]
>>263
その光景に寒気を覚えない奴は実務未経験だろうな

277 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:34:01.56 ID:5PeSitGp.net]
visual studioとc#が最強すぎるから今

278 名前:はwindowsが一番いい []
[ここ壊れてます]

279 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 16:45:27.79 ID:V1TJzJdZ.net]
一番最低の開発環境はWin+Cygwin
仕事を辞める理由に値する

280 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 17:28:00.00 ID:DdUksNjB.net]
スポーツでもそうらしいけど、デキない奴ほど道具にこだわるのって
なんか日本人の伝統芸みたいだねw

あとこれはたぶんIT系だけだと思うけど「〜使ってる俺すげえ」っていう
よくわからん自己陶酔に浸る奴は相変わらず多いね。
自己陶酔は自己不安の裏返しだって気づかない時点で程度が知れるけど



281 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 17:33:05.05 ID:BVKFrymy.net]
こだわるとか凄えってほどのものじゃないだろう
当たり前のように一通り使って見て
当たり前の感覚であぁ窓よりMacの方が使いやすいなぁって感じる
ただそれだけのことなんだよね
鉛筆よりシャーペンの方が良いなぁって感じに似てる

282 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 17:39:13.08 ID:LDH8CI3x.net]
「こんなに素晴らしい○○を使っている私は特別な存在なのだと感じました」

「○○は優れている」ってのが「優れている○○を使ってる俺は優れている」に転化しちゃってる奴は多いね。
IT系に限らず趣味の世界一般で多いけど。
そんでそれがdisられると、まるで自分がけなされたかのようにムキになる。

283 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 17:58:58.49 ID:BVKFrymy.net]
そうはいっても業務で筆を使ってる人が居たらペン使えよって内心でバカにするだろ?
そういうこと

284 名前:デフォルトの名無しさん [2017/05/28(日) 18:04:29.24 ID:U0KxOEQh.net]
Winでいいって言ってる奴はRoR使った事ないだろ

285 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 18:06:50.38 ID:6nsRn/wD.net]
C#のスレでMacで開発とかナニカの病気か

286 名前:デフォルトの名無しさん [2017/05/28(日) 18:08:24.27 ID:U0KxOEQh.net]
あ、ここC#スレだったわ
すまん、スレ勘違いしてた

287 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 18:29:20.56 ID:BVKFrymy.net]
>>275
なん年前の話だ?

288 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 18:50:35.39 ID:7TA+N736.net]
>>273
筆を使って業務に支障がないなら別に文句はない
評価は仕事ができるかかどうかでペンを使うかどうかじゃない

289 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 19:45:38.03 ID:V1TJzJdZ.net]
ジャップは奴隷らしくしたかどうかだろ

290 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 20:18:29.52 ID:w6vv9NyD.net]
>>275
いつの話をしているんだ



291 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 20:25:47.96 ID:Q4IaIxAm.net]
macで開発を主張してるのは各種OSSが簡単に導入できるからだろ
それがc#と何の関係があるのかはしらん

ちゃんと管理された大企業のPCに勝手にOSS入れることは難しい

292 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 20:28:31.76 ID:w6vv9NyD.net]
>>281
開発機と事務用PCの違いってわかるかい?

293 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 20:35:51.83 ID:LqX4nhhl.net]
一山いくらのPGなんてそんなもんよ
コード生産ライン作業員に自由なんてない

294 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 20:36:36.03 ID:BVKFrymy.net]
管理がしっかりしてる企業の方がリスクリターンを解ってるから導入は簡単
OSSは不安とか杓子定規にフリーはダメな三流企業は難しい

295 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 21:15:15.54 ID:zksDCbHE.net]
OSSダメ言い出したらLAMPすら無理じゃん

.NETだってオープンソースになってLinuxやMacに移植されてんのに

企業が管理してるのとか実績があるのだったら良いのか?

296 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 21:32:38.97 ID:LL3KimrN.net]
.net compact framework(C#2.0?)で知識止まってるんだけど久々にザマリン使って泥アプリでも作りたい
動くだけならできるんだろうけどlinqとかlambdaとか学びながらやりたいんだが
本とかサイトでいいとこ教えてくれ
C++,PHP,ruby,Javascriptはまー普通に書けるレベル

297 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 21:39:52.49 ID:caiumps+.net]
>>271
WindowsとMac、両方並行して使ってるけどそこまで致命的な差は感じないなぁ
バージョン管理、統合開発環境、エディタ、パッケージマネージャがマルチプラットフォームで動くようになったのはでかなり楽になった
RubyはまだWindows冷遇は強いので悲しいけど。

OS自体としてもデフォルトでも使いやすいのはMacだけど、カスタマイズしていくと差が埋まってく
人によるだろうけど、カスタマイズ好きとしてはどうせMacもLinuxもWinもカスタマイズするので大差なかった

298 名前:デフォルトの名無しさん mailto:sage [2017/05/28(日) 21:40:14.17 ID:w6vv9NyD.net]
>>285
PowerShellもMSBuildもRoslynもダメなのかねwww

299 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 14:34:44.41 ID:KWmGTlOy.net]
誰もそういう事は言ってないだろ
馬鹿じゃないの?

会社のPCに社員が勝手にソフト入れんなってことだろ

300 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 14:39:23.18 ID:8LL+C/ec.net]
>>289
馬鹿じゃないの?



301 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 15:01:35.47 ID:m+ZaFeLx.net]
ここまで馬鹿しかいねーだろ

302 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 18:35:09.12 ID:2NVblJjK.net]
この手の話題は俺社環だからマ板でやれと言われているのに何この無限ループ

303 名前:デフォルトの名無しさん mailto:sage [2017/05/29(月) 19:41:47.70 ID:Vo8bGTzE.net]
ループ以外のレスをしないでください

304 名前:デフォルトの名無しさん mailto:sage [2017/05/30(火) 04:00:45.22 ID:5LsaYMbU.net]
>>287
LINQはってのは使えば解るレベルの簡単さだから大丈夫
たまに毛嫌いする困ったちゃんがいるけど

305 名前:デフォルトの名無しさん [2017/05/31(水) 19:30:52.46 ID:EmdHwMni.net]
varの話ししてもいいですか?

306 名前:デフォルトの名無しさん [2017/05/31(水) 19:33:05.55 ID:buo/Bij8.net]
ダメです

307 名前:デフォルトの名無しさん mailto:sage [2017/05/31(水) 22:00:36.87 ID:yWFnW1e8.net]
使う言語ころころ変えてたらメンテ大変そう

308 名前:デフォルトの名無しさん mailto:sage [2017/06/01(木) 00:53:00.46 ID:5sVH+pSJ.net]
馬鹿そう

309 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 09:05:27.27 ID:tYPOnRtn.net]
FormにwebBrowserコントロールを置いて、
WEBページを拡大や縮小して表示する方法がありますか?

310 名前:デフォルトの名無しさん mailto:sage [2017/06/04(日) 09:48:20.53 ID:G9mRH0ZP.net]
oleコマンド遅れ



311 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 09:59:55.43 ID:6Ut3jWEP.net]
FormなんかやめてElectronにすれば解決

312 名前:デフォルトの名無しさん mailto:sage [2017/06/09(金) 20:38:16.81 ID:k+3fMdQf.net]
スレチ

313 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 11:11:25.29 ID:KfYxBEuE.net]
REST APIが一般化したせいで様々な環境と言語をメンテする機会が増えた

314 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 14:21:33.09 ID:abflG9dt.net]
ソースを貰ってみると
(これどの辺がRESTなん…? RESTいいたかっただけやろ…)
と思うことも多々あり

315 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 14:29:59.13 ID:fRXzYWPt.net]
休みたいっていう願望の現れよ

316 名前:デフォルトの名無しさん mailto:sage [2017/06/11(日) 17:24:44.36 ID:Tsek5cQ7.net]
IN PEACE

317 名前:デフォルトの名無しさん mailto:sage [2017/06/12(月) 11:51:52.59 ID:K7TPIBhO.net]
>>303
どの言語+フレームワークが一番よかったですか?

318 名前:デフォルトの名無しさん mailto:sage [2017/06/14(水) 23:05:30.95 ID:5jDCrHnG.net]
ConfigureAwaitのデフォルトをtrueにしたのって大失敗だろ
書くのめんどくせえよ

319 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 19:38:22.96 ID:yyYf8riA.net]
>>308
trueにしないと死屍累々だったと思うが

320 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 20:45:29.51 ID:uOk0laYQ.net]
おじさんは太川陽介を連想しました



321 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 21:40:50.91 ID:OeRxoTJT.net]
まあどっちを既定にしても文句は出るところだと思うけど
await/co_awaitみたいにキーワードで指定できりゃ良かったんじゃは思う

322 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 22:08:01.60 ID:9G4t6eWS.net]
ConfigureAwaitをtrueにするのはもうデスクトップアプリぐらいだろ
dotnet coreになってasp.net mvcもコンテキストへの依存がなくなったわけだし

323 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 22: ]
[ここ壊れてます]

324 名前:16:14.73 ID:+4RSrStZ.net mailto: デスクトップアプリだけ既定がtrueになっとると思っとりました []
[ここ壊れてます]

325 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 22:27:30.17 ID:YiDUG5yW.net]
デフォルトfalseだと常に排他制御が必要になるだろ
わざわざコンテキストに戻すのはマルチスレッドの煩わしさを避けるためなのに

326 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 22:35:26.43 ID:9G4t6eWS.net]
コンテキストと排他制御は関係ないでしょ

327 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 22:50:32.92 ID:YiDUG5yW.net]
>>315
あるよ
一部awaitしない呼び出しがあったりすると、後続処理がスレッドプールで実行されてしまうと見かけ上同一コンテキストのように見えるコードでも
同時に複数のコードが並列で実行されてしまう可能性がある(というか確実にそうなる)

328 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:10:58.71 ID:9G4t6eWS.net]
awaitすればいいじゃん
それってasync/awaitの世界では前提でしょ

329 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:14:08.29 ID:YiDUG5yW.net]
だったらtrueでもWaitしなけりゃ問題ないじゃん
排他制御が必要になるケースももちろんだけど、そもそもawaitの前後で常にスレッドが変わること自体がプロブレマティックすぎる
そんなのに比べたらUIスレッドでWaitする馬鹿のリスクなんて全く取るに足りないレベルだ
coreはWeb用ということで想定される要件が技術的に単純だから許されるんであって、さすがにそれを全ての用途に適用するのは無理がある

330 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:18:14.91 ID:pnr+bbz5.net]
>>318
>coreはWeb用
ソースよろ



331 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:21:24.69 ID:YiDUG5yW.net]
>>319
https://www.microsoft.com/net/core/platform
>.NET Core is a blazing fast, lightweight and modular platform for creating web applications and services that run on Windows, Linux and Mac.

332 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:22:43.99 ID:uOk0laYQ.net]
qwerty2501.hatenablog.com/entry/2014/04/24/235849

ここに書かれてるような問題があるからデフォはfalseが良かったって言いたいなら
俺も羹に懲りて膾を吹いてるようにしか思えんね

333 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:25:02.21 ID:pnr+bbz5.net]
>>320
完全にMicrosoftのミスリーディングやなこれは

334 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:26:02.98 ID:jxd6X7lC.net]
>>320
こんなこと書くから勘違いするやつらが出てくるんだよ

335 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:29:43.37 ID:9G4t6eWS.net]
逆でしょ
コンテキストが同じでなければならないようなコードを書くほうが問題がある
UIのように物理的な制約でコンテキストを同じにしなければならないようなケース以外ではコンテキストに暗に依存すべきではない

336 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:30:07.33 ID:uOk0laYQ.net]
>>320
web用なんてどこにも書いてないじゃんw
どういう読解力だよ

337 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:37:13.75 ID:sYWqerlW.net]
>>324
スレッドの一貫性を要求する既存のライブラリやAPIや既存コードが世の中にどれだけあると思う?
現代の実用的なソフトウェアって、君が思ってる以上にスレッドに強く縛られてるんだよ

338 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:42:26.44 ID:9G4t6eWS.net]
>>326
そんなものにガッツリ依存するような書き方を普段からするのが良くないのでは?

339 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:44:03.24 ID:sYWqerlW.net]
>>327
俺もそう思うけど、そういう要件に遭遇するたびに会社辞めるわけ?

340 名前:デフォルトの名無しさん mailto:sage [2017/06/15(木) 23:50:57.96 ID:pnr+bbz5.net]
>>328
一気に話が飛躍したな



341 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 06:35:48.13 ID:FrehRa+N.net]
>>328
それはあなたの自由だけど普通はもっとコストの低い方法を探すだろうね

342 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 06:41:26.24 ID:nG3qIF/t.net]
依存しまくってもいいんだよ
何でもかんでも分離しとくのがコードの形としては理想だけど手間かかるからな
その手間と

343 名前:依存することによるデメリットを比べて考えろ []
[ここ壊れてます]

344 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 07:46:02.57 ID:FrehRa+N.net]
何を言ってるんだろうこの人は
要らない手間を減らすために疎結合にするんだろ
あちこち依存しまくったら何をしようとしてもめちゃくちゃめんどくさくなるぞ

345 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 07:53:25.18 ID:zHlBmHmO.net]
疎結合にしたところでスレッド一貫性への依存は回避できないよ?
どう足掻こうが最終的には同期コンテキストに頼ることになる

346 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 09:28:49.43 ID:CvLow468.net]
なにまたUIスレッドくんなの?
豆腐の角に頭ぶつけて死ねよ

347 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 10:07:23.75 ID:pyKmluG/.net]
UIスレッドなくすと手間じゃなくて、グラフィックなどのパフォーマンスに影響出るからね

348 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 23:44:52.36 ID:c8qzsUGp.net]
最終的には同期とるけど最後なるまではコンテキストに依存しない方が良い
未だにデスクトップ開発してる子ってこんな簡単なこともわからないんだなぁ

349 名前:デフォルトの名無しさん mailto:sage [2017/06/16(金) 23:54:05.06 ID:A6bnq7Mz.net]
いやデスクトップとか関係ないからw
昨日から何か勘違いしてる「俺スゲー」バカが湧いてるけど、こういう奴ってそもそも
非同期メソッドのメリットがどこにあるのか理解してないんじゃないのか

350 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 00:08:56.85 ID:VR3qdmCX.net]
>>337
流れ読めよ
アホなこと言ってるUI君を揶揄するからデスクトップって単語が出てくるんだよ
いや馬鹿には数スレ読むのも難しかったかこりゃ失敬



351 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 00:13:07.65 ID:cX5L/y8y.net]
悪いけど俺の目には反抗期のConfigureAwait(false)坊やが諭されてる流れにしか見えないな

352 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 00:27:31.93 ID:LVtaY0YU.net]
見え方は人それぞれだものね

353 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 02:40:14.58 ID:P+HusDAs.net]
>>338
数スレ読むのめんどいわ…

354 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 11:05:12.45 ID:BEwZTU1B.net]
イミュータブルなオブジェクトをクローンしたい
ただし1つだけプロパティを変更しつつクローンしたい
こういう時に使えるイディオムないか?

355 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 11:34:31.96 ID:Kwn7bNYp.net]
>>342
ない
それが頻繁に必要になるようなら設計ミスだ
集約の単位を間違えたってこと

356 名前:デフォルトの名無しさん [2017/06/17(土) 12:50:58.57 ID:6fW6JpEJ.net]
case class

357 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 13:07:13.23 ID:OoQM2ww5.net]
Fontのサイズだけ変えたいとか

358 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 16:03:58.52 ID:gVA3olL6.net]
コンポジションを簡単に書く構文は欲しい

359 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 16:13:25.11 ID:BEwZTU1B.net]
オブジェクトを複製したい
ただしIDと生成タイムスタンプは変えて
とかよくある

360 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 16:47:51.73 ID:CkD5o1Z0.net]
個人的にはオブジェクトを複製する機会がほとんどない
設定フォーム出す前ぐらい



361 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 16:51:08.65 ID:CkD5o1Z0.net]
不変な物だったらコンポジションでいいと思うけど
複製コスト考えたらなおのこと

362 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 19:20:20.32 ID:x959dLvJ.net]
イミュータブルとか言って意識高い系を気取るなら
IDが付いてるかどうかは値ではなく型で区別できるようにすべきだし、
更新時刻のようなメタデータを混ぜるのも美しくない
コンポジションでいいよ

363 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 19:24:31.07 ID:PeeF0/YZ.net]
更新時刻はドメインによってはメタデータとは限らないしIDのくだりは意味不明です

364 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 20:06:28.18 ID:cY2SfCVS.net]
>>342
ルー大柴みたい

365 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 21:30:39.68 ID:gwKlEbVi.net]
object obj = GetX(); //objectを返す処理

if(obj == null) //nullなら処理終了
return;

func(obj); //続きの処理

みたいな処理書く時のnullチェックって簡潔にならない?見た目が

366 名前:好きじゃないのよね
if(obj!=null)ならまだいけるんだけど、等号ってのがなんか気持ち悪い
if(!obj)みたいな書き方があればいいんだけど
[]
[ここ壊れてます]

367 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 21:31:16.46 ID:KwnIyY64.net]
確かにルー語っぽいな

368 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 21:34:20.92 ID:f5T73F7L.net]
>>353
真面目な話、むしろそういう自分自身を気持ち悪いと思った方がいいよ
くだらない

369 名前:デフォルトの名無しさん mailto:sage [2017/06/17(土) 22:55:47.97 ID:x959dLvJ.net]
>>353
obj?.func()

370 名前:デフォルトの名無しさん mailto:sage [2017/06/18(日) 02:25:14.82 ID:hOVO0je6.net]
>>356
これって?を見逃しそうであんまり好きじゃないんだよな。
1行で終わる関数やプロパティではいいけど複数行あるような場所じゃ使わない。



371 名前:デフォルトの名無しさん mailto:sage [2017/06/18(日) 09:51:04.51 ID:LYHl+woc.net]
not nullableとかoptionalとか早くnull対策の拡張して欲しいね
これがあるとコードが明快かつスッキリして気持ちがいいんだ

372 名前:デフォルトの名無しさん mailto:sage [2017/06/18(日) 11:12:50.35 ID:gBGY/PYC.net]
あからさまにアンチを釣ろうとするなよ
休みなのに暇人かお前

373 名前:デフォルトの名無しさん [2017/06/19(月) 20:45:39.85 ID:flULi9iV.net]
HttpWebRequestでログインした際のCookie情報を
webBrowserにわたしたいんですがどうしたら良いでしょうか?

HttpWebRequestでのログイン方法は以下のサイトを参考にしました。
C#によるWEBサイトへのログイン方法(ベーシック認証、クッキー認証)
>Aクッキー認証(ニコニコ動画へのログインサンプル)
>c-loft.com/blog/?p=637

374 名前:デフォルトの名無しさん mailto:sage [2017/06/19(月) 20:58:16.79 ID:+e5fxQUd.net]
すっげえ既視感

375 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 00:25:26.64 ID:0dk+Bj02.net]
Selenium使ったほうが楽よ

376 名前:デフォルトの名無しさん [2017/06/20(火) 10:06:33.61 ID:JuzXtFrS.net]
>>362
seleniumだとブラウザ立ち上がるから嫌なんですよ

377 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 12:17:01.73 ID:iIE7QTSf.net]
>>363
ブラウザが立ち上がらないドライバもあるよ

378 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 13:49:47.98 ID:RwIO/rjq.net]
C#でそこそこ大きなアプリ作りたいんですけど何かフレームワーク的なものってありますか?
PHPでいうとCAKEPHPとかそういうのがあると嬉しいです
どなたか教えてください

379 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 13:50:19.99 ID:RwIO/rjq.net]
>>365
因みに作るアプリはウィンドウズアプリです

380 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 13:56:38.70 ID:pKmK4wVA.net]
コントロールやライブラリがいっぱい用意してあるのに.NETはフレームワークとして認められないのか



381 名前:デフォルトの名無しさん [2017/06/20(火) 15:29:08.65 ID:JuzXtFrS.net]
ヘッドレスだと内容がわからないんでちょっと困るんです・・・
注文が多くてすいません・・・。

382 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 20:11:36.18 ID:yezLQglS.net]
注文が多いのは別に構わん
それに応えるのがプログラマーなんだから
後出し情報は勘弁して欲しい

383 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 20:28:55.41 ID:ooaxCRfM.net]
.NET【フレームワーク】は?

384 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 20:55:37.48 ID:ZGgDmAaP.net]
>>369
全く質問に答えてない件

385 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 21:02:22.49 ID:O8ihspy2.net]
そもそもアプリって何

386 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 21:19:15.49 ID:WlcUYLIV.net]
今ならxaml+Prismかのう

387 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 21:22:49.88 ID:0OgRQROP.net]
普通にASP.NET MVCでしょ
このスレはWebアレルギーなおじさんが多いけどペチパーなら違和感なく馴染めるはず

388 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 21:53:51.14 ID:yezLQglS.net]
>>371
仲間だね

389 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 22:11:42.85 ID:UY9c0ml0.net]
>>368
デバッグ時は普通のブラウザ
運用時はヘッドレスブラウザ
運用時に何も見えないのが嫌ならコンソールで出力したっていい
ブラウザコントロールはオートメーションのためのコントロールじゃない
オートメーションしたいなら然るべきツールを使おう

390 名前:デフォルトの名無しさん mailto:sage [2017/06/20(火) 23:32:36.55 ID:TEAjB2PS.net]
津波の心配はないか

DASH島助かったな!!!!



391 名前:デフォルトの名無しさん mailto:sage [2017/06/25(日) 17:34:46.59 ID:sNamIhLK.net]
非同期でフォームをフリーズ?させずにコントロールをいじることはできないのでしょうか?
Invokeを使ってもつまるところ一緒だと思うのですが、何か方法はありませんでしょうか。

例えるとタスクマネージャのような感じです。

392 名前:デフォルトの名無しさん mailto:sage [2017/06/25(日) 18:09:19.52 ID:DRN741Gu.net]
何がしたいのかわからない
コントロールを作ったスレッドからしかコントロールの操作はできない

393 名前:デフォルトの名無しさん mailto:sage [2017/06/25(日) 18:23:14.24 ID:fMxhTN4O.net]
>>378
> Invokeを使ってもつまるところ一緒だと思う
よくわかってないならまずは言われた通りInvoke使っとけよ

394 名前:デフォルトの名無しさん [2017/06/29(木) 10:39:10.46 ID:Hj4U7zK8.net]
Formを閉じるとき、FormClosingイベントが2回走るんですが何故だかわかるでしょうか

395 名前:デフォルトの名無しさん [2017/06/29(木) 10:54:15.53 ID:Hj4U7zK8.net]
すみません。ボケでした。解決しました

396 名前:デフォルトの名無しさん mailto:sage [2017/06/30(金) 01:26:32.30 ID:NeWeP0/V.net]
C#とうかvisualstudioの質問なんですが、
https://www.youtube.com/watch?v=vSi7hINZJds&t=767s
この動画の5:30くらいでやってる
rect.noでif文入ってるのってコードスニペット?ReSharperの機能?

397 名前:デフォルトの名無しさん mailto:sage [2017/06/30(金) 08:00:53.33 ID:raM0njdy.net]
>>383
スニペット

398 名前:デフォルトの名無しさん mailto:sage [2017/06/30(金) 14:23:27.35 ID:YD6uFwbU.net]
なんかエロいな

399 名前:デフォルトの名無しさん mailto:sage [2017/07/06(木) 09:16:56.19 ID:9B2MU8kU.net]
webbrowserでダイアログボックスを開いて操作することってできるんでしょうか?
たとえば画像アップロードサイトでファイルをアップロードするために「ファイルを選択」ボタンを押すと
ファイル選択画面になりますが、ここにファイル名を自動で入力して自動で「開く」ボタンを押したいと。

外部のブラウザならウィンドウハンドルを取得してそこに投げてやればいいのはわかるのですが、
webbrowserでやろうとして失敗しました。

400 名前:デフォルトの名無しさん mailto:sage [2017/07/06(木) 09:18:40.56 ID:9B2MU8kU.net]
すいません、初心者なんで初心者用のほうで聞いてきます。



401 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 10:12:04.88 ID:1lt3p8X+.net]
デフォルトメーラーの新規メール作成画面を、任意の添付ファイル付きで起動するには、どうしたらいいでしょう

402 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 11:16:09.32 ID:Bu34+FIl.net]
>>388
確実にやるのはたぶん無理なんじゃ...

ググったらmailtoで添付ファイルを指定する非標準の方法があるらしいので、
環境次第で運がよければこれで動くかも
hardsoft.at.webry.info/201307/article_3.html

403 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 11:35:07.85 ID:1lt3p8X+.net]
>>389
ですよねー
mapiのlibraryも気軽に使えないし
素直にoutlook限定でやるしかないのかしら…

404 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 12:03:20.31 ID:Q2kSZF88.net]
ウイルス散布に加担したらダメだよ

405 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 19:33:51.77 ID:e3ACTHSG.net]
>>391
お薬増やしておきますねー

406 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 20:23:24.63 ID:iPri5UgE.net]
ジアゼパムとエチゾラムをお願いします

407 名前:デフォルトの名無しさん mailto:sage [2017/07/07(金) 23:28:02.58 ID:S/LuXCmi.net]
コトリンに完全に出遅れた感があるね
Javaと一緒にオワコンになりそうだ

408 名前:デフォルトの名無しさん mailto:sage [2017/07/08(土) 01:20:19.99 ID:myez7kG5.net]
Listって添え字とかCountの戻り値の型がintだけど要素数はintの最大値が最大なの?
ulongとまでいかなくてもせめてuintの最大値くらいのサイズで使いたいのだけど

409 名前:デフォルトの名無しさん mailto:sage [2017/07/08(土) 02:24:32.26 ID:5h0TkCqA.net]
>>395
intの最大値まで
https://stackoverflow.com/questions/7885294/list-size-limitation-in-c-sharp?lq=1
によると64bitプロセスでフラグ指定しないと2gb以上は取れないので注意

Listは大量の値を扱うのにはおすすしないので、実装を考え直したほうがいい

410 名前:デフォルトの名無しさん mailto:sage [2017/07/08(土) 09:17:17.05 ID:E11ArQO6.net]
無かったら作ればいいのに



411 名前:デフォルトの名無しさん mailto:sage [2017/07/08(土) 10:24:58.17 ID:e99XA9TK.net]
そんな巨大なものを汎用コレクションで扱う意味がわからないな
そんなのIListとかを受け取る既存の特に巨大なコレクションを考慮してない普通のメソッドに渡しても現実的に機能するとは思えないんだが

412 名前:デフォルトの名無しさん mailto:sage [2017/07/08(土) 13:25:53.27 ID:myez7kG5.net]
レスサンクス
いやC#初心者で手抜きできるならしたかっただけなんだ

413 名前:デフォルトの名無しさん mailto:sage [2017/07/08(土) 14:32:39.37 ID:E11ArQO6.net]
uintの最大個までListに放り込みたいものってなに?

414 名前:デフォルトの名無しさん mailto:sage [2017/07/08(土) 17:51:50.41 ID:YUtLAjvF.net]
C#初心者なだけで他になれてる言語でもあるのか?
億超える変数をメモリ上における言語なんてある?

415 名前:デフォルトの名無しさん mailto:sage [2017/07/09(日) 01:53:58.05 ID:mKtvmXn9.net]
いやそれはいくらでもあるだろ

416 名前:デフォルトの名無しさん mailto:sage [2017/07/09(日) 09:57:06.90 ID:tkfa9uT4.net]
もうDB使うレベルやな

417 名前:デフォルトの名無しさん mailto:sage [2017/07/09(日) 13:56:59.39 ID:Uu/MlKNR.net]
インメモリデータベース

418 名前:デフォルトの名無しさん mailto:sage [2017/07/09(日) 14:08:11.79 ID:S5LsK0hK.net]
理想的だな

419 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 11:28:28.03 ID:EmERqEm/.net]
なぜLINQ to SQLを使わないのか疑問

420 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 11:39:22.19 ID:yJItLXdh.net]
LINQ to SQLはもう非推奨だよ
今でも使ってる人は早く次へ行こうよ



421 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 11:48:54.44 ID:W7xAmVRj.net]
LINQ=LINQ to SQLのイメージ付いた人多いからLINQ自体非推奨とか言い出しそうで怖い

422 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 12:23:23.74 ID:RlFgreuI.net]
>>407
ソースは?まじで非推奨なん?

423 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 12:41:08.32 ID:Rv/0H3M6.net]
>>409
entity frameworkと言う後継技術にリプレース
常識すぎるのでソースはggrksレベルだよ

424 名前:デフォルトの名無しさん [2017/07/10(月) 17:56:50.23 ID:LYSrTSKk.net]
LINQ to SQLはしゃーない
普通のLINQとと違って単純に関数渡すわけにいかないから

425 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 18:56:53.91 ID:aRNupX/x.net]
list使うなって、entityframework使ってdbからlinqでtolistするの非推奨なん?

426 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 19:06:49.23 ID:W7xAmVRj.net]
>>412
ToListの後に何をするかによるんじゃね

427 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 19:30:14.32 ID:aRNupX/x.net]
まあ、データが多いなら、メモリに確保せず捨ててくのは当然か。
社内ツールぐらいしか作ったことない井の中の蛙だから大海に出たい。

428 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 19:52:25.49 ID:yJItLXdh.net]
LINQ to SQLは太古の技術だよ
EF使え

429 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 20:02:41.00 ID:/9uIjFdQ.net]
>>414
社内で自由に出来る程度がちょうどいいよ
他会社と共同作業になると制約が増えてストレス溜まる

430 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 20:29:55.71 ID:JNAwLfPr.net]
いまだにDataSetにFillしてぐるぐる回してます
源流がCOBOLの業務系デスマーチ製造会社



431 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 21:02:21.84 ID:dHw9F+cl.net]
開発スタイルがCOBOLのまま変わってないのに道具だけ進化しちゃうと悲惨だよね
COBOLだとコピペだらけの膨大なソースのせいで帳票に項目数個足すだけで一千万とか今でも珍しくないけど、
オープン系で「うちはCOBOL時代から変わらない伝統工法だから一千万かかるんです」はさすがに客に理解されないわな

432 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 22:47:00.60 ID:2kp3NGJ8.net]
講釈師ですか。

433 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 23:14:46.44 ID:VkqAVaqs.net]
>>415
EFとやらの旬な使い方を日本語で解説してるとこおしえてください!

434 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 23:24:29.00 ID:/9uIjFdQ.net]
英語ならあるよ

435 名前:デフォルトの名無しさん [2017/07/10(月) 23:36:05.03 ID:R8ssGM8f.net]
おまえらEFはクソだって言ってなかったか?

436 名前:デフォルトの名無しさん mailto:sage [2017/07/10(月) 23:45:05.83 ID:4EPWS+qv.net]
>>422
適切に使えばそれなりにうまくやれる

437 名前:デフォルトの名無しさん mailto:sage [2017/07/11(火) 01:04:14.26 ID:jBoq5GOq.net]
宝箱が開けれるようになるヤツだな知ってる

438 名前:デフォルトの名無しさん mailto:sage [2017/07/11(火) 09:23:49.97 ID:8YiL7FbQ.net]
>>412
できるだけIQueryableでメソッドチェーン引き回して最後にToListしようよってことだと思う
最後は必ず実体化しないとならないのだから、非推奨とかないはず

439 名前:デフォルトの名無しさん mailto:sage [2017/07/11(火) 11:23:21.32 ID:j1/9qlNe.net]
>>425
foreachで処理するならToList要らないし、他の処理にListで渡す必要がある時ぐらい?

440 名前:デフォルトの名無しさん mailto:sage [2017/07/12(水) 18:55:32.52 ID:VmPmhunD.net]
くだらないことにばっか頭使ってんだな。



441 名前:sage [2017/07/17(月) 22:08:05.23 ID:mirtEFzj.net]
EFで質問なのですが

<connectionStrings>
<add name="Model1" connectionString="data source=PC1 ・・・" />
<add name="Model2" connectionString="data source=PC1 ・・・" />
<add name="Model3" connectionString="data source=PC1 ・・・" />
</connectionStrings>

↑のModel1,2,3はApp.configに記録されているEntityで使う接続文字列の情報ですが

public partial class Model : DbContext
{
public Model()
   : base("name=Model1")
{
}

public virtual DbSet<Table_1> Table_1 { get; set; }



  }

↑のようなModel1の接続文字列の引数を
textBox1に1を入力ならModel1、2ならModel2に切り替えたいです。

442 名前:デフォルトの名無しさん [2017/07/17(月) 22:09:31.18 ID:mirtEFzj.net]
>>428
string strA = "name=Model1";

public Model()
   : base(strA)
{
}
↑のような書き方だと オブジェクト参照が必要ですとでるのでアドバイスお願いします。

443 名前:デフォルトの名無しさん mailto:sage [2017/07/17(月) 23:32:05.96 ID:vIOL7FYw.net]
>>429
Model(strA)

444 名前:デフォルトの名無しさん [2017/07/18(火) 00:06:41.77 ID:ijlJ8UfF.net]
>>430
うまくいきませんもう少し詳しくお願いします。


↓なら動くのですがModel1,2,3の切り替えをアドバイスが欲しいです。

const  string strA = "name=Model1";

public Model()
   : base(strA)
{
}

445 名前:デフォルトの名無しさん mailto:sage [2017/07/18(火) 07:10:33.87 ID:s/73FSwK.net]
ここ↓が参考になるかも
C#でApp.ConfigのConnectionStringを取得する - normalian blog
normalian.hatenablog.com/entry/20090115/1231992331

446 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 00:18:56.79 ID:ExUM14FQ.net]
構造体の1次元配列なんだけど、

(1) 4byte境界に配置されるって理解であってる?できればMSDNか何かの
ドキュメントのソース付きでお願いします

(2) これを制御する属性ってありましたっけ?

447 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 00:23:41.88 ID:zZzg+aGc.net]
>>433
StructLayout属性

448 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 18:23:24.47 ID:Xu5lLRpu.net]
今気づいたけど、C#って、
int a = 0xffffffff;

って書けない?
いちいち

int a = unckecked((int)0xffffffff);
って書かないといけないのか?

449 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 18:29:47.58 ID:0ZOLJsT0.net]
int a = -1;

450 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 18:44:23.24 ID:+nk+bbHI.net]
>>43



451 名前:5
0xと0bは使えるでしょ?
[]
[ここ壊れてます]

452 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 18:50:14.88 ID:EnlQf9aN.net]
>>437
0x7fffffffまでは使えるがそれ以上はuintと認識される

453 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 19:10:46.93 ID:Xu5lLRpu.net]
既定でuncheckedなのに何でリテラルだとこんな余計なお世話の仕様になってるのかね

454 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 19:20:15.67 ID:0ZOLJsT0.net]
intに範囲外の数値入れようとするのが悪いw

455 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 19:21:19.85 ID:+Y2q8IT3.net]
intに範囲外の数値入れようとするのが悪いw

456 名前:デフォルトの名無しさん [2017/07/19(水) 19:28:41.57 ID:XwmZjWyO.net]
var a = 0xffffffff;

うおおおおおおおおおおおおおおおおおおおおおおおおおおおおお

457 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 19:38:39.26 ID:EnlQf9aN.net]
>>442
桁倍にしても有効だぞ、良かったな
ここ初心者のスレか

458 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:00:47.31 ID:rzESQlxY.net]
>>438
そらそやろ

459 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:04:54.85 ID:twQ1sttd.net]
>>439
そらオーバーフローすることが分かりきってるからに決まってるだろ
C#ではオーバーフローすることが予め分かっている場合は必ずuncheckedを明示的に指定するのが正しい作法
そうしておけばコンパイルオプションでcheckedに変えてデバッグできる

460 名前:デフォルトの名無しさん [2017/07/19(水) 20:04:57.84 ID:XwmZjWyO.net]
居るんだよなあどこにでもvarに嫉妬するやつって



461 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:37:22.76 ID:Xu5lLRpu.net]
>>445
そんなしょういもない意見を偉そうに言われても

オーバーフローすると分かり切ってるかどうかはまったく明らかじゃない。
0xffffffffの型をuintのリテラルだと解釈すればその通りだけど、これは4バイトのビットイメージを表していると
解釈すればオーバーフローじゃないし、そういう解釈を採用することだって可能だったはず。

そもそも16進表記の用途ってそういうものだし。
だいたい、
int a = 0xffffffff;
こう書けて困る奴がいるのか。

462 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:41:34.71 ID:98PRqi2l.net]
Cでも使ってろよ。

463 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:42:05.04 ID:+Y2q8IT3.net]
> そもそも16進表記の用途ってそういうものだし。
それはおまえが思ってるだけ

464 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:45:59.23 ID:98PRqi2l.net]
ビットイメージならunsigned使うわ。

465 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:46:36.08 ID:EnlQf9aN.net]
>>447
SingleやDoubleでもビットイメージとして判断するのか
めんどくさいやつだな

466 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:47:20.63 ID:343mOtvi.net]
decimalってビットイメージ出来るのかね
構造上無理そうだけど

467 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:49:23.21 ID:Xu5lLRpu.net]
まあ、やっぱり規定でunckeckedなのにリテラルや定数で初期化する時だけ
チェックが入るのは一貫性がないし、余計なお世話としか思えないね

468 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:50:37.07 ID:Xu5lLRpu.net]
>>451
めんどくさい馬鹿だけど、その型をそんな用途に使う馬鹿がいたらな

469 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 20:52:25.37 ID:98PRqi2l.net]
今のC#はもはやC++屋が使えるレベルの代物じゃない。ゴミだよ、ゴミ。

470 名前:デフォルトの名無しさん mailto:sage [2017/07/19(水) 22:01:41.86 ID:9Vel0OtR.net]
C++屋が?



471 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 06:34:16.61.net]
わかりきったこと聞くなよ

472 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 07:25:07.52.net]
馬鹿が使うC#だからな

473 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 23:51:31.37 ID:JdAThHVQ.net]
>>447
unchecked不要は意見として分からなくもないが、
キャスト不要は無理筋でしょ。

// キャストは必須
uint x = 0xffffffff;
int y = (int)x;
// 定数の時のunchecked必須はお節介?
const uint x = 0xffffffff;
int y = unchecked((int)x);

474 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 23:53:42.06 ID:+Ec9GEX5.net]
言語仕様としてはガチガチにするべき。

475 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 23:55:11.01 ID:VLbcOU7T.net]
つまらんところにこだわるのはコードあまり書かない人だと偏見を持ってる

476 名前:デフォルトの名無しさん mailto:sage [2017/07/21(金) 23:57:49.85 ID:+Ec9GEX5.net]
分野は違うけどイチローってほんと細かいこと拘ってるよな。MSで言えばカトラーが細かいことに煩いか。

477 名前:デフォルトの名無しさん mailto:sage [2017/07/22(土) 00:05:45.89 ID:HGcWbmUZ.net]
自由な環境で仕事できてる幸運な人はこだわりも強い
そんなことを言ってられない可哀想な人はこだわりなんて持てない

478 名前:デフォルトの名無しさん mailto:sage [2017/07/22(土) 00:13:32.06 ID:aL/Y+CP+.net]
それに比べてヘジは妥協ばかりだなぁ。

479 名前:デフォルトの名無しさん mailto:sage [2017/07/22(土) 01:07:20.68 ID:edA5aDli.net]
>>459
個々のリテラルごとに型がきちんと確定しないと式の解釈があいまいになるのは分かるけど、
整数の定数式なんかビットイメージをそのまま代入してくれた方が便利だしそれで誰も困らんと思うけどな

480 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 17:38:17.44 ID:zqz/aOFQ.net]
this.xxx
みたいな使い方のthisキーワードって極力省略すべき?
それともなるべく書くべき?
省略すべきときと書くべきときの使い分け方あったら教えてほしい



481 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 18:24:36.68 ID:NUVOTero.net]
そもそもthisを経由しないメンバ呼び出しを「省略」だっていう認識がおかしいと思うよw
であれば、どうすべきかは自明じゃないのかな

482 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 19:12:11.02 ID:OUv6HBfP.net]
>>466
俺は引数と名前が被るときぐらいしか書かない

483 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 19:50:37.71 ID:YzZxzy1N.net]
>>466
どっちでもいい
コーディング規約次第
規約がないとか仕事じゃないなら好きにするといい

484 名前:デフォルトの名無しさん [2017/07/24(月) 19:52:15.25 ID:N63h5KIm.net]
>>466
いらない

485 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 20:28:49.72 ID:iIer8sIW.net]
>>466
StyleCopは書けと言っている

486 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 20:38:13.55 ID:bQt6C+LF.net]
thisという特殊なメンバ変数を持っている
ただその変数から間接的に参照できるってだけなのかな
それなら必要に迫られない限りわざわざ使う必要はない気がする

487 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 21:08:43.55 ID:+C1DpUqY.net]
同じ名前のメンバーとローカル変数を区別する時に必要だな

488 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 21:08:44.72 ID:rFcqzFTD.net]
メンバー変数を表すプレフィックス(m_とか)を付ける位なら、thisを付ける

489 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 21:13:19.72 ID:/pYWVXm9.net]
typescriptはthis必須

490 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 21:18:06.41 ID:vlNeOTKM.net]
今のVSは必須でないときにthis付けるとデフォルトで警告出るね



491 名前:デフォルトの名無しさん mailto:sage [2017/07/24(月) 21:18:16.25 ID:W8FE/dUa.net]
必ずしも必要ないとき、thisの有無で生成される中間コードって変わるの?

492 名前:デフォルトの名無しさん [2017/07/24(月) 21:39:57.27 ID:gSQHFbLF.net]
>>477
な訳

493 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 22:18:16.96 ID:i4RyLWeT.net]
書いた方がいいよ、this。どこの変数か分かりやすい。
今は被らなくても何年か修正し続けるうちに
いつか被るかもしれないし。

494 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 22:25:58.27 ID:Oz2LyY6P.net]
どこの変数か分からない名前付けしているの?

495 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 22:31:41.46 ID:Qr8ugTQa.net]
>>480
どういう名前付けてる?

496 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:11:04.94 ID:zpZ2WILs.net]
m_
g_

前に付けたらすべて解決。

497 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:28:09.07 ID:6OYkKaWV.net]
どこの変数か分からなくなるような長いもん書くなというアレだっけ

498 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:37:16.47 ID:7hsh9F6M.net]
アンダースコア入れない派。
mXxx
もしくはアンダースコアのみ。
_xxx

499 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:49:27.38 ID:VPdIi3jg.net]
>>482
解決も糞もそもそも問題なんか存在しませんってw

thisつける(つけろ)って言ってる人の大半は釣りだと思うけど、
マジで言ってる人は(悪いけど)まともじゃないから相手にしちゃダメww

500 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:51:38.91 ID:VPdIi3jg.net]
それと、仮にC#でフィールドにプリフィクスつける意味があるとしたら、
それはプロパティやそのバッキングフィールドとの区別をつけやすくするため。

それ以上の意味はないし、それも本当に意味があるかかなり怪しい



501 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:57:15.08 ID:zpZ2WILs.net]
(※個人的な感想です。)

502 名前:デフォルトの名無しさん mailto:sage [2017/07/25(火) 23:58:36.91 ID:7wirVU/N.net]
しばらく考えていたらthisをつけたらいい理由が思い浮かんだ
なんとなく納得したけど自分のコードではつけない

503 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 00:08:11.62 ID:CEnmMLln.net]
C#ではメンバーアクセスはプロパティで行うのが基本
大文字小文字が違うから引数やローカル変数とかぶることはまずない

504 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 00:22:23.76 ID:QV6iOXIK.net]
さっき思いついたのはそんな理由じゃなくてバグの温床になるからだ
途中でコード変更してメンバ変数と同じローカル変数を加えると
それまでメンバ変数に対する処理や参照だったものが全部ローカル変数がターゲットになってしまう
int a=0
int Calc()
{
a++;
return a;//これはthis.a 1
}

int a=0
int Calc()
{
int a=100;//これを追加
a++;
return a;//これはローカルa 101
}

505 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 00:28:55.60 ID:Pjw6cyms.net]
自分はthisつけない派だけどいつかバグは出してもおかしくない
ローカルとメンバ変数同じ名前にしなければ問題がないけど
listやtextやcountはやりそうで怖い
かといってアンダースコアもつけたくない

506 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 00:30:38.05 ID:qHYVpVTl.net]
名前忘れたときに一覧出すためにthis.って打つだけや。

507 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 01:06:05.63 ID:u+EoOV6S.net]
>>490
そういうのを「為にする議論」という
温床てw
蓋然性が存在するのと「温床になる」って全然レベルの違う話でしょw

508 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 01:35:50.01 ID:byKyVLqN.net]
好きにすればいいよ
思いこみを語ろうとする人は仮説検定してから述べて

509 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 03:13:40.70 ID:wiJa4ooL.net]
de:code2017でMSのちょまどはthis付けろって言い張ってんじゃん
インテリセンス利くからやりやすいじゃんって感じだったけどね

int aみたいな一文字ローカル変数なんて使うならthis打たんのだろうがの

510 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 03:48:31.27 ID:ffnmq/c1.net]
thisつけない派だけど困ったことないなー
クラスがでかすぎるとかメソッドがでかすぎるとかを起因として名称が増えまくって名前が被るんじゃね?って思ってしまう



511 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 04:38:24.67 ID:NppfEv0Z.net]
メンバ名は大文字から書いて、ローカル変数は必ず小文字から書くので重複はないと信じたいが不安はある

512 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 07:44:08.72 ID:3xAC3WuT.net]
>>495
一文字はともかく、ローカル変数の名前なんか短くていいわ
俺はローカル変数は極力一単語で済ませるようにして、
それ以上長い名前を付けたくなったらスコープが長過ぎることを示す悪い匂いだと考えてる

513 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 08:01:32.50 ID:3xAC3WuT.net]
あと長い名前を付けたがるケースとしてありがちなのが、同じものを表す変数に対して一貫して同じ名前を使うことで品質を高めようというCOBOL的発想
必ずしも悪いとは言わないけど、大抵は適切にクラスを使えてないだけ

514 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 08:39:55.25 ID:op+tX9S+.net]


515 名前:で内部に別クラスを持ち、クラス名をプロバティーにして、それを内部で使うときにthis使うかな []
[ここ壊れてます]

516 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 10:14:48.48 ID:Pjw6cyms.net]
ちょまどもその程度なんだよ

517 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 10:38:12.08 ID:NHLh2Zn7.net]
ガイドラインやルールで決まってないんだから
ローカルルールに則っときゃいんだよ。趣味なら好きにすりゃいいし、ちょまど信仰者なら言うこときいときゃいい

518 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 11:05:22.72 ID:Cox8uos8.net]
だーから、スコープによる隠蔽がバグの原因になるって
蓋然性としてはありうるが現実にありがちかって言えば全然そうじゃないよw

長年プログラマやってるけど、少なくとも俺は一度も経験ないね。
だいたいそれが本当にバグの原因になるのならthis付けろじゃなくて
隠蔽なんかなくせと主張するのが正しい。
オーバライドもオーバーロードも使えなくなるけどね

インテリセンスにクラスメンバー一覧を表示させるためにthisをつける(つけろ)って言う奴もバカ。
本当にそんな機能が欲しいなら、そんな姑息的手段じゃなくてインテリセンス自体に
そういう機能とショートカットキーを追加してくれと主張すべきだ

いやそもそもいらないけどねそんな機能

519 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 11:24:14.60 ID:Pjw6cyms.net]
>>503
言語仕様変えろって言うほうがおかしいだろw
頭大丈夫か?

520 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 11:26:18.98 ID:Pjw6cyms.net]
ありがちじゃないからこそ問題なんじゃないか
指摘されるまでそれが問題だなんて意識すらしてない



521 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 11:35:37.24 ID:Cox8uos8.net]
>>504-904
頭悪すぎて反論する気にもならん。

522 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 11:45:50.66 ID:Cox8uos8.net]
まああれだ、杞憂って言葉があるけど、>>505は今後一切外に出ない方がいいよ。
だって外に出たら、隕石が君の頭上に落ちてくる蓋然性は存在するからな。

そんなこと地球上で何十年に一人経験するかどうかってレベルのはずだが、>>505によれば
ありがちじゃないからこそ問題なんだよね。

指摘されるまでそんな問題が存在すると意識してなかったろうけど、
今ちゃんと指摘したよ?

523 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 12:02:11.22 ID:Pjw6cyms.net]
ここまでのアホは見たことない
触るだけ損だなw

524 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 12:04:27.95 ID:Pjw6cyms.net]
>>507
それだったらデバッグする必要ないよな
お前はテストも否定しそうだな
お前の言い方じゃ10年に一度起こるバグもほっとけばいいんだろ

525 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 12:10:17.45 ID:iRPu4Cf2.net]
>>506
お前のせいで904までアンカーついたぞ
死ねハゲ

526 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 12:14:59.82 ID:86kwINRT.net]
レスの多い方が勝ちだとでも思ってんのか
昼休み終わったらそれ以上続けるなよ

527 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 12:26:52.20 ID:NHLh2Zn7.net]
ばかvsばか
まさに熱い夏

528 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 12:41:56.40 ID:k3AkEgWV.net]
絶許狙いのガイジID:Cox8uos8に触れるな

529 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 20:08:10.13 ID:qHYVpVTl.net]
急に単発の煽りが増えたなぁ。そういえばゆとりは夏休みやな。

530 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 21:24:47.56 ID:5gVt8qYH.net]
thisつけないってヒトのレスは頭オカシイから
自分は今後はthisつけるようにする。



531 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 21:55:49.84 ID:jF4Wb4A9.net]
そんなあぼーん宣言みたいなしなくていいよ
負け犬臭い

532 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:02:24.09 ID:/gzQVqUl.net]
会社のルールとかじゃなければ自分の好きにしたらいいのに
何のために2chで「俺はこう書くぞ」宣言なんかするんだろ

533 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:02:24.86 ID:Cox8uos8.net]
それが自覚できないから言ってるんだから言っても無駄だよw

頭の悪い奴って総じて自分が見えてないし自分に突っ込む能力がないし
自分が他人からどう見えるのか考える能力が欠如してるから見てて笑えるけど、
なんか哀れだよね。

534 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:03:05.46 ID:Cox8uos8.net]
>>517
うん、絵に描いたような酸っぱいぶどうだねそれ

535 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:09:22.94 ID:Cox8uos8.net]
頭悪い奴ってさあ、議論で勝てないとすぐにこうやって問題をずらすんだよね。
そんあすっぱいぶどうを取る方法を議論してどうするんだ、ってねw

そんなことで勝ったつもりになれるところがまた頭の悪い所以でもあるんだけど、
それがただの幼稚な防衛機制でしかないことに本人がまったく気が付いてないところが
見てて哀れだよねほんと

536 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:18:53.17 ID:0qyy9e35.net]
頭悪い奴って毎回長文だよね

537 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:42:01.16 ID:qHYVpVTl.net]
逆やw ふつうは馬鹿のほうが長文は書けへんもん

538 名前:やw []
[ここ壊れてます]

539 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:42:41.57 ID:kVXZn+TQ.net]
>>522
2ちゃんは初めてか?

540 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:45:27.80 ID:ZdFVUMtA.net]
いやーだらだら書くだけなら簡単だよー
思いついたこと片っ端から書いていったらいいんだもん
もちろんいい長文は難しいけどね



541 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:51:57.92 ID:qHYVpVTl.net]
>>523
あほかこいつ。コテもつけず単発IDのゴキブリが話に入ってくんな。100年ROMってろや。

542 名前:デフォルトの名無しさん mailto:sage [2017/07/26(水) 22:57:09.38 ID:ZdFVUMtA.net]
このスピードで単発煽りとかマジか

543 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 00:05:39.25 ID:pBeXUKYV.net]
ここ何のスレだよwww

544 名前:デフォルトの名無しさん [2017/07/27(木) 01:02:19.10 ID:q1rhXXen.net]
ID:0qyy9e35 = ID:kVXZn+TQ = ID:ZdFVUMtA = ID:pBeXUKYV

分りやすいwww

545 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 02:12:01.71 ID:dT7rWBv0.net]
>>525
コテつけろよ

546 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 05:07:47.58 ID:8Pl9AOTH.net]
ここの住人よりMS社員の方が信頼できる

547 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 06:41:15.13 ID:dT7rWBv0.net]
肩書程度で信じるなよ

548 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 06:42:14.60 ID:DHwQ8OYH.net]
ちょまどはMS社員と言っても営業みたいなもんでプロダクト作ってるわけじゃないからなあ

549 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 06:43:39.12 ID:DHwQ8OYH.net]
あと、MSの公式な見解としては「VSのデフォルトでは警告」という事実があるわけだし

550 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 12:44:28.47 ID:dT7rWBv0.net]
デフォルトで警告でるのか?



551 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 15:14:21.59 ID:Z//NMKrJ.net]
>>534
2015でも2017でもそんな記憶がない

552 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 15:43:58.34 ID:rNF4SuJb.net]
>>535
IDE0003ね
ちなみに.NET Coreのスタイル規約
https://github.com/dotnet/corefx/blob/master/Documentation/coding-guidelines/coding-style.md

553 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 15:59:54.41 ID:dT7rWBv0.net]
つまりthis書いても省いてもデフォルトじゃ警告でないってことだな

554 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 19:12:46.44 ID:+34Fnjid.net]
コーディングスタイルなんてどうでもよかねえか
パブリックAPIが標準から逸脱していない
クラス(1ファイル)の中で一貫性がある
これだぇ守ってくれりゃとくに苦もなく読める
それよりまともな構造を追求することに労力を使おう
構造がクソだとスタイルでどう頑張っても読めないよ

555 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 22:06:26.64 ID:P8zzUyc0.net]
>>538
お前が読めるかどうかなんてどうでもいい
プロジェクトに参加してるあまり程度の高くない協力会社のコーダーにも読めることが必要
まあコーディングルールの話に構造がぁって言う奴はたぶんうちが使ってる協力会社よりレベルは低そうだが w

556 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 22:11:23.55 ID:aAe8+IMH.net]
>>538
読めるかどうかじゃなくて、いろんな書き方されると読むのにいらん苦労するから
書き方のスタイルを決めましょう、って言うのがコーディングルール
いろんなスタイルの大量のファイルやクラス読まされてみ

ちゃんと動いてるコードが読めないようならプログラマ失格だな

557 名前:デフォルトの名無しさん [2017/07/27(木) 22:14:31.14 ID:8Pl9AOTH.net]
channel9.msdn.com/Events/de-code/2017/TL01
17:25〜this戦争

558 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 22:36:28.25 ID:lpXAd1IH.net]
C#実践開発手法という本が気になってるんですが、5000円越えと高価なので迷ってます。
この書籍、良書といえますか?

559 名前:デフォルトの名無しさん mailto:sage [2017/07/27(木) 22:58:14.83 ID:+34Fnjid.net]
スタイル規約だけはしっかりしてるスパゲティコードを何度見たことか
構造がスッキリしてればスタイルの違いなんてなんの苦労にもならない
ユニット内で統一感が取れてれば十分
それがユニットというものだ

560 名前:デフォルトの名無しさん [2017/07/28(金) 00:44:11.19 ID:OXiEJljk.net]
>>543
スパゲティの意味が違うだろ。



561 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 01:22:34.38 ID:zJzFrb+p.net]
スパゲティ知らないやついるんだ。
ドン引き。

562 名前:デフォルトの名無しさん [2017/07/28(金) 04:25:03.23 ID:OXiEJljk.net]
多少わかりにくいレベルでスパゲティというやつがいるから困る。

563 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 04:42:25.21 ID:OWwd/o6o.net]
>>542
VSのフォルダに言語仕様書のWord文書が入っているがそれで十分な気がする

564 名前:kadesu [2017/07/28(金) 10:39:02.10 ID:aEC8q9AI.net]
■概要
HTML・JavaScriptを自動解釈してくれるライブラリやツールを探しています。

■詳細
疑似WEBブラウザを開発中です。

指定したURLへのHTTPリクエストを飛ばして返ってきたレスポンス(HTML・JavaScript)を自動処理して、
後続のHTTPリクエストも飛ばす、というものです。

1回目のクリエストを飛ばしてレスポンスを取得するところまでは開発が完了していますが、
そのレスポンスを自動で解釈して次のHTTPリクエストを発行する機能を作りたいのです。

これを愚直に行うと、
レスポンス内容の中からURLに該当する文字列をピックアップしてURLを抽出して後続のリクエストを飛ばす・・となってしまいますが、
近年JavaScriptが自動的にリクエストを飛ばす処理も多くみられますので、現実的ではありません。

なので、2回目以降のリクエストを自動的に行うために、
HTML・JavaScriptを自動解釈して、2回目以降のリクエストURLを抽出してくれるようなライブラリやツールを探しています。

良いライブラリやツールをご教授下さい。(URLやライブラリ名など)
厳密じゃなくても似たようなものでも結構です。
※ちなみにWEBブラウザのような表示機能は不要です。あくまでHTTPリクエストを飛ばしたいだけです。

■開発環境(本質問とはあまり関係ないですが一応掲載します)
Microsoft Visual Studio Express 2012 for Windows Desktop
C++ CLI(NET Framework)

565 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 11:03:17.06 ID:H9Qo6cXw.net]
>>548
どこかで最近見たような内容だな
ここはc#スレなのでc++はスレチ

566 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 11:09:50.96 ID:4kYE+X2u.net]
https://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q10177240120

567 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 11:11:01.88 ID:epWJgUcs.net]
>>548
要はスクレイピングやWebサイト自動テストの類だろ
Selenium使え

568 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 11:11:29.66 ID:4kYE+X2u.net]
stackoverflowにもあるなw

569 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 11:57:07.10 ID:H9Qo6cXw.net]
とんでもないマルチポスト野郎なのか
それとも誰かが勝手にやってるのかw

570 名前:デフォルトの名無しさん [2017/07/28(金) 16:43:43.52 ID:AFEjF9o4.net]
失礼しま〜す
どこかにあるかもしれませんが質問を。

C#を  というか、プログラミングを始めたばかりなんですが、
メイン処理のソースが、ほかのところに回せそうな処理で長くなってしまうのは
格好が悪いとおもうのですが、自力ではどうにもならないです。
なにか、分散させる方法のアドバイスがあれば、どうかご回答をお願いします。



571 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 16:47:10.00 ID:6ZUJ6Gan.net]
>自力ではどうにもならないです

の意味がわからん
お前の書いたソースじゃないのか?

572 名前:デフォルトの名無しさん [2017/07/28(金) 16:58:23.24 ID:AFEjF9o4.net]
私が書きました。
でも、なんかダサい気がします。気がするんですがどう修正したらいいのかがわからなくて…

573 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 16:59:05.44 ID:eCIIVBTi.net]
動作を早くしたいのならループ中の余計な動作を減らすようにするとか
保守しやすいコードを書きたいのならデザインパターンなどを勉強するとかあるが
>>554
ソース示さずにそんなこと言っても自分のセンスの問題なんだからどうしようもないから諦めろ

574 名前:デフォルトの名無しさん [2017/07/28(金) 17:02:14.71 ID:AFEjF9o4.net]
>>557
ソース貼ろうか考えたんですが、ちょっと…

わがままです。ごめんなさい

575 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 17:10:32.68 ID:6ZUJ6Gan.net]
C#ならリファクタリングで処理を切り出したりしやすいし
リーダブルコードとか良いコードを書く技術とか読んで
いろいろやってみりゃいい

576 名前:デフォルトの名無しさん [2017/07/28(金) 17:17:37.98 ID:AFEjF9o4.net]
もっとソースみるなり勉強してきます。
ありがとうございました。

577 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 17:18:42.17 ID:4kYE+X2u.net]
短くしなきゃいけないという強迫概念に襲われてるやつ多いけど、別に長くてもいいよ。気にすんな

578 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 17:20:30.90 ID:mbT3OJMo.net]
ソースをhttps://ideone.com/みたいなとこに張ったら一発だよ
ここのお兄さんがたが知恵を絞って色々批判してくれるよタダで
そしてそれが、すこしの恥とひきかえにおまいを成長させる

579 名前:デフォルトの名無しさん [2017/07/28(金) 18:19:30.49 ID:AFEjF9o4.net]
>>561>>562
どうもありがとうございます

580 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 19:57:56.53 ID:wfFGjuoD.net]
前略main(引数略)
{
処理a;
処理b;
処理c;
処理d;
リターン
}



581 名前:デフォルトの名無しさん [2017/07/28(金) 20:32:00.92 ID:AFEjF9o4.net]
なにやら、「Stateパターン」というのを使えばきれいになりそうです

582 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 21:13:19.68 ID:/6BVCD/F.net]
Stateはアンチパターン
「状態は明示的かつ最小限に」が今風

583 名前:デフォルトの名無しさん [2017/07/28(金) 21:20:18.20 ID:AFEjF9o4.net]
へ〜。
じゃあどうするとよいのでしょうか...

584 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:10:55.08 ID:2VdCpbf6.net]
いいから>>562のサイトにお前の書いたコード貼れ

585 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:13:50.04 ID:ItR12R6X.net]
ろくにコード書かない初心者ばかりのスレに貼ってもしょうがないな

586 名前:デフォルトの名無しさん [2017/07/28(金) 22:42:33.73 ID:AFEjF9o4.net]
https://ideone.com/cHsNov

これでどうか。
どなたか優しくご教授になってくださるとうれしいです...

587 名前:デフォルトの名無しさん [2017/07/28(金) 22:44:40.17 ID:AFEjF9o4.net]
ほんとにはじめたてです。
VisualVasic使ってますが、機能がいまいち使いこなせません。

588 名前:デフォルトの名無しさん [2017/07/28(金) 22:49:28.94 ID:AFEjF9o4.net]
>>570
のやつ思った通りに動かないやつでした。
また貼りにきます

589 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 22:54:19.21 ID:wndodTEE.net]
長い... か?

590 名前:デフォルトの名無しさん [2017/07/28(金) 22:54:29.48 ID:AFEjF9o4.net]
https://ideone.com/C2DZMv
です。よろしくお願いします。



591 名前:デフォルトの名無しさん [2017/07/28(金) 22:55:23.06 ID:AFEjF9o4.net]
>>573
これから内容増やしまくるので、
本体から離したいです。

592 名前:デフォルトの名無しさん mailto:sage [2017/07/28(金) 23:55:21.82 ID:ai+ukChT.net]
プロジェクトまるごとどこかにUPした方が口出ししてもらえるかもよ

593 名前:デフォルトの名無しさん [2017/07/29(土) 00:21:01.93 ID:1x0TX8t+.net]
>>576
そうですね、ありがとうございます

594 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 00:22:42.64 ID:flgXEmXz.net]
>>574
分岐条件と処理の対応表作って飛ばすだけじゃだめなの?

595 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 00:29:09.54 ID:gp3BUyJn.net]
長い処理は長くていいと思うが保守目的なら、parial使ってソースファイル分けるのがいいかな。

596 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 00:56:00.91 ID:kJ48tJGw.net]
これはどうしようもないとまで言えないけど
こんなもんだろ

597 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 02:51:51.63 ID:gp3BUyJn.net]
すまん、スペルミス。partial ね。

598 名前:デフォルトの名無しさん [2017/07/29(土) 12:30:26.46 ID:1x0TX8t+.net]
>>580
こんなもんなんですね!
では気にせず書いていきたいと思います

>>581
partialについて勉強して、良さそうだったら使ってみようかと思います

ありがとうございました

599 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 12:37:15.78 ID:oSnm1RVH.net]
長いかどうかというか責務が分割されてるかだよ
責務が分割されてるなら自然と短くなる
ショートコーディングを突き詰めるのはその後

600 名前:デフォルトの名無しさん [2017/07/29(土) 12:41:24.13 ID:1x0TX8t+.net]
処理を1つ1つのシーンごとに完成させたいんですが、
キーイベントと描画で、一緒に書きたい部分が分けられちゃってるんです。
それを、できたらどうにかしたいと思います。



601 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 18:43:03.15 ID:gp3BUyJn.net]
ベースとなるシーンクラスを作る。キーイベントや描画の仮想関数も入れとく。
個々のシーンごとに、継承してクラスを作り、そこにキーイベントと描画を実装する。
ストーリー進行管理クラス作り、そこでシーンクラスの切り替えを行う。

602 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 19:23:12.73 ID:TPlqyDtD.net]
キーイベントをコマンドに変換してモデルに投げるクラス
モデルを描画するだけのクラス

これは分けとかないと後で泣くよ

603 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:14:15.70 ID:C4g3d83/.net]
C♯を触ってるけど、独習C♯をちょっとかじって、作りたい物ちょこちょこ適当に作ってるから綺麗なコードってのがよく分からない
このスレの人達はサンプルソース見たりとかやりやすい作法とかどうやって見つけてますか?

604 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:31:18.14 ID:TPlqyDtD.net]
>>587
本を読む
コードを書く
レビューする
レビューされる
常に考える

605 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:41:15.53 ID:C4g3d83/.net]
>>588
レビューする、されるは考えた事なかったですねー
作ってる物が物なだけにあんまり同じ方向でやるような思考が無かったのもありますが・・・
ありがとうございます

606 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:41:31.78 ID:iH5rcp7M.net]
>>587
GitHubの有名なプロジェクト見てみ

607 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 20:45:58.77 ID:C4g3d83/.net]
>>590
あー、そういうところから見るって手もあるんですね
こういう管理系統のモノ入れても使っていませんでしたが、そういう使い方もしたいですね

608 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:02:11.91 ID:zJVnUUbX.net]
>>590
こういうアドバイスする奴は実は自分でソース見たことない奴だと思うわ
結構癖のあるソース多いし考え方って想像以上にバラバラだから初心者が見たら余計に混乱するだけ

609 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:08:27.57 ID:nvDf8a0u.net]
本読んで勉強するレベルの奴はきれいなソースなんて考えなくていいよ
まずは動くソースかけるようになれよ
動くの書けたらごっちゃなソースになってるだろうから、そこで余裕があったら考えりゃいい
昨日の質問の奴みたいにその書いたソースに合わせてな

610 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:21:04.34 ID:AM/Q5FkU.net]
>>587
ブログで成果物のコード公開してみたら?
コメント等で指摘してもらえたりするかもよ?



611 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 21:34:41.88 ID:C4g3d83/.net]
>>592
使いたい機能で備忘録とかサンプルみたいなのは見たりするけど、
プロジェクトレベルで無いかなーとかは思ってたので、どんな感じかは興味ありますね

>>593
動くものはそこそこ作ってるんですけど、オブジェクト思考とかまったく勉強してないので、
関数切り貼りとか汎用関数適当にぶち込んだクラス使い回しで、ほぼベタ書きみたいなもんなんですよね
たまーに少し凝って少しずつ汎用度は上げてますが

>>594
やっぱり公開するのが一番手っ取り早い上達方法だとは自分も思います
自分で改善するには、現状の自分のレベルよりも上の人からきっかけ貰わないとそもそも気付けないパターンのが多いですし

基本的にはスクレイピングしてDBにデータを集めて、それを色々と分析するようなプログラム書いてるだけなので、
ベタでも動かすのは大体問題無いんですよね
しかし、こういう作法は効率悪いよとか、こういう書き方すればいいじゃんみたいな参考コードから
自分のコードに付け足したいってイメージでした

612 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 22:32:29.25 ID:1IyGodP3.net]
>>595
そういうのはC#よりPythonなどのスクリプト使ったほうがいいんじゃないか?
圧倒的に手っ取り早く作れるよ

613 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 22:42:14.14 ID:C4g3d83/.net]
>>596
Rubyでスクレイピングしてる参考書買ってちょっと書いてた時期あるんですが、それが少し動作遅かったのでC♯で移植してからずっとC♯使ってるんですよね
後はC♯のchartクラスとかも少し触ったりしてます

Pythonは触ったこと無いですが、作業内容に合わせてコーディング時間調整できるぐらい色んな言語触れる用になるのは目標ではありますね・・・

614 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 22:50:27.83 ID:d/bKk9xj.net]
Pythonだとmatplotlib使えばクソ簡単に高品質なグラフ描けるよ
スクレイピングがスクリプトで遅いのはXPathをうまく使えてないんじゃないかな
スクリプトを使うなら重い処理は極力ライブラリに丸投げするのがコツだ

615 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 23:02:02.11 ID:iH5rcp7M.net]
>>592
これがいわゆる井の中の蛙ってやつです

616 名前:デフォルトの名無しさん mailto:sage [2017/07/29(土) 23:12:38.60 ID:TPlqyDtD.net]
スクレイピングはjsだろ

617 名前:デフォルトの名無しさん [2017/07/30(日) 03:04:38.72 ID:1m5312Xu.net]
>>587
その独習C#とかで書かれてるようなのがいわゆる綺麗なコード。
まあ、有名ライブラリ書いてるコミッタとかでもそんな綺麗じゃない場合もあるので、ぶっちゃけ優秀な成果物作ったもん勝ちってのはある。
勝てば官軍。
行儀のいい無能より、素行不良でも有能な奴が好まれるのはどの業界でもよくある。

勿論、綺麗なコード書けるに越した事はないけど。

618 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 04:38:20.28 ID:9ZftmVJd.net]
昔はDr.Dがレクチャーしてくれたのにな。

619 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 04:54:53.83 ID:ZiKC4drW.net]
スクレイピングはPowerShellでやってる

620 名前:デフォルトの名無しさん [2017/07/30(日) 05:57:53.68 ID:1fafOaKT.net]
「きれいなコード」とはまた違うのかもしれないけど、「C#らしい生産性の高いコード」ってなかなか書けないよね
C++やC++/CLIが高機能かつ安全になりすぎたせいもあってC#の優位性が失われた気がするんだよな
VisualStudioやVSCodeの補完機能の効きが違うせいでC++よりC#が使いやすいとか、機能が少ない分C#の方が他人の書いたコードが読みやすいとか、今となってはそれぐらいしかメリットが無い気がする



621 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:03:17.61 ID:Qmd4c3j+.net]
今のC++ってC#に匹敵するほど生産性高いの?

622 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:03:50.53 ID:lj6eZdZL.net]
生産性の高いコードは言語と無関係だと思うな

623 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:08:48.44 ID:ynobldaf.net]
>>599
お前が井戸からでて実際のコード見てから語れよ w

624 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 06:27:12.70 ID:9ZftmVJd.net]
生産性と保守性はトレードオフ。

625 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 07:18:45.15 ID:hMQywZRx.net]
>>607
見てないわけねーだろカスwww

626 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 07:57:39.53 ID:ynobldaf.net]
>>609
どこのソースを読んでどんなところがいいのか具体的に言ってみ

627 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:02:02.87 ID:6NpzZP8L.net]
さすがC#erはパッパラパーやな

628 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 08:08:37.81 ID:lj6eZdZL.net]
人のソース見てもたいていは小手先の表現しか参考にならない
汚いコードとの対比がないからな
人のソース見てそれ以上がわかるやつは相当デキル

629 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 09:04:32.55 ID:zdXHYEze.net]
>>610
Cakeでもいいから頭に入れてもらおうか

630 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 09:41:14.51 ID:reLfmDHf.net]
綺麗なコードは端的に読みやすくて再利用性が高いってイメージで使ってました
後から機能拡張し易い書き方とかもそうですね
基本的にはオブジェクト指向な感じです



631 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 09:42:29.47 ID:ynobldaf.net]
>>613
で、どんなところがいいのか説明してみ
名前だけならソースなんて見れないボンクラでも書けるし w

632 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 19:11:49.81 ID:mbPMaYUG.net]
webbrowserコートロールにedgeが使えるようになるのはいつ頃でしょうか?

633 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 19:15:45.46 ID:lj6eZdZL.net]
最初から使えるよ・・・

634 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 20:45:25.67 ID:dej2VYm/.net]
>>615
よおボンクラ

635 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 20:51:26.25 ID:uWnLP08p.net]
>>615にまともな返事がない時点で勝負は決した
敗者は頭を下げるように

636 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 20:58:34.14 ID:dej2VYm/.net]
>>619
Cakeって例が上がってるだろ

637 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:23:35.05 ID:ynobldaf.net]
>>620
日本語が理解できないのかな?

> 名前だけならソースなんて見れないボンクラでも書けるし w

638 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:38:52.09 ID:hMQywZRx.net]
>>621
うん、ボンクラだから理解力皆無ってことね

639 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:42:33.26 ID:Xb1IyPJ1.net]
>>621
ねえねえもしかしてCakeのソースすら見たことないのかな?

640 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:43:27.07 ID:SibjNbLq.net]
>>617
横レスだけど
https://social.msdn.microsoft.com/Forums/ja-JP/d0aeb9ca-c21e-43ea-8ed0-5eb309d96f9e/webview?forum=windowsgeneraldevelopmentissuesja
.NetFramework デスクトップアプリケーション用のWebView(WebBrowserコントロール)は以下の認識
でいますが間違いがないでしょうか?
1.Microsoft Internet Explorer 7が既定となっている。
2.レジストリ変更によりInternet Explorerのバージョンの変更が可能。
3.Internet Explorer以外のブラウザ(Microsoft Edge、Google Chrome)を使用できるコントロールはない。

このページの内容は間違っているの?



641 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:45:05.94 ID:hMQywZRx.net]
>>623
CakePHPとでも勘違いしてるんだろ

642 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 21:53:49.94 ID:ynobldaf.net]
>>619 で確定やね

643 名前:デフォルトの名無しさん mailto:sage [2017/07/30(日) 22:55:14.27 ID:75orpNSa.net]
>>624
1、2はIEのコントロールのことであってる
3はedgeもchrome系もコントロールあるから間違ってる

644 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:41:49.84 ID:ZyMYFMmz.net]
質問。
これはどういうケースを想定したものなのか教えてくれ。

> フォーカス イベントと検証イベント
> (中略)
> マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更する場合、Control クラスのフォーカス イベントは次の順序で発生します。
> Enter
> GotFocus
> LostFocus
> Leave
> Validating
> Validated
> https://msdn.microsoft.com/ja-jp/library/86faxx0d(v=vs.90).aspx

現状固定的な画面のUIでやっていて、
ファイル名を入れるテキストボックスとその隣にopenFileDialogを呼ぶボタンを配置している。
まあ、よくあるUIだ。
これを、ボタンの領域をケチりたい(少しでも長くファイル名を表示したい)ので、
試しに動的なUIで「テキストボックスのEnterイベントでボタンが出現する」ようにしてみた。
ボタンはテキストボックスのLeaveイベントで消す。
ボタンを押すときは当然テキストボックスの外に出るので、
ボタンのEnterイベント、LeaveイベントでテキストボックスのLeaveイベントを -=, += している。
(後からMouseXXXXイベントも対応するから、今は突っ込まないでくれ)

さて、ここで、ボタンが押せない。
理由は簡単で、テキストボックスのLeaveの方がButtonのEnterよりも早く、ボタンがremoveされてしまうからだ。
これについて、上記を読む限り、Enterのほうが先、つまり、
ButtonのEnter -> TextBoxのLeave
だと思うのだが、とにかく、そうなってない。
上記ページはどういったケースについて記したものか、分かる人教えてよろしく。
或いはこのケースはどのページを参考にすべきなのだ?

645 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:49:25.41 ID:yNdQgkwx.net]
移動先のEnterが先っていう説明じゃなくて
当該コントロールに入ってから出るまでのイベント発生順序なんじゃないの

646 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:50:37.36 ID:V7LkTZZN.net]
visible

647 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 18:52:41.34 ID:V7LkTZZN.net]
というか
やり方が全くダメダメ

648 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 19:19:16.59 ID:ZyMYFMmz.net]
>>629
ああ、そういうことか。サンクス。
ただそれならFocusのGet/Lostで分離して書いていてくれれれば誤解無いのだが。

>>631
フォーカスは一つ(マウスは一つ)なのだから、
動的にadd/removeしても全く苦労しないし問題ないが。
当然visibleを使っても出来るが、同様にイベント順は見えるから同じ。(はず)

649 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 19:20:55.16 ID:IDglmNpI.net]
>>632
状況によって変わるものをどうやって書けと…

leaveとenterが常にセットで起こるとは限らん
相手が一つも限らない

650 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 19:29:13.42 ID:ZyMYFMmz.net]
>>633
どう考えてもEnterはLeaveより先なんだから、普通に以下でいいだろ。

----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『得る』と、
次の順序で Control クラスのフォーカス イベントが発生します。
Enter
GotFocus

マウスの使用、または Focus メソッドの呼び出しによってフォーカスを『失う』と、
次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
----

もしかして、別々に書いているのは、Control内部で状態保持していて、
キーボードでフォーカスを得た際は、マウスでフォーカスを失っても、別順
Leave
Validating
Validated
LostFocus
という超絶糞仕様だったりするの?もしかして?

> 相手が一つも限らない
いやFocusは常に一つだよな?



651 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:23:22.15 ID:mmKtfIMx.net]
>>628
テキストボックスのMouseDownにボタン用のイベントを入れる
MouseDownされた座標を調べてボタンの位置でなかったら実行しない
で一応は実現できると思う。ボタンは位置を示すためだけの飾りになる
その前にコントロール重ねるのもイベントが衝突しかねないのも良くないとは思う

652 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:38:33.37 ID:/TDpqH7O.net]
前提条件を限定してエンジン側の仕様に文句言っても…
想定した前提条件に合致するように橋渡ししてやりゃいいんじゃない?

653 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:39:44.45 ID:7d8zSu3L.net]
>>634
変な考え方する人だな。

Enter発生後の状態って概念があるかどうかわからないけど仮にEner状態と呼ぶとして、
「EnterはLeaveより先」って仕様だと親子(入れ子)関係にない2つのコントロールが
同時にEner状態であることを許すことになるわけだけど、そのあたり考えて言ってるのかなそれ

654 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 20:54:59.71 ID:ZyMYFMmz.net]
>>635
実装はボタンを遅延消去(10ms)する方向で考えてる。
理由はそのほうがコードがスッキリするから。
コントロールは重ならない。
というかボタン出現時にテキストボックスをその分縮めるからだが。

>>637
知らんがな。
MSDN確認したらそう書いてあるからそう実装したら動かない、
じゃあ逆なんだろ、ってのは予想付くが、それで正しいのか?という疑問だ。
普通はLeave->Enterの順だと思うよ。HTMLはそうだし。
ただ.NETはそこら辺古くて、奇妙な仕様が残っていたりするから確認したかった。

ああ、だから、以下の書き方が一番いいのか。まあいいけど。

----
マウスの使用、または Focus メソッドの呼び出しによってフォーカスを変更すると、次の順序で Control クラスのフォーカス イベントが発生します。
LostFocus
Leave
Validating
Validated
Enter
GotFocus

655 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:06:26.55 ID:7d8zSu3L.net]
>>638
いや、仮にもエンジニアの端くれなら、「EnterはLeaveより先」って話を聞いたら
瞬間的に整合性がない(仕様バグ)話だなって思わないとまずいと思うよ

656 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:11:05.05 ID:yKWQrIWU.net]
自分で何ともならん時は、理不尽でもそれを受け入れるのが職業エンジニアじゃね?

657 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 2 ]
[ここ壊れてます]

658 名前:1:12:41.25 ID:ZyMYFMmz.net mailto: >>639
> 仕様バグ
それは違うだろ。どっちが組みやすいかはさておき、どちらの仕様でも組めるはず。
勝手にオレオレ仕様に決めつけるほうがまずいだろ。

俺も逆なのか?とは思ったよ。最近はHTMLに慣れてしまったので。
ただ今回に関してはEnterが先の方がコードは単純に済んだ。
一概にどっちがいいというものでもあるまい。
[]
[ここ壊れてます]

659 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:28:30.68 ID:7d8zSu3L.net]
>>641
違わない。
自分で書いてるでしょ。
入力フォーカスを持つコントロールは常に一つだと。

Enterが何を意味しているのかMSDNに書いてあるか知らないが、
普通に考えれば自分自身または子コントロールが入力フォーマスを持たないのに
「Enter状態」になるのは変で、そうであれば上の入力フォーカスの仕様と矛盾する

660 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:33:10.29 ID:yDQeZmLh.net]
馬鹿が暴れてるw

マウスは瞬間移動可能
周りの領域を通らないでいきなりenterだけ発生させることも可能だし
逆にleaveだけもありうる



661 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:37:33.35 ID:ZyMYFMmz.net]
>>642
君がどう考えるのも自由だが、俺は同意しないよ。
定常的には「フォーカスを持つのは常に一つ」だが、過渡的には実装次第だろ。
直感的には「フォーカスを持つのは常に一つ」の方がいいからそっちに揃っていることが多いだけで。
他で有名なのはRadioButtonで、
俺の勘違いでなければ.NETは仕様を変えてる。
そういうのがあるから確認しただけ。

ああだからそういった意味だと
> 相手が一つも限らない (>>633)
は俺の読み違いだな。彼はそこを指摘したのか。すまんかった。

662 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:38:49.91 ID:yDQeZmLh.net]
Enterが先に起こるとフォーカスが同時に2つになってしまう
Enter内部でフォーカスのカウントしてたら困るだろ

Leaveが先に起こってカウント一個→0個→一個のほうがいい

663 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:53:10.60 ID:yKWQrIWU.net]
フォーカスが移った時、ユーザーが見ているのは移った先の方だから
enterの処理を先にやったほうがレスポンスが早く感じる

てか、enterが先のほうが正義という理屈も有るんだから現状をバグと決めつけるのはどうかと思うよ
仕様を決めた人の裁量の範囲

664 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 21:54:46.29 ID:7d8zSu3L.net]
排他的な状態変化に連動する状態変化が排他的じゃなかったら矛盾に決まってるわけだけど、
こういうロジカルは話は通じない人には全然通じないね...

たぶん数学苦手だったタイプの人だと思うけど

665 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:02:55.06 ID:yKWQrIWU.net]
ロジカルが全てならleaveとenterは完全に同時発生しないとおかしいわけで
先にleaveと言っている時点で既にロジカルから妥協しているだろ

多分数学が得意だと思いこんでいたタイプの人だね

666 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:13:48.41 ID:yDQeZmLh.net]
まだや

667 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:17:32.13 ID:yDQeZmLh.net]
途中で送ってしまった
が、それはどうでもいい

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

それになんでこんな仕組みになってるかも理解した
他に並んでいるイベントをよく見るとおやっと思ったのでそこをつついたらいい答えがでた
Enterは確実に後でなくてはいけない
理由がちゃんとある
てめえらで確認せえや

668 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:18:32.76 ID:yDQeZmLh.net]
>>648
実験の結果
同時に起こってはいけないという結論に至った

669 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:21:58.45 ID:yDQeZmLh.net]
そして
EnterやLeaveは過信してはならない
というか仕組みを理解しないで使ったらだめだなこれは

670 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:25:45.32 ID:yKWQrIWU.net]
>>652
シビアな場合はBeginInvoke噛まして、両方発生してから動かすのが吉だな



671 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:30:33.16 ID:7d8zSu3L.net]
>>648
よく考えてから人を批判した方がいいよ

仮に一時的にどのコントロールもフォーカスを持たない状態が出来ても
入力フォーカスの排他性と矛盾しないが、2つのコントロールが同時に
入力フォーカスを持ったら矛盾する

672 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:36:38.37 ID:yDQeZmLh.net]
君らも思い込みで話さないでテストしたらいい
しつこく何度もやってると思ってるのと結果が違うから

673 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 22:45:07.88 ID:yDQeZmLh.net]
英語圏の人間じゃないから感覚がわからなかった

leave left left

leaveであってleftじゃないってこった

674 名前:デフォルトの名無しさん mailto:sage [2017/08/01(火) 23:04:17.70 ID:ZyMYFMmz.net]
>>654
それは君のオレオレ正義仕様でしかないだろ。
世の中にはそうでないものもあるってことさ。
有名なのはPHPの三項演算子が左結合とか。
y-uti.hatenablog.jp/entry/2013/03/10/101020

仕様ってのはそう決められていれば仕様であって、
効率的でない/直感的でない/矛盾しているとかは別の話。
とはいえ、これらの場合は糞仕様と呼ばれることになるが。

675 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:04:23.74 ID:hty1cPip.net]
だからオレオレとかそういう話じゃなくて、全体の仕様に矛盾があるかないかのっていうロジカルな問題なのw
好みが入り込む余地なんかどこにもないってのw

いってるそばからこれ>>647だね。
まさにバカの壁

676 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:32:50.52 ID:hty1cPip.net]
ボクシングでも何でもいいけど、排他的にしかタイトルホルダーになれないとしたら、
タイトルホルダーが誰もいないのは問題ないけど、同時に二人がタイトルホルダー
になるのはまずい。

だったら、「ダイトル返上」イベントの前に「タイトル獲得」イベントが発生する仕様は
破綻してるに決まってるじゃないの

677 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:37:07.47 ID:FVLt41mC.net]
>>659
破綻してはいないんだよ。
数学が得意なつもりだが実は馬鹿な人には分からないのだろうけど。

678 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:41:26.26 ID:hty1cPip.net]
まあバカの壁の向こう側の人に何言っても無駄だからこれ以上はどうぞお好きに。
自分の同僚にこういう人いなくてよかったw

679 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 00:47:00.95 ID:hty1cPip.net]
つーか、自分の学校時代の成績考えりゃ自分が数学脳の持ち主かどうかなんて
だいたい見当つくとおもうんだけどねw

どう考えてもロジカル思考が得意なタイプと思えんが、その自信はどっから来るのかねw
ネトウヨと同じ、抑圧された劣等感としての自己陶酔か

680 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 01:01:44.68 ID:DEfit7Mb.net]




681 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 01:29:41.48 ID:FVLt41mC.net]
>>662
むしろお前の自信の方が不思議だわ。
とはいえ罵倒しあうのも意味無いから、片をつける勇気があるのなら、具体的に、
・○○のケースでEnter->Leaveの時には『絶対に』実装できない
というのを見つけてみろ。

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

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


>>655
ちなみにテストコードを書く元気があるのなら、
・フォーカスがある(Enter済)ControlをRemoveで親から剥がしてみな。
確認してないが、多分Leaveは発生しないと思う。
というかHTMLではそう。
だからガシガシ動的に書き換える場合は

682 名前:基本的にカウントするのは危険だったりする。(>>645)
この場合にLeaveが発生した方が楽なのかはよく分からん。
ただそれ以前にFormはHTMLとは違って
動的にControlを剥がしたりするように設計されてはいないから、
この辺をつつけば矛盾はボロボロ出るはず。
とは言っても、そういう使い方をするな、でしかないが。
[]
[ここ壊れてます]

683 名前:デフォルトの名無しさん [2017/08/02(水) 01:30:38.42 ID:9QC/HzqE.net]
プログラムって国語だろ必要なの
仕様読み書き
言語読み書き

684 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 02:27:05.38 ID:i1VhoxA9.net]
>>664
何か訳のわからないこと書いてるけど、

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

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

仕様の整合性がないと言っている。
言っちゃ悪いけど、こんな簡単な話が理解できないのは、たぶんこのスレで君ともう一人ぐらいだよ。

685 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 02:41:15.20 ID:i1VhoxA9.net]
なぜ重箱の隅をつつくような話のように見えても論理的な整合性が重要かって、
普通のプログラマは、他人の作ったフレームワークであってもきちんと論理的に
整合性のある仕様になってるはずだと期待してそういう前提でコードを書くからだ。

論理的な整合性がない、仕様バグのあるフレームワークであっても
必ずしもそれが原因で実現できない処理が存在するとは限らない。
問題はそれが直感的でないこと。
プログラマの期待に反する仕様がバグを湯初すること。

686 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 02:55:20.71 ID:i1VhoxA9.net]
まあ、さすがにこのレベルの話が理解できないのが多数派とは思えないので、
誰か何か言ってやってよw

どうしてLeaveよりEnterが先に発生するような仕様は仕様バグなのか。
これがそんなに難しい話かねえw
言っちゃ悪いけど、頭悪い奴の思考回路って分からん。

687 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 03:01:13.24 ID:FVLt41mC.net]
>>666
なんだ論点ずらしで逃げるのか。
ネトウヨを嫌っているのだからパヨクなんだろ?
まあパヨクが馬鹿で口だけなのはいつもだが。

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

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

とはいえ君は本当に馬鹿だから、これでも通じないだろう。終わりでいいよ。

688 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 05:35:10.79 ID:1rb6fE8N.net]
夜中の3時にこんな長文投稿している方が
社会的に破綻した人間だと判断される可能性が高いから安心しとけ

689 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 05:39:02.58 ID:3qnN0MvP.net]
あガガイのガイ

690 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 06:34:20.03 ID:A60ZNmc6.net]
このスレに頭のおかしいのが複数住み着いているのはよくわかる



691 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 08:16:36.83 ID:CjDj1Maa.net]
一人二役でしょ

692 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 20:38:39.45 ID:fngH3Ate.net]
>>672
初心者スレにも同じ人が居着いてる

693 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 21:15:27.89 ID:co6HfrMj.net]
夏休みになると単発の低脳煽りばかりだな。

694 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 22:44:00.19 ID:fngH3Ate.net]
>>675=513,524

695 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 23:22:53.88 ID:yCU00B7G.net]
Enterイベントが発生した段階でフォーカスはまだ移動してない筈だし
Enterイベントが発生したからといってフォーカスを得る保障も無かったはずだけど

あとコントロール間のイベントの発生順序の保障も無かったと思ったがな

696 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 23:36:37.48 ID:NxzTdQJw.net]
>>677
だから試せと言ってる

697 名前:んだけど

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

おまえらに大ヒントだけどVのつくイベントを実装してから1テストしろ
そしたらleaveより先にenterが発生してはいけない理由がわかる
[]
[ここ壊れてます]

698 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 23:49:30.35 ID:yCU00B7G.net]
>>678
>思い込みはよくない

たしかに
たまたまテストした範囲でそうなったから保障されてるという
思い込みはよくないな

699 名前:デフォルトの名無しさん mailto:sage [2017/08/02(水) 23:56:28.98 ID:lkgPj6nz.net]
お、そうだな。ちゃんとライブラリのソース読まないとな

700 名前:デフォルトの名無しさん mailto:sage [2017/08/03(木) 00:02:17.81 ID:htG5iQYE.net]
ライブラリのソースを呼んでも、現在の実装がそうなっているというだけで
それが仕様として保障されてるかどうかとは別問題だけどな

まあ、現在の実装で確認できればほぼ問題ないケースがほとんどではあると思うが



701 名前:デフォルトの名無しさん mailto:sage [2017/08/03(木) 00:06:05.76 ID:c/ifKON2.net]
保障以前にそれが何を意図してるのかを理解できなければ意味がない

leaveより先にenterが発生してはいけない

702 名前:デフォルトの名無しさん [2017/08/03(木) 20:33:39.14 ID:4LsbjqBs.net]
ID:fngH3Ate 毎年恒例の釣りに馬鹿が釣られてるw

703 名前:デフォルトの名無しさん mailto:sage [2017/08/03(木) 20:37:34.70 ID:JgW7vvvx.net]
釣りバカ日記

704 名前:デフォルトの名無しさん mailto:sage [2017/08/04(金) 00:00:37.68 ID:kAe2l7FV.net]
>>669
牛さん角さん懲らしめてやりなさい

705 名前:デフォルトの名無しさん mailto:sage [2017/08/04(金) 00:13:41.84 ID:XUqh6zlM.net]
シススレ住民きてんね

706 名前:デフォルトの名無しさん [2017/08/06(日) 00:47:39.95 ID:SnOBl72n.net]
URIのパラメータって

707 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 08:49:43.39 ID:/0ePqhWL.net]
なんでいつもトンチンカンな議論が永遠に続くのかね。

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

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

テキストボックスのenterなどでボタンをvisible(テキストボックスのリサイズ?)、
ボタンのpressとleaveなどでボタンのhiddenとかテキストボックスのリサイズとしないから
コントロール間のイベント順なんて言う実装依存や環境依存に頼ることになって、
いらんバグの元をこしらえることになる。

708 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 10:07:43.25 ID:nFsV2IUX.net]
>>688
むしろいまごろになってトンチンカンなこと言ってるのは君だと思うよw

709 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 10:47:16.15 ID:7cEhVOng.net]
MSDNに順序書かれてたか?どこにある?

710 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 11:17:14.57 ID:/0ePqhWL.net]
>>690
日本語読めないのかな?

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

脱線しすぎてなんの議論してるかも忘れちゃったのかな?



711 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 11:17:49.60 ID:N8eUuNcg.net]
せいぜい>>628からの話なんだから読めよw

712 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 11:26:27.88 ID:7cEhVOng.net]
>>691
それかー
ここ1週間で読んだの最新3レスぐらいだったからなw

713 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 11:54:42.43 ID:/0ePqhWL.net]
>>628が1週間前で60以上も駄レスが続いてるのに
3つって。数も数えられないのかな?

714 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 12:00:16.14 ID:7cEhVOng.net]
>>687-690ぐらいしか見てないってことだよ。議論()になんて混じる気もない

715 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 12:14:14.78 ID:oWXmYmGG.net]
フォームアプリケーション作ってるとついついフォームのクラスに全部書き込んでしまうんですが、クラス分けの基準というか、指針はありますか?

716 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 12:55:26.31 ID:nFsV2IUX.net]
>>696
難しく考えない。
UIがWPFになってもUWPになってもそっくりそのまま使いまわせたらうれしいよね?

逆に言うと、そうなってないなら考え方が間違ってる

717 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 13:24 ]
[ここ壊れてます]

718 名前::39.29 ID:cZXE4hdD.net mailto: それは違うんじゃないか?
普通のwinformsのアプリをMVVMにも使いまわせるように
なっているのはある意味おかしい

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

そういう目的なら最初からWPFなりUWPなりで作れと思う
[]
[ここ壊れてます]

719 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 13:28:24.18 ID:oWXmYmGG.net]
つ、つまりどうゆうことだってばよ

720 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 13:37:56.15 ID:cZXE4hdD.net]
質問者のレベルがわからないから答えられません
というのはやめといて
基本的に自分で糞コードいっぱい書くしかない

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

そういった成長の後でリファクタリングに進めばいい
同じコードが何度も出てきたらメソッド化してみたり(VSにメソッド抽出機能があるので楽)



721 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 13:38:50.16 ID:nFsV2IUX.net]
>>698
一般的なMVVMが本当にそうなってるなら(なってないと思うけど)。それはMVVMが間違ってる

722 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 13:44:42.24 ID:cZXE4hdD.net]
>>701
ModelにINotifyPropertyChangedを実装してるか?

723 名前:デフォルトの名無しさん mailto:sage [2017/08/08(火) 14:34:14.93 ID:nFsV2IUX.net]
>>702
意味がわからないけど...

724 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 09:00:34.80 ID:EsQl4Iyt.net]
今時ビジネスロジックなんか全部バックエンドにあるんだからフロントが何だろうがWeb API経由で完全疎結合だから問題にならないよ
あえて全部クライアントに置くような前時代的な設計を採用する場合、
それはアプリがクライアント端末のGUIやハードウェアに密接に依存していることが多いので
差し替えなんか考慮して作るのはそもそもナンセンスだ

725 名前:デフォルトの名無しさん mailto:sage [2017/08/10(木) 09:04:16.83 ID:CcnWoQiq.net]
www

726 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 23:47:55.42 ID:ey68s8sH.net]
AutoMapperのInitializeがめんどくさいんだけど
初期化なしで使えるマッパーライブラリなんかないかい?

727 名前:デフォルトの名無しさん mailto:sage [2017/08/16(水) 23:55:58.50 ID:6BrFx9Fk.net]
https://github.com/AutoMapper/AutoMapper/blob/master/README.md
AutoMapper知らなかったけどこのページのInitializeのことでいいの?
この程度ならリフレクションでやれば一発だろ
ジェネリックの代わりにTypeオブジェクトを引数に渡せるオーバーロードがあるのかは知らないけど、
それが無くてもMethodInfo.MakeGenericMethodで型引数を動的に指定できるよ

728 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 16:01:47.79 ID:/HXXvel3.net]
最近C#の勉強を始めました
プログラミングも初めてです
return ◯◯
で結果を返すという事について教えてください

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

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

初歩的な質問ですいません
i.imgur.com/CBE1y8L.jpg

729 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 16:07:36.81 ID:QD9DssYz.net]
>>708
その画像の部分が結果を返すための一つのメソッド
他の部分で例えば
string str=getComputerHand(); //この場合はstrに結果の文字列が入る
みたいに書いてそのメソッドを呼び出す。

730 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 16:21:16.67 ID:/HXXvel3.net]
>>709
レスありがとうございます
この画像でいうとresultString=◯◯の結果の値が
getComputerHand();
というメソッドに返されていて

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


また重ねて質問なのですが
string resultString=" " ;
の文で" "を使うのは何故でしょうか?
格納先がstring resultStringとstring型で指定されているので要らないのかと思っていました



731 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 16:44:58.20 ID:QD9DssYz.net]
>>710
メソッドに返すんじゃなくて「メソッドが返す値」
>getComputerHand();=グーorチョキorパー
だいたいあってる
>string resultString=" " ;
string resultString="" ; //半角スペースも何も入れない初期化
値が無い(未参照)の変数は返せないので必ず初期化が必要。これはコンパイラとかの制限
その程度だとここで聞くより自分で動かしてみたほうがダントツに早く身につく

732 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 18:18:58.14 ID:A77+GeKR.net]
>>708
C#の基本的なことがわかってないみたいだから本屋行って「独習C#」でも買ってこい

733 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 18:33:39.51 ID:Czauz6JF.net]
勝ってこい、だってさw
また「命令バカ」湧いてるのな

734 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 18:49:18.16 ID:IbMc1Qsg.net]
>>708
これは君のノートか?
最近の学生は手書きではなくワープロでノートを取るのか?

735 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 18:50:41.54 ID:LdJ4mhMU.net]
どう見ても教本やろ

736 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 18:56:58.49 ID:jUKXp1iO.net]
独習はいいぞ

737 名前:デフォルトの名無しさん mailto:sage [2017/08/19(土) 22:01:48.42 ID:3nnv/bQ1.net]
webBrowser1_DocumentCompleted はブラウザが完全に表示される直前で呼び出される
と思いますが、完全にブラウザが表示した時を知るにはどうしたら良いですか?

738 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 18:30:42.33 ID:ZisHBz7l.net]
戻り値ってのはアキュームレータに設定される値と思えば良い。

739 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 19:51:35.44 ID:KmAQXiSu.net]
アキュムレーターっていつの時代よww

740 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 21:11:15.97 ID:qdRqCzb3.net]
今だってあるだろう



741 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 21:19:22.50 ID:U+o1ClZt.net]
yes and noだね
厳密に言えばあるが、恐らく>>718が想定しているような意味での
特権的なアキュムレーターは無くして直交性の高いデザインにしよう、
っていうのがモダンな(っていっても40年ぐらい前からだと思うけどw)考え方じゃないの?

知らんけど

742 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 21:21:19.34 ID:JHCD9zk7.net]
C#と何の関係があるの

743 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 22:22:34.16 ID:eevSPQj8.net]
アキュムレータって、x86のレジスタのEAXレジスタぐらいしか思いつかない。

744 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 23:01:13.02 ID:edNFVMcB.net]
アキュムレータレジスタあるCPUなんていっぱいあるだろ。

745 名前:デフォルトの名無しさん [2017/08/22(火) 18:32:27.69 ID:hdluVQxJ.net]
.Net Coreは良くなりましたか?

746 名前:デフォルトの名無しさん mailto:sage [2017/08/22(火) 19:43:21.89 ID:+pIOmFUn.net]
うん

747 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 00:18:50.06 ID:z2dH8u8+.net]
C#erはタスク管理どうやってんの?
gradleみたいなツールが欲しいんだがdotnetランタイムだけで動作する類似品ツールはないのか

748 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 06:39:12.62 ID:CEXjJv+U.net]
>>727
タスク管理というと曖昧だな…ビルドツールのことを言ってる?
dotnetランタイムって言い方も普通しないけど、Cakeはどう?
https://www.cakebuild.net/

749 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 07:12:48.15 ID:yRjhoaXK.net]
遠慮せずにgradle使えよw

750 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:07:20.03 ID:/9zT0lsJ.net]
>>728
すごく良いですね
こういうのを探してました

>>729
JREに依存したくなかったので…



751 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 18:34:5 ]
[ここ壊れてます]

752 名前:1.61 ID:RXm0c/8O.net mailto: >>730
cakeの採用例はIdentityServer、omnisharp-roslyn、NUnitと有名どころでも増えてきてるし、覚えといて損はないよ
[]
[ここ壊れてます]

753 名前:デフォルトの名無しさん mailto:sage [2017/08/24(木) 19:31:41.54 ID:nG5FC+BG.net]
>>729
調べて損した

754 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 11:54:03.28 ID:O1j4weut.net]
注文明細の税込価格を計算して注文ヘッダごとに合計する
合計値が注文ヘッダに設定されている注文上限価格を超えている注文ヘッダを抽出する
抽出した注文ヘッダを注文日順に順位を付ける
順位が100位から200位までの注文ヘッダを抽出する
抽出した注文ヘッダに注文明細を内部結合する

EFでこういうクエリ書ける?
速度チューニングできる?

755 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 12:05:31.90 ID:Tg9xTtAy.net]
できる

756 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 12:20:52.90 ID:O1j4weut.net]
>>734
あなたならどう書きますか?

757 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 12:33:45.54 ID:bF0cAHIp.net]
それがおまえの仕事だろ。

758 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 14:05:57.18 ID:PArSsv+v.net]
>>735
733を雇えば全て解決

759 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 14:42:14.97 ID:O1j4weut.net]
なるほどつまりできないんですね
その程度でしたか

760 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 14:47:48.25 ID:bF0cAHIp.net]
その程度なんです。2chに仕事を丸投げしようとしたあなたがアホだったんです。
もしあなたがSIerならMSのサポートにチューニングに関する質問はするべきです。



761 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 14:59:00.54 ID:O1j4weut.net]
ではこのスレは終わりですね
簡単な質問にも答えられないようでは存在する必要ないですよ

762 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 15:10:27.17 ID:bF0cAHIp.net]
仕事ができないキミは会社では終わりかもしれないけどね。

763 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 15:20:05.79 ID:O1j4weut.net]
いえいえ
あなたほどではありませんよ
あなたの終わってる感はまさに別格です

764 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 15:48:07.94 ID:u30btijY.net]
なんだまたキチガイか

765 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 16:17:03.28 ID:bF0cAHIp.net]
馬鹿にしたり煽ったら教えてくれるだろうというみっともない期待は無駄だろうな。

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

これが相談室でのマジメな回答だ。チューニングは簡単ではない。経験が必要だ。
なのに経験しようとせず丸投げするおまえは開発に向いてない。別格のアホ。

766 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 16:26:58.13 ID:Fj2dIxIY.net]
土曜に休日出勤してまで仕事やってんだ
あんまイジメないでスルーしてやれ

767 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 16:31:49.27 ID:kzFfMUaR.net]
>>742
休日出勤か
しんどいな
お大事に

768 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 17:05:15.13 ID:ddWhtgi2.net]
仕事の内容を2chで質問すること自体正気だとは思えない

769 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 17:10:42.94 ID:HjwTbkJP.net]
なんか例によって質問者に小姑みたいにクドクド絡んでる
バカが大量に湧いてるけど、こういう馬鹿な連中ってそういう自分が自分で嫌にならんのかね。
哀れというか人間的に終わってるというか

770 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 17:23:30.43 ID:ddWhtgi2.net]
>>748
それが2ch。だからそんなところで仕事の質問するのがおかしい



771 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 17:24:58.52 ID:kzFfMUaR.net]
>>748
そんな相手に一節ぶつけるのは
さぞ爽快であろ

772 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 18:02:01.77 ID:Tg9xTtAy.net]
>>740
簡単な質問を自分で解決できないなんて存在する理由ないですね

773 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 18:49:07.18 ID:T/CezPj/.net]
LINQやTask絡みの質問してもまともな回答もらえないしな
このスレは.NET2.0時代の人多そう

774 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 18:50:59.18 ID:MtYDTdDm.net]
正直リンクやタスクはいらないかな

775 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:02:48.38 ID:PArSsv+v.net]
>>753
.NET2.0時代の人ですねお疲れ様です

776 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:09:06.41 ID:gVudpib6.net]
>>748
何年も嫌み言い続けてるお前ほどしゃねえだろ

777 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:20:51.60 ID:NNIj3FL4.net]
ここでvarの登場

778 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:28:39.75 ID:V/n1RF7c.net]
ふらっとでやるのは困るが、ここでなら好きなだけやれw

779 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 19:32:27.30 ID:SvMhViqK.net]
質問に答えられないけどできるって言ってしまったお
どうするお
そうだ!相手を口撃してうやむやにするお!
俺って天才だお^_^

まあこんなところでしょうね

780 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 20:31:51.91 ID:Vm2KDGbo.net]
ID変わった。俺がデキルと言ったんだが、あれを見てどこにデキナイ要素がある?
敢えて言えば一番難しいのは速度チューニングだけど条件ないからどんだけ遅い結果になってもチューニングしたといえばおkだしできるだろ



781 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 21:04:59.93 ID:KSbwYPK0.net]
質問じゃなくて単なる仕事の丸投げだもんな。
そんなのにコード起こして答える奇特な人は滅多にいないだろ。
宿題スレでも行った方がまだ良いんじゃないか。

782 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 21:29:10.36 ID:/nmV1Veo.net]
>仕事の丸投げだもんな
仕事の丸投げでもいいと思う。
おもしろそうならやってみるだけだし、おもしろそうじゃなかったら放置。
ただそれだけ。

783 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 21:47:11.46 ID:tR4oKf4K.net]
C#始めるのです。
コンパイラはマイクロソフトが無料で配ってるなんちゃらって統合環境。

んで、検索とかしてやってみたらCUIとかは普通にできそうだったけど、
GUIがいまいち作り方わからんかった。
と言うか何と言うやつの中の何という奴を使えばいいのかすら分からんから検索のしようもない。


そこでGUIとかその辺のアプリ的な感じのやつは本に頼ろうと思うので、おすすめの本教えてください。

784 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 23:01:57.02 ID:PfNbROPa.net]
こうかな
たぶんもっとスマートな書き方があると思うけど
select * from 注文ヘッダ
join 注文明細 on 注文ヘッダ.注文ID = 注文明細.注文ID
where 注文ヘッダ.注文ID in (
 select 注文ヘッダ.注文ID from (
  select 注文ヘッダ.注文ID, rank() over (order by 注文日) as 注文日順 from 注文ヘッダ
  join 注文明細 on 注文ヘッダ.注文ID = 注文明細.注文ID
  group by 注文ヘッダ.注文ID, 注文ヘッダ.上限価格, 注文ヘッダ.注文日
  having 注文ヘッダ.上限価格 < sum(注文明細.価格*税)
 )
 where 注文日順 between 100 and 200
)

785 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 23:09:50.15 ID:LVvUpSa+.net]
LLVMに対応しないかなぁ

786 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 23:14:56.17 ID:OnLEDDtF.net]
monoは前からLLVMに対応しているし、llilcというプロジェクトもある

787 名前:デフォルトの名無しさん mailto:sage [2017/09/02(土) 23:47:52.46 ID:w/8WFsta.net]
>>763
グルーピング弄ればinを回避できるよ

問題はこれをEFでどう書くの?
チューニングはどうするの?
ってとこなんだけど
SQL書いた方が生産性高いよなぁ

788 名前:デフォルトの名無しさん [2017/09/03(日) 01:48:04.82 ID:f9fpJevd.net]
むしろVSいれればGUIのほうがまんまやればいいだけじゃないのか?
今時はVBAすらやったことないのが普通なんかね

789 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 14:11:58.86 ID:1sNsxWX6.net]
>>762
C#だと何検索しても大体WinFormのやり方がHitするのにどんな検索したのか不思議

790 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 14:43:51.11 ID:SkKZ7pGs.net]
WPFはヒットしないのにな。



791 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 15:06:32.42 ID://yg3dAk.net]
WPFはエヴァンジェリストのオモチャ
コーダーには不向き

792 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 15:24:32.41 ID:jdcIxspg.net]
そーいやWPF関連はググると大抵MVPのサイトがヒットするわ
なるほどそういうことか

793 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 16:04:0 ]
[ここ壊れてます]

794 名前:3.56 ID:0sJDT6fH.net mailto: WPFさえなければもっとC#が普及してて
C#の地位が高かったかもしれないと思うと悔しい

MVPの人たちはどう思ってるんだか
[]
[ここ壊れてます]

795 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 16:33:39.93 ID:lr6Mo9Zf.net]
MVPの連中はとっくにWebへ移ったよ
C#ってWeb開発の言語としては意外と普及してるんだぞ

796 名前:デフォルトの名無しさん mailto:sage [2017/09/03(日) 16:43:00.54 ID:62GYYLc/.net]
>>773
お勧めの資料は何?

797 名前:デフォルトの名無しさん [2017/09/03(日) 17:20:41.31 ID:3gHqT14e.net]
WCFがサーバーアプリで活躍してるのかな?

798 名前:デフォルトの名無しさん [2017/09/04(月) 08:10:46.21 ID:MfpzE0zt.net]
Winアプリは最終的に一番難しいのはGUIだよ
最初は細かい事分からず適当配置して出来た気分でいるんだろうけど
あとからあとから不具合が見つかって修正する事になる
GUIは環境によって見た目や動作が変わってしまうのでデバッグで再現させる事が
困難な事も多い

799 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 08:32:05.29 ID:LRLL3VtB.net]
>>776
よく簡単に「一番難しい」なんて断言できるね、大したもんだ

800 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 18:19:57.89 ID:LsDphsoK.net]
自分の体験した少ない範囲が全ての世界なんだろうな
初心者がちょっと自信つけ始めたころなんだろ



801 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 18:41:14.80 ID:AjqafOmQ.net]
30年以上プログラミングしてるが俺も最終的にはUIだと思う。>>776と理由は違うが

802 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 18:41:44.52 ID:CRF6xnAl.net]
ハマるとキツイのはマルチスレッド絡みかなぁ
何せ落ちた所のプログラムが正常だったりするからな
mallocのサイズ間違ったバグは忘れないわ

803 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 18:43:46.07 ID:CRF6xnAl.net]
>>779
面倒だし時間はかかるが、バグったときに見えるから不具合見つけやすい

804 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 19:10:43.88 ID:2WJ6m4B/.net]
揚げ足取るのは建設的じゃないと思うのであえて>>776の意図を忖度してみる

どうしても非ユーザーコードの比重が大きくなるから、
どうしてもバグを回避するバッドノウハウ的なものが必要になりがちって意味では確かに「難しい」かもね。

Win Formなんか2.0で追加されたコントトールバグてんこ盛りだよね。

自分全然触ってないけど、Webなんか今でもあいかわらずバッドノウハウの塊でしょ?

805 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 19:13:34.90 ID:sRlsGpo+.net]
コード書くわけでもなくここで机上の空論やっていたら十分非建設的

806 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 19:59:16.66 ID:ws3TkDjE.net]
コントトールバグってなに?

807 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:13:02.91 ID:nXa8x8o4.net]
それぐらい文脈からわからなければただの馬鹿だね・・

808 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:15:48.40 ID:ws3TkDjE.net]
>>785
答えれば済む話でしょ。いちいち幼稚園児みたいな低脳煽りはいらないから知ってたら教えてよ。

809 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:24:51.33 ID:7ymyOIx0.net]
知りたきゃ低能アピールしてないで追加されたの+注意点とかでぐぐれよ

810 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:25:20.57 ID:ws3TkDjE.net]
>>785
答えずに逃げたのかよ、チンカスが。



811 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:27:05.85 ID:ws3TkDjE.net]
なんだ同一人物かよ、クソが。失せろカス。

ID:2WJ6m4B/ = ID:nXa8x8o4 = ID:7ymyOIx0

812 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:28:36.51 ID:3+O8Ku+c.net]
>>780
> 何せ落ちた所のプログラムが正常だったりするからな
これはシングルスレッドでもメモリーをぶっ壊すとかすると発生する
マルチスレッドのバグは再現性がなかったりするから厄介
何度も痛い目にあったから日頃からできる範囲でトレース入れる癖がついたわ

813 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:33:18.22 ID:nXa8x8o4.net]
それぐらいも文脈から推測できない馬鹿だったか・・

814 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:33:56.34 ID:3+O8Ku+c.net]
>>786
横からだけど

815 名前:普通に考えたら

追加されたコントロール(は)バグてんこ盛りだよね

だろ
あえて煽るほどの話には見えん
[]
[ここ壊れてます]

816 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:37:00.17 ID:ws3TkDjE.net]
まだ自演続けるのか。こんな過疎スレでバレバレなんだよ。

817 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 20:41:19.57 ID:7ymyOIx0.net]
完全にキチガイw

818 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 21:01:32.04 ID:IabL/aby.net]
datagridviewのチェックボックスの挙動がおかしいくらいしか思いつかないけど、てんこ盛りってほどバグが放置されているとは思えない
バグがあったところでwinFomsで組むのならそこを何とかするしかないしどうでもいい
コントロール周りの不具合なら>>781の通り目に付くからすぐわかるしな

819 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 21:12:21.96 ID:7ymyOIx0.net]
コントロールにバグというか使用上の注意なんていくらでもあるだろ
例えばカレンダーだと何も考えずに配置して表示してるとこんな風に表示がおかしくなる
ttps://i.imgur.com/8dX0KcJ.png

820 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 21:33:24.91 ID:ckceu5N+.net]
使用上の注意とバグは違うだろ



821 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 21:41:45.10 ID:7ymyOIx0.net]
「これは仕様です」ってならそれは仕様の不具合だから、使用上の注意もバグも似たようなもんだよ

822 名前:デフォルトの名無しさん mailto:sage [2017/09/04(月) 21:55:00.09 ID:F+isrQ7Q.net]
>>786
揚げ足取りかと思ったら本当にわからないのかよ…

823 名前:デフォルトの名無しさん [2017/09/05(火) 01:16:35.06 ID:nPfvfHCk.net]
誤植を指摘されて発狂自演とか底辺PGらしくて微笑ましい

824 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 02:28:06.44 ID:e94nPpfB.net]
誤植って出版絡みの人?www

825 名前:デフォルトの名無しさん mailto:sage [2017/09/05(火) 06:54:17.90 ID:+ack9lyL.net]
誤植ならちゃんと校正しないとね
>>800みたいなアホ文章はちゃんと校閲しないとダメだけど

826 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 17:02:54.42 ID:WyFA8tpv.net]
C#を独学で勉強し始めました
プログラミング自体初めてです

超入門用の本を2冊買って最後まで読み終えたのですが、勉強を進めて行く上でオススメの本などはありますか?

827 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 17:18:06.32 ID:MsDWplbB.net]
本読むより手を動かせ

828 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 17:23:53.50 ID:RXvp/CNY.net]
本読まなくてもプログラムのスキルは身につくけど本読むだけではいつまでたっても上達しない。料理みたいなもの

829 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 17:52:57.79 ID:5Fvz8IOs.net]
>>803
VSフォルダの下の方にC#の言語仕様書がWord文書で置いてあるので熟読しなさい

830 名前:デフォルトの名無しさん mailto:sage [2017/09/06(水) 22:33:25.43 ID:LeFS08p/.net]
>>803
猫以下?



831 名前:デフォルトの名無しさん mailto:sage [2017/09/12(火) 09:02:11.74 ID:EOOe72TQ.net]
○次受けが多いほど退場率が早くなる。高くなる

直受けの50万 客:いつまでもうちにいていいよ
3次受けの50万(客は90万払ってる) 客:短期延長していい?
5次受けの50万(客は150万払ってる) 客:作り終わったらとっと出てけ できなかったら即退場だ 
長時間労働 高稼働 高スキル要求が多い

フリーランスサイトを運営している零細ITの自称エージェントは労働市場から流れてくる案件を転売してるだけだった。
労働市場に加入すれば誰でも案件に応募することができた。収入が40万50万台にならなくて済む

エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×3 = 言い値50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - エージェント×1 悪質な言い値で50万以下
エンド - ユー子 - エージェント-JIET 公表価格 90~60 - JIETに加入して公表価格で応募できる

eJobgo JIET JISA で検索

優良エージェント・優良サイト

首都圏IT(PE-BANK) クラウドテック プログラマーズ

832 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 10:45:35.58 ID:Zk6Irz58.net]
本が読みたいのかプログラミングしたいのかどっち

833 名前:ネんだ?って感じだな []
[ここ壊れてます]

834 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 10:47:43.75 ID:DjFVi2hv.net]
勉強の仕方がわからないだけだよ

835 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 10:52:43.21 ID:dNmf7aOR.net]
道具とか本とか形だけ揃えて満足する人は多い。なぜかそこまでが目的な人も

836 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 14:15:15.65 ID:3905ntF4.net]
自分も手始めに色々(書籍)買い揃えてしまうほうだけど、スキルアップした時は既に旧版扱いで入手困難だったりするから身の丈合わなくても旬なうちにハードル高い物も買ってしまってる

837 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 15:28:11.94 ID:QE5Dhgdp.net]
独習C♯軽く読んで簡単な動かし方覚えてから、とりあえずDBやライブラリ等色々ネットで調べながら動くもの作ってたけど
後から修正しようと思っても一から作り直した方が早そうなプログラムを量産してます

SEやPGでも無いし、自分用にしかプログラム作らないので特に納期とかも気にしなくていいけども
生産性を上げれるなら上げたいと思ってます
皆さんは後から修正するかもって思った時はどんな事に気をつけてますか?

838 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 15:35:52.66 ID:ONgAFYB5.net]
>>813
機能毎にクラス分け

839 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:31:38.33 ID:rWX0O503.net]
>>813
>>814 のそれぞれをインターフェースで結ぶ

…でもやりすぎるとかえってめんどくさかったり…
そのあたり上手くやれるのが経験だったり、才能だったりするんだろうな
と思う俺も趣味プログラマ

840 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:40:35.37 ID:DjFVi2hv.net]
できるだけ汎用的に使えるように>>814だな
今回使うための用途じゃなくて、ほかにどんなことに使えるか考えつつそれも視野に入れてクラス組む
そしてできたのは自分用のライブラリとして保存



841 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:41:42.49 ID:QE5Dhgdp.net]
>>814
>>815
クラスとインターフェースですか
コレクションとか凄いなぁって見ても、自分でインターフェース作った事無いですね・・・

一応、クラスは分けて作ってますが
クラスが増えすぎて、どれで何してたのか分からなくなってくる管理状況です
抽象化も出来てないので、似たような仕組みが分散しすぎてて、なんか勿体無いところも
かといって一部使いまわそうとするとクラスの数珠繋ぎで依存性が出てくるので管理が大変に

842 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:52:54.47 ID:Zk6Irz58.net]
まあ、あんまり考えすぎてもしょうがないと思うけどね
これがベストと思った書き方も、将来スキルがあがったらもっとベターなやり方
思いついたりもするし
とりあえず考えとく事は、クラスだなんだというよりももっとシンプルに、個々のパーツ間の
依存関係を極力シンプルにして、コードの見通しをよくしてメンテしやすくすること
他のプログラムに流用できそうな部分は、実際独立したパーツとして流用できるような
作りにしておくことくらいかな

843 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 19:57:25.63 ID:QOgyryHO.net]
>>817
CommonClassとでも名付ければよか

844 名前:デフォルトの名無しさん mailto:sage [2017/09/16(土) 20:10:04.77 ID:QE5Dhgdp.net]
>>818
実際、部分的に使いたい時に前はこの書き方してたけど、今はこっちの書き方覚えたからこっちで少し最適化するかって感じで書いてたりしますね
そんな事しないで共通化出来るように抽象化したいですが・・・

>>819
staticでそれやってましたけど、なんか違うなぁって感じでファイル読み込みや書き込みはそのままで、ソートやループ処理での計算などはクラス毎に埋め込んでますね・・・
それとも自分が考えてる様なコモンクラスと別物ですか?

845 名前:デフォルトの名無しさん mailto:sage [2017/09/17(日) 18:17:33.06 ID:PsKGEjCI.net]
>>813
> 後から修正しようと思っても一から作り直した方が早そうなプログラムを量産してます
これを止めて無理にでも流用するようにすれば、何が問題なのか体感できる。
それを次に生かせば、流用しやすい構成で組めるようになり、生産性が上がる。

846 名前:デフォルトの名無しさん mailto:sage [2017/09/22(金) 15:17:35.43 ID:lkenNsuH.net]
オブジェクト指向でいう再利用性って、新しいものを作るときに
既存のソースファイルやDLLをコピペして使うというのとはちょっと意味合いが違うんだけどね
端的に言えば、同じ役割のクラスは同じクラスであるべき、ってことだ
あまり実感ないだろうけど、大規模な開発になってくると必ずそれが崩れてくるんだよ

847 名前:デフォルトの名無しさん [2017/10/11(水) 22:06:03.34 ID:CxvWYCvq.net]
C#でPDFファイルのテキストやそのテキストに張ってあるハイバーリンクのURLを
取り出したいんだが、どんな方法で可能でしょうか?

848 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:13:48.35 ID:Qsqjym7k.net]
>>822
東京-大阪間の飛行機と新幹線は同じクラスであるべきなんですか?

849 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:20:56.76 ID:jolrOeyH.net]
>>823
普通にファイル開いてそっからコピー

850 名前:デフォルトの名無しさん [2017/10/11(水) 22:24:38.71 ID:CxvWYCvq.net]
>>825
普通に開くってどうやって開くの?
サンプルコード教えて。



851 名前:デフォルトの名無しさん mailto:sage [2017/10/11(水) 22:30:16.87 ID:jolrOeyH.net]
>>826
普通にバイナリファイルとして開く
コードも仕様もそこらにあるからぐぐれ
もともと印刷用だから癖はあるが簡単に読めるぞ

852 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 05:18:07.24 ID:FxEVeaRl.net]
あれってAPI提供されてないの?

853 名前:デフォルトの名無しさん [2017/10/12(木) 05:55:22.63 ID:cp/CfqWL.net]
OfficeやPDF テキスト抽出について
https://qiita.com/mash0510/items/caa41b1f1d8dc4b31ac6

うらる抽出は頑張って

854 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 15:07:41.48 ID:o8TlX9Z0.net]
>>823
1. そのままgrep (e.g. grep -a “www” pdf-file)
2. pdfgrep
3. pdftotext/pdftohtmlしてgrep

C#関係ないけど用を足すには十分
ハイパーリンクのurlとlink textを紐付けて抽出したいならpdftohtml

855 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 15:30:48.87 ID:orqgo34x.net]
C#宣伝してる奴がうざいんですが、どうしたらいんでしょうか?

856 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 15:38:31.04 ID:iyTaH+M7.net]
>>831
板違いなのが分からなければ諦めよう

857 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 16:03:05.22 ID:o8TlX9Z0.net]
>>831
F#をマスターしてF#を宣伝する

所詮マウンティング合戦だから
新しいマウンティングで対抗しよう

858 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 16:34:04.71 ID:yeVmMHMU.net]
>>832
>>833
了解です

859 名前:デフォルトの名無しさん [2017/10/12(木) 20:17:41.14 ID:rmq6lCFL.net]
>>831
WindowsならC#を推奨するのは間違っていないが?

860 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 20:25:21.77 ID:6wxZWyrC.net]
>>835
おまえみたいに読めない奴がうざいって意味であって、C#自体に文句を言ってるわけじゃないでしょ



861 名前:デフォルトの名無しさん [2017/10/12(木) 20:29:17.66 ID:rmq6lCFL.net]
>>836
自分でC#と言ってるのに、その人のことをC#と表現するからおかしい。

そんな解釈が難しいやりとりが普通の人間はプログラミングなんてやめた方がいい。

862 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 20:35:24.74 ID:QAc7UiBI.net]
そもそも、たかが1言語についてそこまで固執したり拒絶するのって、病的だよ。
たかが道具に、なんか人生を預けるレベルで考えてるのがキモイ。
自覚がないのが可哀想。病院で治るのかしらんけど。

863 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 20:40:12.22 ID:wRjHo3Vb ]
[ここ壊れてます]

864 名前:.net mailto: なんでコード関係ない話だと盛り上がるんだろうな []
[ここ壊れてます]

865 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 20:42:29.44 ID:QAc7UiBI.net]
そういうときだけなんか書く俺みたいなバカが多いからだな

866 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 20:52:00.07 ID:ILNtvg14.net]
>>838
単にC#推奨してるだけで固執とか言い出す奴の方が病的じゃね?
C#使えなくて解雇でもされたのかよ w

867 名前:デフォルトの名無しさん [2017/10/12(木) 21:04:55.84 ID:cp/CfqWL.net]
かなり良い言語だと思うんだけどなあ

868 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 22:36:31.58 ID:5L9LK4sR.net]
つーか、最強でしょ(他の言語知らんけど

869 名前:デフォルトの名無しさん mailto:sage [2017/10/12(木) 23:51:17.58 ID:r624txD7.net]
>>831
javaスレにご迷惑おかけしているようで

870 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 00:09:38.51 ID:5nsLU4Yv.net]
>>839
プログラマ以外でも参加できるから



871 名前:デフォルトの名無しさん [2017/10/13(金) 00:12:46.20 ID:9ootMMuk.net]
盛り上がってると思って、またvarかと思ったらバカだった

872 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 00:42:33.07 ID:/02if2W5.net]
varを採用してからというもの、C#は今はもうマイナーオワコン言語だからな。
マカー同様スレチで普及したがるのも無理はない。

873 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 01:45:16.88 ID:lGm8W5z8X]
System.Net.WebClient wc = new System.Net.WebClient();
wc.DownloadFile(url, nnn);

この2行目で例外が出る原因の詳細は何かでわからないの?
メッセージは「要求で例外が発生しました。」なんだけど。

ブラウザでURL直接叩いてDLできるのは確認した。

874 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 01:43:46.38 ID:l1jERKvk.net]
>>847
お前Javaスレのキチガイか?

875 名前:デフォルトの名無しさん [2017/10/13(金) 02:27:14.63 ID:DqOAXvoj.net]
人気の証拠やね

876 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 02:51:53.86 ID:GlXmqXn2.net]
C#って、普及してる割にgithubのリポジトリ数が少ないと思うんですが、やっぱりサラリーマン向け言語だから趣味でコード書いて公開する人が少ないんですか?

877 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 03:18:45.27 ID:2WV6tJ0M.net]
業界談義はプログラマー板でってローカルルールすら守らないのは何で?

878 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 03:30:12.26 ID:hGij+Jvi.net]
ここ数年はGitHubランキング的なのを8-10位あたりでふらふらしてるけど
普及している割にというか「そんなもんじゃね?」という感覚だな

879 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 03:38:06.62 ID:/02if2W5.net]
事実から目を背けるなんてまるでマカーのようだ。フフフ、笑える。

880 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 07:49:55.20 ID:1BwGqO5B.net]
別にネガキャンとかじゃなくて普通の話題として振るけども

俺の周りの(趣味で)C#やってる人間がみんなKotlinに浮気しだしたんだが
そいつら曰く、
KotlinはなんとなくC#的な雰囲気あって良い
って薦めてくる

まだ触ったことないんだけど、実際のとこどうなの?



881 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 08:21:22.07 ID:0vilsSxc.net]
KotlinはなんとなくじゃなくてC#を名指しでリスペクト(公然と丸パクリ)してる
C#もこれまで拡張を繰り返してきて綻びや変えたいけど互換性の問題で今更変えられない部分が沢山出ているので、
それを全面的に見直して綺麗に整理してある
難点を挙げるとすれば、今のところ全体的には素直で普通な言語にまとまってはいるけど
Kotlinがパクリ元のC#やScalaによらずリリース後に独自に入れている部分については
節操がなくあまりセンスが良くなくてScala化の兆しが見えていることかな
あの調子だと結局はScalaみたいに破綻すると思うよ

882 名前:デフォルトの名無しさん mailto:sage [2017/ ]
[ここ壊れてます]

883 名前:10/13(金) 08:23:13.20 ID:vLRRsIkM.net mailto: Kotlin [無断転載禁止]©2ch.net
http://mevius.2ch.net/test/read.cgi/tech/1456505161/
[]
[ここ壊れてます]

884 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 08:41:24.05 ID:0vilsSxc.net]
C#が優れてるのは、独自路線の大きな拡張を長期にわたって繰り返し続けているのに
大きな破綻なく複雑にもなりすぎず言語を維持できているという点だ
他の言語の悪いところを見つけるのは簡単だが、トップランナーとして新しいものを作っていくのは遥かに難しいんだよ
その意味ではKotlinは粗探しは非常に上手いが、後者のセンスはC#のように天才的なものは感じないね

885 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 10:40:17.30 ID:c2xsGjmq.net]
C#に対する不満てほとんどは
Windows自体か.NET Frameworkに対する文句だからな

886 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 10:42:45.04 ID:kWGNHU+4.net]
>>844
処分して、頼むわ

887 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 11:05:21.86 ID:iKXV2/QB.net]
linqのクエリ構文が出た時はどうなることかと思ったが、
メソッド構文が出て良かったよ

888 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 11:19:12.84 ID:mWlYF3iB.net]
MicrosoftはいまC#よりTypeScriptに力入れてんじゃないの

889 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:10:11.58 ID:DI18WdpZ.net]
>>862
どっちも
c#はほぼ.NET Coreと.NET Standardに全振り

890 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:21:05.14 ID:rXsVXlwO.net]
VSCodeは使いやすすぎてびっくりする
TypeScriptでインテリセンスが効くのはわかるが、型書いてない普通のJSでも余裕で効く
エスパーかと思うレベル
このままいくとVSもVSCodeに吸収されそうだね



891 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:36:56.29 ID:/02if2W5.net]
>>858
Javaが出てときと同じこと言ってる。同一人物か。

892 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 12:41:01.56 ID:hGij+Jvi.net]
VSもVSCodeに吸収されそうの意味がさっぱりわからんが
フォントレンダリングだけはちゃっちゃと同じにして

ちゅーかもういい加減Windows全域でフォントのヒンティング切っとけや
本来にもう少しマシなレンダリングできるのに完全に癌になってるじゃろ

893 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 13:12:20.54 ID:n8HgMJNJ.net]
やる気があればVistaの時点でやってただろうねw
どうしてMSみたいな大企業が作ってるOSがフリーのLinuxより酷い品質なのかちょっと理解できないけど

894 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 13:17:51.90 ID:O16XdCSv.net]
VScodeってそんな魅力的じゃないよ
どちらも使ってるけど総合力じゃ今のVSのほうが数段上

VSCodeも最初と比べるとどんどん起動が遅くなってきてる

895 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 13:42:36.90 ID:mWlYF3iB.net]
そらそうやろ

896 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:21:15.25 ID:bQrnObX5.net]
vscodeって単なるエディタだろ

897 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:37:07.18 ID:vLRRsIkM.net]
vsも単なるエディタだよね・・・

898 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 15:58:23.34 ID:/02if2W5.net]
C#がVB化してユーザーも低スキル化、DQN化したのが嫌われる原因だな。

899 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 16:05:55.56 ID:qYIJYs/2.net]
VBとC#なんか変わらんしユーザーというかこの板に変なのがいるだけ
>>871
vsってエディタは聞いたことない

900 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 16:12:38.74 ID:/02if2W5.net]
>>873 ←こいつです。



901 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 17:50:46.71 ID:k6fDlhS2.net]
マルチプラットフォームなwebプログラミング向けエディタ
って触れ込みだったのに今はVSと比較される様になったのか

902 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:32:29.21 ID:KDqUmvjk.net]
言語だけぽこぽこ新しいのがでてくるが、
そろそろ言語+標準クラスライブライというか、.NETやJavaみたいな新しい実行環境でてこねぇかな。
いまなら負の遺産を一掃してもっと素晴らしいやつができるはず

903 名前:デフォルトの名無しさん [2017/10/13(金) 18:38:11.70 ID:tXRzEGrt.net]
要は.NETをJVM化すればいいのか?
Coreがもう少し充実すればええんでね?

904 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:54:32.24 ID:GNictDD2.net]
>>871
IDEって知ってる?

905 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 18:58:38.89 ID:n8HgMJNJ.net]
JavaはともかくC#や.NETにガラガラポンが必要とは思わないな

906 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 19:15:51.57 ID:vLRRsIkM.net]
>>878
SATAに駆逐されたデータ転送規格だろ。そんくらい知ってるわ

907 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 19:34:09.07 ID:r6+I6nXN.net]
>>880
おもろないわー

908 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 21:44:12.59 ID:/02if2W5.net]
関西人がそんなヘタな突っ込みをするわけがない。

909 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:05:01.47 ID:DPD6/A6x.net]
>>873
まあ俺はほとんどエディタ代わりに使ってたりするけど... w

910 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:07:27.85 ID:6pOkahl4.net]
C#もそろそろ新言語への乗り換えの時期じゃないか
いつまでも残ってるダサい互換性を切ってnot nullとか新しい機能を導入してさ
C#は実験場にすればいい



911 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:12:20.87 ID:/02if2W5.net]
プラットフォームが先細りだから無駄な足掻き。
パソコンは名ばかりでもはやオフコン。業務でしか使われない。

912 名前:デフォルトの名無しさん [2017/10/13(金) 22:32:01.44 ID:HAAysV2z.net]
kotlinの読み方って
ことりん
でOK?

913 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:42:29.74 ID:7WqKL+Sr.net]
C#使い始めて何年も経つけど未だに乗り換えようと思うほど使いこなせない
思った通りのもの作れるし

914 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 22:43:43.87 ID:l1jERKvk.net]
>>884
c#8.0

915 名前:デフォルトの名無しさん mailto:sage [2017/10/13(金) 23:06:44.79 ID:/02if2W5.net]
>>886
日本ではなべやかんって言われてる。

916 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 08:13:04.21 ID:Sngz5bnk.net]
我流で必要に迫られて始めたものの、汚いいVB6ちっくなコードしか書けない…
キチンとセオリーに則って基礎からやり直したい
とは言え、(どうせ、この先自分以外の誰かがソース開くことなんかねぇだろな…)と思うと、まぁいっか、と逃げてしまう

917 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 08:20:33.00 ID:+XwGR1nT.net]
>>886
ことぅりんっ

918 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 10:44:36.38 ID:SVCVJk+z.net]
>>890
惰性でいくら書いても無駄
良いコードを書くには良書を読むに限る

919 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:36:43.44 ID:iAy6fmRl.net]
目的がきれいなコード書くことならそれに向けて努力すべきだけど
動くものが作りたいならそんなのは遠回り

920 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:44:43.92 ID:SVCVJk+z.net]
動けばいいと言う奴のプログラムはえてして正しく動かないものだ



921 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 11:58:17.97 ID:QGlvjmmK.net]
オラクルのJavaシルバーに合格した。
C#も勉強したいが少し不安。
似てる部分が多いだけに頭が混乱しそう

922 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:02:23.40 ID:1NT+cnAj.net]
その場で書いて動かして後のこと考えなくていいなら汚いコードでもいいけど
長期的にメンテナンスすること考えたら多少手間でも綺麗なコード書いたほうが結局近道

923 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:03:40.35 ID:POcZZiww.net]
>>892
おすすめの良書教えて下さい

924 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:09:34.83 ID:F+wwiVHB.net]
>>896
C#なんてすぐバージョンが上がって推奨されてない書き方です、とか
時代についていけない老害とか馬鹿にされるんだぜ。使い捨てのコードを書く言語だよ。

925 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:11:41.65 ID:0bz5HDJB.net]
俺も動くものは作れるけど、汚いコードや一箇所仕様変更すると他の関数にまで影響が出て整備がほぼできないコード量産してるわ

整備不可なコードの山を見て、整備しやすいコードの書き方勉強しようとしてるけど、イディオム本読んだりデザインパターン少し調べてもイマイチ理解が深まらなかった
インターフェイスや継承はまったく使ってなかったけど、最近取り入れようとサンプルコード書いてます

926 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 16:26:44.70 ID:gHhUphNv.net]
リファクタリング(マーティンファウラー)
エリック・エヴァンスのドメイン駆動設計

C#の本じゃないけどな

927 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:13:18.55 ID:RBWq+qGD.net]
>>898
そんなことないよw

基本メソッドの中なんてブラックボックスで構わんが、
メソッドの切り分け方とか全体の設計方法に影響を与えるような変更なんか
そうしょっちゅうあるわけじゃないから。

2.0以降考えてもジェネリkック、ラムダ式、非同期メソッド、
あと強いて言えばオプション変数、これぐらいしかないでしょ

928 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:23:48.06 ID:Gt2cFrms.net]
taskとasync/awaitを忘れてるぞ

929 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:26:58.34 ID:Gt2cFrms.net]
>非同期メソッド
書いてあったわ

930 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:40:04.26 ID:ipiotHZI.net]
ジェネリック
ラムダ
var
System.Linq
匿名型
オーバーロード解決の強化
非同期

2.0使うとこの辺りが欲しくなる



931 名前:デフォルトの名無しさん [2017/10/14(土) 17:41:10.18 ID:GRARGOD6.net]
最近はC++でさえ、がんがん新しい機能取り入れてるからな
無理やり感は否めないけど

932 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:42:42.97 ID:0bz5HDJB.net]
まぁ実際すぐ動くもの欲しくなったら仕様変更考えない作りにする感じはある
余裕ある時じゃないと設計とか考えないから全然身に付かないけど
大手は分からないけど中小で入ったところは上層はコード共通化したがってたけど、PGはライブラリ各個で作って新機能追加の度に客先別コーティングしてたし、整備性を加えるのはそこそこ手間が掛かるのかなって印象

933 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 17:48:33.48 ID:ipiotHZI.net]
標準ライブラリとオープンソースをラップしてプロジェクト用のライブラリを作る
作業効率最適化とリスクを考えるとどうしてもこのラッピング作業が必要になる
社内ライブラリに変わったとしてもこのラッピング作業は必要だからプロジェクトの工数は減らせない
それどころかバグの多さやドキュメントの少なさを考えると社内ライブラリは害悪にすらなりうる

934 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:23:25.93 ID:EAXt6Ted.net]
refとかoutって使う?

935 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:33:33.69 ID:+aeiapeN.net]
>>908
TryParseが最初からout使う前提
refは呼び出し先でデータ加工して返すときに無いと面倒
あとどっちもwinapiとかアンマネージのライブラリのときによく使う印象

936 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:40:32.10 ID:09BRVdeW.net]
あと、2つ以上値を返すときは、今までrefかout使うのが便利だったが
タプルさ

937 名前:ん新型で、その需要は大分減ったかもしれんね []
[ここ壊れてます]

938 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:41:14.11 ID:wCRGPfd0.net]
俺は綺麗に書こうと努めてるが、他人のすごいスパゲッティコードを見たとき、
ある意味これはこれですごいなと思う。
俺なら発狂しそうだし、こんな長いコードよくメンテできるなと
これはこれですごいなとは思う。

939 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 18:56:56.78 ID:XRdStdss.net]
>>908
多用はしないけどないと困らない?

940 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 19:08:22.69 ID:GDzf5CCz.net]
>>911
同意
多分IQはあいつらの方が高いんだろうなって思う
彼らは複雑なものを複雑なまま扱えるからシンプルに置き換えて考えようって気にならないのかもしれない



941 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 19:35:40.73 ID:2nqvspLu.net]
メソッドの戻り値によく処理成否のエラーコードと処理結果のオブジェクトや例外情報をプロパティにした自作クラス使っているんだけど、C#7以降はValueTuple使ったほうが楽なのかね

942 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 20:04:11.88 ID:TEHxzWsT.net]
>>914
それは普通に例外使え

943 名前:デフォルトの名無しさん mailto:sage [2017/10/14(土) 20:13:50.41 ID:eGxiRqCm.net]
>>909
>>910
ありがとう
>>912
今までは困ってなかったんだけど、あまり使い方を知らなかったせいだとおもう

944 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 10:21:44.73 ID:g/8BaPWP.net]
>>911
そういう人って、書いてから何年もごぶさたなコードだって苦もなく修正できるのかな?
だとすれば無条件に感心するけど
自分も作ってすぐのほかほかスパゲティなら勝手わかってるけど、ごぶさたで冷めた
スパゲティはさすがに細部がどうだったか覚えてなくて、麺をほぐすのに苦労するw

945 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 10:34:18.66 ID:jiVarmiT.net]
>>917
文系の記憶力を甘く見ない方がいい
あいつら暗記だけで受験や大学卒業まで乗り切ってきたんだぜ
数年前のスパゲティでもここどうなってんのって聞けばちゃんと答えを返してくる

946 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 10:38:44.41 ID:pPHSVA6w.net]
プログラミングも暗記がすべてだぞ

947 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 12:31:37.62 ID:6sAES7rz.net]
>>917
1ヶ月たってたら厳しいw

948 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 13:52:28.53 ID:VwZ2wYnP.net]
>>919
暗記で何とかなるプログラムしかやらないんだな

949 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 13:55:30.87 ID:XWjA+gHr.net]
staticタスクをwhileでずっと回してデータリストのデータを監視しててエラーがあったら注意喚起のフォームを開いたりフォームのラベルを変更したりしたいんだけど
staticだからタスクからインヴォーク使えないし、メインフォームに作ったフォーム開いたりするメソッドをデリゲートしようとしても静的フィールド〜でできなくて詰まった・・・

設計見直したほうがいいレベル?

950 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:09:37.18 ID:Bo2AAy/J.net]
TaskScheduler渡しとけばいいんでない



951 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:21:36.95 ID:uH5IYLUj.net]
>>922
意味不明だから言いたいこと整理して
1ステートメントは短く簡潔に
複数行に分けてもいい
「〜である。」「〜だと思う。」「〜したい。」「〜してくれ。」をハッキリして

952 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:41:20.38 ID:yD0afN8z.net]
静的イベント定義してタスクはそれを発生させる
受け取り側各位はイベントを受けて適当にハンドルする
でいいんじゃね

953 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:43:54.89 ID:khkF9f68.net]
>>924
お前以外はわかってる

954 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:46:56.01 ID:XWjA+gHr.net]
□メインフォーム
データリストを保持してる
一定間隔でデータリストをデータベースから取ってきて更新する

□バックグラウンドタスク
メインフォームのコンストラクタで起動する
メインフォームを閉じるまでwhileで動き続ける
メインフォームのデータリストに異常値を見つけたら注意喚起フォームを開く

□注意喚起フォーム
データが異常値だから直せ〜のメッセージが表示してある
オーナーはメインフォーム

バックグラウンドタスクのメソッド上で注意喚起フォームを普通に開こうとしたらクロススレッド〜で開けない
タスク上にインヴォークを記述するのはタスクがスタティックだから使えない
フォームを開く処理をメインフォームに書いてタスクにデリゲート処理を記述するのもタスクがスタティックだから静的なフィールド〜でできない
メインフォームはスタティックじゃないけど作りの問題でタスク側でnewするわけにはいかない

どうやってタスクからイベントを投げてメインフォームでハンドルすればいいか教えてください

>>924
これで理解できる?

955 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:48:02.73 ID:uH5IYLUj.net]
>>926
それはわかってるつもりになってるだけだよ

956 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 14:52:56.88 ID:uH5IYLUj.net]
>>927
後半が意味不明
タスクがスタティックってどういうこと
タスクはオブジェクトだろ

957 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:10:29.08 ID:XWjA+gHr.net]
static修飾子知らないってマジモンの素人やん
そら説明しても理解できませんわ

>>925
ありがとう
ちょっと調べてみる!

958 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:42:51.61 ID:6FiFCoKL.net]
バックグラウンドタスクをシングルトンパターンにして、
メインフォームから起動すればいいんちゃうか

959 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:48:03.42 ID:hZRxEBGG.net]
>>927

>バックグラウンドタスクのメソッド上で注意喚起フォームを普通に開こうとしたらクロススレッド〜で開けない
UIスレッドからタスクを実行してるならawaitでUI処理できるよね?
タスク一回終わらしてUI処理してからまたタスク起動する形にすれば簡単だと思う
それかイベントにするか

>メインフォームのコンストラクタで起動する
これって普通?コンストラクタで起動するのはちょっと気持ち悪い

960 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:54:54.78 ID:uH5IYLUj.net]
Formが抱えてるデータを走査してるんだから
Formインスタンスは持ってるんだろ
ならInvokeするだけじゃねえかアホかこいつ



961 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 15:59:42.50 ID:Tx63GDtf.net]
バックグラウンドタスクっているの?

962 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:05:38.00 ID:uH5IYLUj.net]
インヴォーク(FormインスタンスのInvokeメソッドのことでいいんだよな?)を記述できないスタティックなタスク
という記述から一般的な意味でのstaticメソッドではないスタティックなタスクと名付けられたもの固有の事情があることは明らか
なぜなら非UIスレッドで実行中のstaticメソッドからFormインスタンスのInvokeメソッドを呼び出せないということはないからだ
そもそもInvokeは非UIスレッドからUIスレッドに処理を移譲するための機構だ
まずはそこ(スタティックなタスクと呼んでいる何かについて)を説明しろ

963 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:11:46.40 ID:64liGYG7.net]
綺麗なコードって何なんだろうと思う
俺のかいたコードじゃないことは確か

クラス設計もきちんと学んだことがなく
いつの間にか親子関係がおかしくなってそれぞれをコンポジションしたり
よくよく見たらstaticでいいよなって思うものが生えてくる
状態なのか具象なのかが混とんとしてくる

参考にしようと小さなソフトのgithubみたら100行に満たない小さなクラスが100も200もあったりする
どうやってこれの役割覚えて管理してるのかと感心する

964 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:31:12.04 ID:Tx63GDtf.net]
>>936
製作者がクラス図書いてなきゃ
そこで終了な案件

ソースからクラス図を生成するツールがうまく動いてくれればラッキー
動かなかったら地道に書いて見るしかない

965 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:31:43.29 ID:XWjA+gHr.net]
>>932
コンストラクタで起動するのが気持ちわるいのは超同意
でもコンストラクタで立ち上げて常駐する形じゃないとダメー!!!らしいのでしゃーなしでやってる
タスクの処理をUIスレッドでawaitして返り値で処理するのを繰り返す形が正解なのは理解してるんだけど

>>934
ぶっちゃけボタンかタイマーで起動してawait繰り返せば済むしコードも読みやすいし実装も楽だし拡張性も上がるんだけど
「おじいちゃんはバックグラウンドという言葉が大好き」なのでしょうがない

966 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:34:15.07 ID:SUmdrC/e.net]
>>936
小さいクラスはたくさんあっても困らない
見れば何やってるかすぐにわかるから
それに小さいクラスは1つの役割に集中していることが多い(それが良い設計)
なのでクラス名を見れば何をやってるクラスなのか大体わかる

967 名前:

何千行もある巨大なクラスは見てもよくわからない
大抵の場合、様々な役割が1つのクラスに詰め込まれているので、名前も曖昧になる
こういうクラスは1つでもあるとプロジェクトが大混乱する
[]
[ここ壊れてます]

968 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:39:42.12 ID:Tx63GDtf.net]
>>939
俺はわからんかった
細切れソースは俺は読めない
資料書いてくれ

969 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:41:28.87 ID:SUmdrC/e.net]
>>938
そもそも繰り返すのは正解じゃない
入力系イベントで同期的に検証すればいいだけの話
今回の場合は入力ではなくデータ取得なので取得したあとにデータを検証ればいい
検証なんてほとんど時間がかからないんだから非同期にする必要はない
データに変化がないのに何度も繰り返しデータが正しいか検証したってしょうがない

970 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:45:10.71 ID:SUmdrC/e.net]
>>940
そうか
長いクラスを読むのはもっと大変だろうね



971 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:46:24.51 ID:64liGYG7.net]
俺が見たのは何とかジェネレーターというの沢山あるものだった
AジェネレーターがBジェネレーターをつくりそのクラスからCジェネレーターが出来て…と
とてもとても理解不能だった
なぜなんとかジェネレーターが必要なのかどうかがわからない

972 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:48:21.34 ID:eZM6bYju.net]
コンパクトなクラスが読めないのは能力云々より
設計か命名の問題だと思う

973 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:49:26.63 ID:Tx63GDtf.net]
>>942
そういう問題じゃなくて意味があるまとまりにしてくれないと困る
んでおそらく形成されているであろうツリー構造がソースから把握できない

974 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:53:40.20 ID:Tx63GDtf.net]
>>943
単ー複の複が増減するんだろうねw
クラス図だと「ー●」確かこんな関係?

975 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:58:24.70 ID:64liGYG7.net]
コンストラクタ+メソッド1個みたいのもたくさんあった
単機能を実装したらこういうことになるんだろうとは思うけど
クラスが現実世界のものを表してるならこんな感じにはならない

976 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 16:59:23.02 ID:HL16aayQ.net]
>>945
クラスは意味のあるまとまりだよ
クラスのグルーピングは名前空間でやってるでしょ
名前空間使ってないなら命名規約でわかるようになってるんじゃないかな
どっちも無いならちょっと不親切だね
ちなみにどのリポジトリ?Githubだったよね?

977 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:01:23.72 ID:Tx63GDtf.net]
>>947
作るの勝手だけど
そういう奴に限って設計書のクラスの
記述漏れてんだよなぁ

プチクラス作れば作るほど
設計書書くの大変なのに

978 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:03:33.64 ID:Tx63GDtf.net]
>>948
githubなんてアクセスしたら警告表示が出ちまうよ

979 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:03:58.81 ID:HL16aayQ.net]
>>943
それはジェネレーターではなくファクトリーでは?
DIフレームワークを使わない硬派なプロジェクトだと大量のファクトリーが作られる

980 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 17:06:39.12 ID:Tx63GDtf.net]
>>951
たくさん種類があるんじゃね?



981 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 20:01:37.79 ID:pPHSVA6w.net]
無駄にこだわりが多かったりプライド高いやつのは汚いソースになるな

982 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 20:21:58.89 ID:7EwQRwAf.net]
>>908
使わない
過去の遺物

ヒープ汚したく無い時のstruct用はあるが例外やね

983 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 20:24:26.52 ID:7EwQRwAf.net]
>>914
今ならOptionやらなんやらやね

984 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 20:41:56.58 ID:T+wcAuKm.net]
>>954
過去の遺物ってことは無いな
C#7で参照戻り値と参照ローカル変数が追加されたくらいだし

985 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:31:21.56 ID:9R+c2v2L.net]
C#はコードを使い捨てにする言語だからな。
殴り書きの汚いソースでも動くように最強のIDEがサポートしてくれる。

986 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:39:13.51 ID:Gr3hJnkQ.net]
それには同意できない
殴り書きでいいならpythonつかえと

987 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:44:28.44 ID:9R+c2v2L.net]
おまえに命令される筋合いはない。おまえこそCOBOLでも使ってろよ。

988 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:47:00.42 ID:iejCBPTQ.net]
ちょっとワロタ

989 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:52:11.14 ID:gXUARaWp.net]
業務系でC#使う上で最強のプロジェクト管理・ソース管理はどれですかね?

990 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 22:57:23.96 ID:s9CmER57.net]
個人プレーならzipでソルーション丸ごと固めるのが結局最強



991 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 23:01:23.07 ID:9GFvcsU0.net]
>>961
GitHub Enterprise

992 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 23:04:37.66 ID:9R+c2v2L.net]
TFSは死んだのか。

993 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 23:17:33.61 ID:dd5lceIv.net]
今やMSもGithubだからなあ

994 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 23:17:50.60 ID:9GFvcsU0.net]
>>964
VSTS

995 名前:デフォルトの名無しさん mailto:sage [2017/10/15(日) 23:52:49.16 ID:9R+c2v2L.net]
C++保守用に未だVSS使ってるわ。新規で作ることないから移行する気がない。
個人ではC#のコードは使い捨てだから変更履歴なんかいらないよな。バックアップだけで十分。

996 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:06:28.84 ID:jGcPR8aa.net]
バックアップ目的だけでもgitのほうが楽だわ
何も考えずプッシュするだけ

997 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:10:00.94 ID:TyZJj4Kq.net]
VCSに対してCVSとかSVNとかのイメージを引きずってるなら、
Gitは食わず嫌いしないで一度試してみるべきだな
本当に手軽に使え、全く負担にならない

998 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:35:37.42 ID:pMOr9sAk.net]
>>969
gitって非公開で使うにはお金かかるんですか?

999 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:38:16.40 ID:7ho3Goo/.net]
gitは今はVSにもデフォルトで入ってるんじゃないか?ネットワークないローカル環境でも使える
githubはしらね

1000 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:47:42.36 ID:eZI1RZBb.net]
githubは非公開はお金がかかる

そういうサービス使わないで自分でgit使って自前のgitリポジトリ利用はタダ
好きなように運用したらいい



1001 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 00:49:28.23 ID:TyZJj4Kq.net]
gitはローカルで使いながら必要に応じてリモートと同期取るもんだけど、
無料でプライベートリポジトリが持てるホスティングサービスとしてはbitbucketが有名
github的な機能が不要で本当にgitリポジトリのホスティングだけでいいならAWS CodeCommitとかも無料で使える

1002 名前:デフォルトの名無しさん [2017/10/16(月) 01:22:35.89 ID:TG+ykm1v.net]
個人でVSTS使おうと思うけど無料なん?
プライベートリポジトリ。

1003 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 01:35:49.09 ID:pMOr9sAk.net]
gitと、githubって別物だったのかw

1004 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 01:38:02.07 ID:1MDONeW4.net]
>>974
うん

1005 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 02:22:04.00 ID:7CHwAcHs.net]
乱立しすぎ。

1006 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 02:25:43.57 ID:TG+ykm1v.net]
>>976
試してます。ありがとうございます。

1007 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 08:21:49.44 ID:dwD3mD07.net]
>>977
世の中はGitで完全に統一されてるよ
どんなホスティングサービスだろうがツールだろうが扱うのはGitリポジトリ
Gitでバージョン管理されているディレクトリをどこに置くか、GUIクライアントに何を使うか、の違いに過ぎない
移行も空のリポジトリ作ってプッシュするだけだ

1008 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 08:36:34.51 ID:7CHwAcHs.net]
まんまとこの糞ボケに騙されたわ。

gitは糞複雑すぎる。

1009 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 08:49:18.18 ID:dwD3mD07.net]
>>980
だったら全世界がお前を騙してることになるぞ
今時Gitなんか開発者にとってはHTTPと同レベルの常識
Gitできない時点でまともにプログラム書けるのか疑われるレベルだぞ

1010 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:04:14.42 ID:rPeh4Mh4.net]
>>980
プログラマ向いてないよ



1011 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:04:38.76 ID:qSwuY79x.net]
うーん、やっぱりgitは日本語入れると死ぬなぁ
俺だけ?

1012 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:10:42.73 ID:rPeh4Mh4.net]
>>983
日本語で

1013 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:14:51.68 ID:qSwuY79x.net]
>>984
git、日本語のフォルダとかファイルとか

1014 名前:ると駄目だわ []
[ここ壊れてます]

1015 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:16:55.41 ID:7CHwAcHs.net]
>>981-984
もはやスレチじゃ。gitスレに帰れ、アホども。

1016 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:32:00.46 ID:rPeh4Mh4.net]
>>986
そうだね、Gitも使えないんじゃc#スレにいてもしょうがないね

1017 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:57:45.62 ID:qSwuY79x.net]
みんな日本語設定なんでうまくいくの?

1018 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 10:58:32.74 ID:FZpcfz8T.net]
VSに統合されてるし
変わったことしようとしなければ難しくないと思うけどな

1019 名前:デフォルトの名無しさん [2017/10/16(月) 11:26:00.31 ID:Bpg1BMlQ.net]
なんでGit使うの?
MSの無料のなんちゃらファウンデーションの方がよくない?

1020 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 11:36:48.49 ID:1Xir09k9.net]
>>990
バージョン管理とホスティングを混同してるだろお前



1021 名前:デフォルトの名無しさん [2017/10/16(月) 11:37:48.11 ID:Bpg1BMlQ.net]
>>991
うん、多分わかってないわ

1022 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 11:38:48.59 ID:ts6qmxVh.net]
>>988
糞古いの使ってないか?たしか1.6ぐらいまでは日本語不具合あったと思う。詳しくはこっちできけ

Git 16©2ch.net
mevius.2ch.net/test/read.cgi/tech/1502726047/

1023 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 11:39:33.27 ID:1Xir09k9.net]
>>992
VSTS(TFS)を使う場合でも、バージョン管理は基本的にGitやで

1024 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 19:35:11.46 ID:3WbDhRse.net]
>>956
それが例外の特殊必要例やね
積極的に使うものではなくてある特定の人向けのもの

1025 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 19:50:32.43 ID:BHf6I/rR.net]
結局使う場面があるってことやね

1026 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 19:51:44.84 ID:eZI1RZBb.net]
みんなTryParseって使ってないのかな?

1027 名前:デフォルトの名無しさん [2017/10/16(月) 20:15:08.82 ID:snIoncYK.net]
gitlabは確か無料だぞ
OSSだから自分で鯖立ても出来たはず

1028 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 20:20:36.66 ID:oJ8YHn8m.net]
>>997
それは普通に使うな

1029 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 21:39:17.75 ID:uXI4Esj0.net]
Dictionary.TryGetValue も

1030 名前:デフォルトの名無しさん mailto:sage [2017/10/16(月) 22:18:18.74 ID:7CHwAcHs.net]
>>993
向こうで何があったか知らないがgitスレはIP表示にしてるからこっちで暴れてるのではないか。

git関連は巣に戻れ。



1031 名前:片山博文MZ mailto:sage [2017/10/16(月) 23:46:42.68 ID:XYyvKIYb.net]
終了。

1032 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 177日 8時間 9分 49秒

1033 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<250KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef