1 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 15:09:05.75 ID:SBEkwl3H.net] 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、 質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■関連スレ C#, C♯, C#相談室 Part95 mevius.5ch.net/test/read.cgi/tech/1508180530/ C#, C♯, C#相談室 Part93 https://mevius.5ch.net/test/read.cgi/tech/1492818720/ ■前スレ ふらっと C#,C♯,C#(初心者用) Part135 mevius.5ch.net/test/read.cgi/tech/1517749348/ ■コードを貼る場合は↓を使いましょう。 ideone.com/ https://dotnetfiddle.net/ ■情報源 https://msdn.microsoft.com/ja-jp/library/gg145045.aspx https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index https://msdn.microsoft.com/en-us/library/gg145045.aspx referencesource.microsoft.com/ - VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
2 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 18:09:05.02 ID:T0Do3u+2.net] >>1 乙 放置してると落ちるんでね?
3 名前:デフォルトの名無しさん mailto:sage [2018/03/03(土) 19:55:41.98 ID:kXsLgfSK.net] いちおつ!
4 名前:デフォルトの名無しさん [2018/03/04(日) 08:49:14.26 ID:Jnf3+hM1.net] invokeの意味がよく分からない。 別のスレッドからUIのコントロールを触るには、手順が必要でそれをInvokeを通すとちゃんとやってくれる ということらしい。 疑問1:手順を踏まないと駄目なのはFormに貼り付けたコントロールだけなのか? これは「コントロールはスレッドセーフじゃない」と同義のことか? 疑問2:一般的なクラスやListデータはスレッドセーフなのか? 例えば、100kバイトの受信データが常時更新されているとする。これをメインスレッドにコピーするときに 半分程度コピーしたときに、次の受信割り込みでスレッドが切り替わって上書きされるなんてことは起きないのか? スレッドの切り替えはOSが勝手にやるんだから、これは当然起きてしまいそうな気がするんだが、防ぐ手立ては あるんか?
5 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:32:08.73 ID:fUFxJxoP.net] >>4 >手順を踏まないと〜 いいや、作成したコントロールすべて >これは「コントロールは〜 スレッドセーフ性についてはリファレンスに書いてあるのでお読みください 勝手に判断していいことは何もない https://msdn.microsoft.com/ja-jp/library/system.windows.forms.control(v=vs.110).aspx
6 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:37:54.15 ID:fUFxJxoP.net] >疑問2 個々のクラスのスレッドセーフ性については、使用するクラスのリファレンスを参照 スレッドセーフなコレクションクラス群というのも提供されている https://docs.microsoft.com/ja-jp/dotnet/standard/collections/thread-safe/ スレッドセーフでないクラスをスレッドセーフに扱いたいのであれば自分でその機能を実装する必要がある その際はlockステートメントやAutoResetEventクラスなどが役に立つだろう
7 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 09:43:21.26 ID:fUFxJxoP.net] どうやって実装するかに関しては 一般的なスレッドセーフプログラミングのガイドに従うが あまりにも広範すぎるのでここには記載しない 手っ取り早くはラッパクラスを書き、 ラッパクラスのプライベートなインスタンス変数にロックオブジェクトを確保し すべてのメソッドの入り口でロックを取ってしまうことである
8 名前:デフォルトの名無しさん [2018/03/04(日) 10:16:01.96 ID:Jnf3+hM1.net] >>5 こいつらだけがスレッドセーフでそれ以外はセーフじゃない。 M:System.Windows.Forms.Control.BeginInvoke(System.Delegate), M:System.Windows.Forms.Control.EndInvoke(System.IAsyncResult), M:System.Windows.Forms.Control.Invoke(System.Delegate), P:System.Windows.Forms.Control.InvokeRequired, and M:System.Windows.Forms.Control.CreateGraphics(ただしすでにハンドルが生成されていること) ハンドルがクリエイトされる前のバックグラウンドでの.Forms.Control.CreateGraphicsスレッド の呼び出しは問題をひきおこす。 って書いてあるので、まあそういうことなんだな。 セーフじゃないのは解ったが、スレッドが何処で切り替わるかが問題だな。 少なくともInvoke中は切り替わらないから、Invokeに渡
9 名前:キDelegateにガッサリとほりこんでやれば絶対に 安全ってことでいいのだな。 それなら別にLockもへったくれもいらない。なんも難しくないな。 [] [ここ壊れてます]
10 名前:デフォルトの名無しさん [2018/03/04(日) 10:18:39.61 ID:Jnf3+hM1.net] >一般的なスレッドセーフプログラミングのガイドに従うが あまりにも広範すぎるのでここには記載しない いったいどう広範なんだ? Lockしたら終わりだろ。変数の書き換え中に切り替わらんなら何も問題ないはずだよな。
11 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:21:36.77 ID:kbKww4G0.net] 頭悪そうだから死んだ方が早いよw 頑張って
12 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:26:47.18 ID:P1djYTMd.net] ID:Jnf3+hM1は例のアホだろ。相手すると有害
13 名前:デフォルトの名無しさん [2018/03/04(日) 10:27:55.49 ID:Jnf3+hM1.net] Lock(object) 馬鹿っぽいのはこっちだな。なんでObjectでロックする必要があるんだよ。単にラベルでいいだろ。 Lock(name) なんかサンプルにしろ説明にしろ難しそうに見せたがるんだよな。賢そうに見せたいんだろうな。要するに 賢くないってことだな。
14 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:28:25.45 ID:fUFxJxoP.net] ああ一昨日くらいにTaskでギャーギャー喚いていた人でしたか 気付かず相手をしてしまいました 申し訳ありませんでした
15 名前:デフォルトの名無しさん [2018/03/04(日) 10:31:50.77 ID:Jnf3+hM1.net] 素人の簡単な質問に答えられないで、解った振りをするのは良くないぞ。
16 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:35:45.11 ID:1sQ1Awq8.net] なんでワッチョイにしなかったの? 今更IDでNGとか面倒だわ
17 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 10:58:16.52 ID:AyWkuyS0.net] >>15 忘れてた 次スレ作成機能でワッチョイ引き継がれないんだよ
18 名前:デフォルトの名無しさん [2018/03/04(日) 11:02:22.21 ID:Jnf3+hM1.net] スレッドセーフについては www.atmarkit.co.jp/ait/articles/0505/25/news113_3.html ここが詳しい。これは頭のいい説明だからすぐわかる。 要するにロックすればいいのだが、あたりかまわずロックするとかなり負荷が かかるので少し工夫がいるということだな。別に難しいことはなにもない。
19 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 11:47:26.08 ID:ARj8S9qu.net] >>12 お子様なら他へ行った方がいい 成人なら本当の意味でコミュニケーション障害 はっきりいうとおまえとは会話ができない
20 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 14:20:47.53 ID:WBzCvYNu.net] どーせ、下でSendMessage, PostMessageがアドレス渡してるだけ
21 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 14:42:13.81 ID:uAAm/7vQ.net] 質問です。 class A class B : A class C : A class D : A のような感じでAを継承するクラスがいつくかあったとき、Aの関数に public A Copy() { return new BとかCとかD; } みたいな感じで、Aから自分が今なんのクラスなのかを見て B・C・Dを生成することはできないのでしょうか?
22 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 15:00:25.90 ID:TuLIeqFr.net] >>20 if(this is B){return B} みたいな感じでできると思うよ 普通はvirtualメソッドにして派生先でoverrideするのが普通だと思うけど
23 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 15:27:46.44 ID:uAAm/7vQ.net] >>21 ありがとうございます。 クラスが増えるたびにAに分岐を追加するより、派生先で実装しようと思います。
24 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 19:13:35.42 ID:u0JZMqVO.net] >>12 多分Lockを誤解してる わざとどうでもいい名前にしてあると言うことを理解してないな
25 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 19:59:17.54 ID:nPEAVJyb.net] 触るなって言ってんだろテメーも脳に障害おってんのか可哀想にな
26 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 20:04:25.17 ID:u0JZMqVO.net] 老害のお爺さんがかわいそうだ
27 名前:デフォルトの名無しさん mailto:sage [2018/03/04(日) 23:57:01.35 ID:WQz+5Gha.net] 質問があります。 .NET標準のChartコントロールなんですけど、 大量のデータ(50000件くらい)を表示してから そのChartの上をブラウザとかエクスプローラとかを横切らせたら Chart上に残像みたいなのができて(ちょっと時間が経ったら正常に表示される) 物凄い重いんですけど直す方法ってあるんですか?
28 名前:デフォルトの名無しさん [2018/03/05(月) 03:26:06.68 ID:FmqsFfvf.net] >多分Lockを誤解してる >わざとどうでもいい名前にしてあると言うことを理解してないな そこだな。「どうでもいい」のが名前の性質だ。ここは「どうでもいい」ということが重要だ。だからこそどうでもいい 名前にしないといけない。Objectである必要はないし、そういう制約をつけるのは間違いだ。そこのところを理解していないと思う。
29 名前:デフォルトの名無しさん [2018/03/05(月) 03:31:44.01 ID:FmqsFfvf.net] >>26 Chartなんてそんなに大量に表示する物と違うだろ。だったら代表値にしてデータ量を 圧縮するとか見せ方を工夫すればいい。
30 名前:デフォルトの名無しさん [2018/03/05(月) 03:47:59.98 ID:FmqsFfvf.net] 田舎者は総じて優しいが、村にそぐわないと判断すると突然ブチ切れて仲間を募って村八分を宣告する。 ネット上に田舎者が多いのはやむえない。ああもう朝だ。寝よう。
31 名前:デフォルトの名無しさん [2018/03/05(月) 10:31:47.99 ID:g6xeuprT.net] >>29 何一人でブチ切れてるんだ 田舎者か?
32 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 10:53:45.02 ID:NW7TavUN.net] >>28 なるほど どうもです^^
33 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 13:58:03.66 ID:cH/DYV+T.net] >>30 触るなって言ってんだろ田舎者のバーコードハゲ
34 名前:デフォルトの名無しさん [2018/03/05(月) 14:29:39.76 ID:LOGBc36P.net] すまんが、.netってパスワードを安全に保管するためのストアは用意されてるの?
35 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:12:32.80 ID:kyU90biE.net] パスワードをローカルに保管するという発想そのものが本質的に間違っているからそんなものはないよ ハッシュ値だけ平文で保管して、パスワード原本は速攻で捨てろ
36 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:27:45.97 ID:VUFW/DdR.net] 別に間違っちゃいないw 多少のリスクより利便性を選択する人がいてもいいし、そういう人に倒して 「お前は意識が低い」なんて言うのは独善的で傲慢だ
37 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:45:24.35 ID:JEjkThv5.net] 原本のパスワード保存しちゃうのは流石に行儀が悪いにゃ
38 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 15:56:42.33 ID:VUFW/DdR.net] それはただの思い込み そんなこと言ったらローカルどろろかクラウドにパスワードするChromeやFirefoxは もっとお行儀悪いよ 現実問題、個人のPCがハッキングされる可能性なんか交通事故よりはるかに低いし、 その上暗号化されたパスワードがたまたま見つかってたまたま解析される可能性なんかもっと低い
39 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 16:25:46.24 ID:ThW050h/.net] FFFTP「だよね〜」
40 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 16:52:28.49 ID:1eWHTsKF.net] どういう脅威に対してどの程度の安全性が必要なのか次第で対策が違う PasswordValutだってある意味では安全なストア
41 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 17:33:52.91 ID:JEjkThv5.net] ローカルなのかクラウドかの話ではではく、 原本のパスワード(平文のパスワード)をそのまま保存するのは行儀が悪いと言いたかったにゃ
42 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 17:35:03.97 ID:Pse13c5G.net] またテンプレも読めないクソどもか
43 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 18:54:38.72 ID:M+sV1Obo.net] MessagePackでバイナリ化してAES暗号じゃダメなんか?
44 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 18:57:06.18 ID:M+sV1Obo.net] もしかしてWPFのPasswordBoxコントロールのSecureStringの事かいな?
45 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 19:28:47.91 ID:s8qQLejn.net] >>37 行儀の問題じゃないよ。 パスワードを保管することに意味があるか無いか。 極一部の例外を除いて、一般に開発者がユーザーの入力したパスワードを保管したいと考える(勘違いする)のは、 ほとんどが簡易的なパスワード認証を実装したいケースだ。 その場合、パスワードを復元可能な形で保管する必要はまったく無い。ハッシュを使えばハッシュ値の保管方法に気を使う必要はなく、 遥かに簡単でセキュアな認証情報管理が実現できる。
46 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 19:38:50.95 ID:6kird9PE.net] お互いに違うことについて話しているんだからどこまで言っても平行線
47 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 19:53:33.34 ID:VUFW/DdR.net] ちょっと何言ってるのかわかんないねw
48 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:04:06.08 ID:TmlQrbi9.net] >>46 ハッシュを使ったパスワード認証ってセキュアプログラミングの基本中の基本だぞ ほんとに分からないの?ちょっと危機感持ったほうがいいよ
49 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:05:40.69 ID:1eWHTsKF.net] >>44 >極一部の例外を除いて、… ほとんどが簡易的なパスワード認証を実装したいケースだ。 これは完全に思い込みだよね 用途を聞く前からパスワード保管を全否定はいただけない
50 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:07:37.44 ID:NU3s1WzP.net] 入力したパスワードをそのまま持っておくというのは、作り手側の危機感が足りないようにみえるね 大昔の yp からそんなことはしないものと決まっていたと思っていたが
51 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:08:13.42 ID:NU3s1WzP.net] >>48 用途にかかわらずパスワード保管は薦められないですね
52 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:08:48.06 ID:/FfNoiRb.net] いいから死ねよ ころすぞ
53 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:12:36.88 ID:1eWHTsKF.net] >>50 平文で保管しろっていってんじゃないよ それともパスワード管理ソフトも全否定?
54 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:20:35.48 ID:VUFW/DdR.net] やっぱりちょっと何言ってるのか分からないけど、 >>47 の人は認証するのが自分のコードだと思い込んでる気がするw だからChromeとかFirefoxとか具体名出してるのに ちなみに、FXとか株とかのトレードアプリでもパスワード保存機能がついてるのが普通ですよw 場合によっては億単位の金が絡むんだけどね。
55 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:22:44.40 ID:6kird9PE.net] だから言っただろ お互いに違う話してるから平行線だって
56 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:32:50.58 ID:NU3s1WzP.net] >>52 保存するならキャッシュで、というのが安全ですね >>53 ブラウザのパスワード入力支援の話でしたか…そりゃ違う話ですねえ…
57 名前:デフォルトの名無しさん mailto:sage [2018/03/05(月) 20:46:48.34 ID:ThW050h/.net] 普通pinだよね〜
58 名前:デフォルトの名無しさん [2018/03/06(火) 17:22:21.13 ID:40kaWQRT.net] 結局、Javaみたいなパスワード用のストアってないわけ? 証明書のストアがあるぐらいならあるのかと思っちゃったよ
59 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 17:47:30.00 ID:dl9PBnAI.net] そうだな、キーコンテナも面倒だから。
60 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 18:20:52.64 ID:/9uChD8X.net] 用途とか細かく書かないと質問者そっちのけでマウント合戦始めるスレだからな
61 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 19:27:25.91 ID:XG2njCd+.net] >>59 なんか気付いてないみたいだけど、それ一番やりたがってるの君じゃないの?w ずっと思ってたけど単細胞だよねお宅。 この単細胞な幸せ回路、ネトウヨだったりもしそうw
62 名前:デフォルトの名無しさん mailto:sage [2018/03/06(火) 21:11:51.62 ID:PPL1W7N6.net] ワッチョイ無くてもいつもの奴らが書いてるのが分かるの笑える
63 名前:デフォルトの名無しさん [2018/03/07(水) 00:46:04.16 ID:E/AkTCwB.net] グラフ書くってなったらchart使うんだよね?
64 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 06:54:10.77 ID:dyn70F+X.net] groupをしてTimeSpan型の平均、合計をだしたいのですが var C = from a in db.Articles group a by a.Category into B select new ArticleHaving { 合計 = B.sum(a => a.時間) }; ↑のa.時間がTimeSpan型だと型変換できなくてエラーになるのですが どのように書いたらいいでしょうか?
65 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 08:17:43.90 ID:WEJ0//C3.net] 構造体だからってオチ? .TotalHourだったらどうなんのよ
66 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 08:26:40.93 ID:of1Kc4NS.net] >>63 合計 = B.sum(a => a.時間.ticks) として合計出して TimeSpan.FromTicks(C) でTimeSpan型に戻せばいいんじゃね?
67 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 09:27:56.48 ID:Rfc91YM1.net] >>57 MS的には資格情報マネージャを使えということになっているので プラットフォーム独立な奴はない
68 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 12:38:55.21 ID:2wkHBkDf.net] 同じソースを Framework 3.5 / 4.0以降 で使い回ししたいのですが、 コンパイル時にバージョンを識別させることできますか。 C言語ぽく書くと #ifdef FRAMEWORK35 // 3.5用のソース #else // 4.0用のソース #endif 的なことがやりたいのですが。
69 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 13:50:23.04 ID:pfa4Uwxk.net] >>67 https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/preprocessor-directives/preprocessor-if
70 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 14:03:40.77 ID:500OxlyC.net] それ、いいと思ってるのは本人だけシリーズ んなコード、ソース中に散りばめたこと想像するだけでゾッとするわ
71 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:08:03.89 ID:kqlcBDmo.net] MSからしてみればさっさと最新のFramework入れろよとイライラしてそう
72 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:17:39.78 ID:UA5KKOmp.net] >>69 良し悪しの問題じゃなく、好むと好まざると>>67 みたいないことが必要な場合は実際にある。 質問者が言ってもいない前提まで加えてくだらないいちゃもんつける奴の方がよほどぞっとするよ
73 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:21:03.26 ID:KHQlD0En.net] 社内共有のコアライブラリとかなら全然アリでしょ
74 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 20:36:32.77 ID:dyn70F+X.net] >>65 ticks使えばいけそうです。 ありがとうございます。
75 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 21:33:11.25 ID:500OxlyC.net] >>71 は?ねーよ ちょっと考えてみ それさ、ソースのどっかにあったらアプリの挙動変わるんだぜ いちいちそんなの確かめてらんねーよ んでそれがあちこちにあったらもうプロジェクト終わるね そこでやるべきものじゃないし もうバージョン管理レベルで変更するものであってそこに書くもんじゃねーよ
76 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 22:35:50.64 ID:jL/wX1y0.net] >>74 >バージョン管理レベルで変更するものであってそこに書くもんじゃねーよ 複数の.NETバージョンのサポートが必要なライブラリなんかを作る時に 新バージョンにしかない機能も使えるようにしたい場合 どういう風にバージョン管理レベルで変更すればいいの?
77 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 22:39:29.37 ID:kbPu74AY.net] 神エクセルの読み取りで使えそうな典型的処理をまとめたライブラリとかない? 100種類ぐらいの神エクセルファイルがあるんだが今月中に読み取りを全部自動化しなければならない 時々フォーマット間違ってるものもあってもう心が折れそう
78 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 22:45:02.00 ID:N0djvhnX.net] >>74 濫用すべきでないのは当たり前だが、意義を完全に否定できるものでもない
79 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 23:05:12.13 ID:Zg+bx7i1.net] >>76 詳しく
80 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 23:25:58.56 ID:500OxlyC.net] >>75 全部別にフォルダきって個々で管理
81 名前:デフォルトの名無しさん mailto:sage [2018/03/07(水) 23:58:33.00 ID:ydf/SLRs.net] >>79 クソワロタ
82 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:03:36.21 ID:QLJ7X/Ow.net] >>80 と思うだろ? お前が節約してる手間なんて実装だけだろ テストや動作確認は各バージョン全部やらなきゃいけない上に バージョン番号での分岐のテストも各バージョン毎全部しなきゃならん 分けた方が楽だぞ
83 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:13:13.28 ID:3qyzG5H1.net] バカの壁ってこういうの言うんだねw
84 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:33:12.76 ID:S1Kk1wSa.net] >>81 こういうほぼ共通なコードで #if を使わずにファイルを分けたら逆に管理しづらくならない? https://github.com/Microsoft/referencesource/blob/master/System/sys/system/threading/semaphore.cs
85 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 00:45:24.85 ID:3qyzG5H1.net] だから、バカの壁の向こう側に何言っても無駄w コメントは二重管理になるからコメントなしで理解できるようなコードを書け、 と言っても問題意識を共有できない人がいるのと同じw っていうかまさにそういうタイプの人なんだろう
86 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:02:06.65 ID:deM+QTok.net] 質問者に対する提案ならともかく議論なら議論スレでやってくれ
87 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:08:54.44 ID:3qyzG5H1.net] こんな過疎スレでそんな「交通整理」に意味あるの? スレ違いって自分が言いたいだけだよねw 何よりそういう自己分析ができないってもう絶望的に頭悪いよ
88 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:28:30.71 ID:QLJ7X/Ow.net] >>83 それでもやれ 何度も言うけどお前等は実装なんてチンケな工程にこだわり過ぎてる 処理はできるだけ共通化すると幸せになれるという根拠のないルールが呪いになっている いくら共通化ったってここまで複雑になったコードが管理しやすいわけねぇだろ
89 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 01:37:47.28 ID:4UosM8wW.net] ソースから完全に分けるのと#ifdef使うのとなら あらゆる状況でどちらかが常に優れてるわけじゃないんだから 状況に応じて選べばいいんじゃん
90 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 06:04:32.53 ID:y9tge1zw.net] >>87 素人かよ
91 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 07:19:52.71 ID:QLJ7X/Ow.net] >>88 それができてるの? 共通化全適用以外の選択肢を取れるの? 馬鹿だから無理でしょ?
92 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 12:01:42.48 ID:m1DjBHcg.net] T where int,long のT a、T bの変数に対して、a+bを実行したいんだけとなんかいい方法ある?
93 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 12:14:51.49 ID:KNsyBCN9.net] where int,longってなに?
94 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 12:55:19.49 ID:NNizdivM.net] その話もうさんざん議論されてるからまずはググってくれ
95 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:10:43.66 ID:m1DjBHcg.net] >>93 ダイナミックやリフレクションを使うとできそうって感じかな どちらも採用したくないので諦めることにするわ
96 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:16:29.76 ID:wkuTrnYs.net] int, longならlongだけ用意しとけばいいだろ ジェネリックにしたくなる気持ちはわかるけど実際ほとんどの場合は結局一つしか使わないよ YAGNI
97 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:25:00.67 ID:m1DjBHcg.net] >>95 将来的にdecimalとかでも使うかもしれないから最初からTで作っときたかった
98 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:35:16.73 ID:KNsyBCN9.net] いつのまにかwhereにintやlongやdecimalが指定できるようになったのか? 違うだろ?
99 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:38:21.60 ID:7fgp1oNf.net] くだらないいちゃもんつける馬鹿多すぎだなこのスレ いちいちいちゃもんつけないと死ぬのかねw
100 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:46:19.13 ID:KNsyBCN9.net] int,longだとintかつlongだからそんなもの存在しない
101 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 13:54:06.36 ID:m1DjBHcg.net] >>99 確かにそうだ ビルドするまでエラーがでなかったから気づかなかったよ
102 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 14:17:45.68 ID:NNizdivM.net] >>94 ufcpp.net/study/csharp/sp2_generics.html?p=3#pseudo-static
103 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 14:44:07.16 ID:m1DjBHcg.net] >>101 演算用の構造体を作る方法もあるのか 結局型ごとに構造体を作らなきゃいけないなら型ごとにメソッドを作る方がいいかな 考え方は面白いんだけど書いてあるとおりちょっと強引な感じがするし構造体の使い方もちょっと気になる
104 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 16:13:44.03 ID:q48xQYEj.net] >>102 まあそうだよね… どうしてもメソッドを共通化したいときにこれをやるとしても、普通のオーバーロードでラップする感じになると思う
105 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 19:01:36.93 ID:8WwTysgF.net] 1週間で身に付くC#言語のページが見られなくなっちゃった
106 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 20:05:36.32 ID:uN05qvV/.net] ドメインが無くなったか。祟りやね
107 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 20:08:59.95 ID:4PZLazli.net] atmarkitとdobonだけでいいよ ググるとだいたいこの2つがヒットする
108 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 20:25:17.73 ID:SCks1g98.net] WinFormのプログラムで85k超データなんて作ってないのにLargeObjectHeapが増えていくのはなんでなの・・・
109 名前:デフォルトの名無しさん mailto:sage [2018/03/08(木) 20:34:08.32 ID:QLJ7X/Ow.net] 蓮メモリにならないように大きい単位で取るんじゃないだろか? と尻もしないのにレスしてみる
110 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 00:41:31.37 ID:ZGeJbhBv.net] public static extern bool GetDiskFreeSpace( string lpRootPathName, out ulong lpSectorsPerCluster, out ulong lpBytesPerSector, out ulong lpNumberOfFreeClusters, out ulong lpTotalNumberOfClusters); 上記だとビルドが通らない。 これのようなクラスタあたりのセクタ数、及び、セクタあたりのバイト数を取得する方法ってありますか?
111 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 01:15:48.36 ID:Ohyjj+7n.net] >>109 ビルド自体は通りそうだが…P/InvokeしたいならDllImportを付けないと DWORDは32bitでulongは64bitなのは承知の上?ポインタ渡しであまり関係ないけど [DllImport("kernel32", SetLastError = true, CharSet = CharSet.Unicode)] static extern bool GetDiskFreeSpace( string lpRootPathName, out uint lpSectorsPerCluster, out uint lpBytesPerSector, out uint lpNumberOfFreeClusters, out uint lpTotalNumberOfClusters );
112 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 01:50:16.56 ID:kxCLXgK0.net] WINAPI型(__stdcall)じゃないC++の関数を呼ぶ時は DllImportに CallingConvention = CallingConvention.Cdecl 入れないとメモリ破壊する
113 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 02:03:07.70 ID:cJvHUA86.net] パスカル呼び出し〜♪
114 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 02:37:19.22 ID:RRa2zRYk.net] TextBoxにフォームロードの中で文字列を設定しています。 ウィンドウが表示された時にそのテキストボックスの中の文字列が 全て選択された状態で表示されてしまいます。 どうすれば文字を設定しても選択された状態にならないでしょうか?
115 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 03:49:26.97 ID:5QpWky7V.net] >>113 https://stackoverflow.com/questions/3421453/
116 名前:デフォルトの名無しさん [2018/03/09(金) 07:23:53.63 ID:jWrPs27H.net] アクティブコントロールを他にあてれば済む話じゃ?
117 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 07:30:10.43 ID:LQK/KvB6.net] 教育系の研究データをとるためのアプリをwindowsベースで開発したくて 「確かな力が身につくC#入門」 を勉強終えた。 次のステップとして 「独習C#」 を終えるべきか、もう自分で調べながらプログラムを書き始めるべきかどっちがいいだろう?
118 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 07:35:01.67 ID:LQK/KvB6.net] 教育心理系で 1. タッチパネル上に×を表示させて学習者に触らせる 2. ×とタッチの座標を記録して、二つの距離を計算 1,2を数十回実施して結果のデータをテキストで吐き出す。 が実走したい最低限の仕様。 可能であればネット経由で結果のテキストデータをサーバーに送信したい。 です。 「独習c#」 ぐらいは終えてからの方が、急がば回れで効率いいのかな? ちなみにプログラム経験は20年前にCで人工知能の研究してたぐらいでほぼど素人。
119 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 07:40:46.98 ID:Bccqo4ev.net] ランサーズとかのクラウドソーシングで募集したら? 一万も出せば一瞬でできるでしょ
120 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 07:54:26.29 ID:S6tyjFC3.net] >>117 もうさっさと作ったらいいと思う
121 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 08:04:10.76 ID:LQK/KvB6.net] >>119 実際に組み始めて分からないことは調べる方式のほうが習得早いのかな。 あまりに恥ずかしいコードにならないように、基本は身に着けたいと思ったんだけど 「独習C#」 のページ数にひるんで、これは辞書的に使う本なのかと・・・。
122 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 08:05:34.00 ID:LQK/KvB6.net] >>118 そういう手もあるのか・・・。 いやでも、実験しながら仕様は変えてくだろうから、やはりプログラミングの技術ももっておかないと。
123 名前:デフォルトの名無しさん [2018/03/09(金) 08:13:16.82 ID:a01q5dZ9.net] Encoding.UTF8 と UTF8Encoding.UTF8 の違いって何ですか?
124 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 08:26:28.70 ID:Bccqo4ev.net] >>121 作ってさよならじゃなくて同じ人に継続的に依頼できるよ お前はプログラミングで遊ぶより他にやるべきことがあるだろ お前の時間はそんなに安いのか? 手段と目的をごっちゃにしてはいけない
125 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 08:43:48.76 ID:UzKVOjRn.net] >>122 おんなじ UTF8EncodingはEncodingを継承してて、 継承元.静的メンバ 派生先.静的メンバ どっちを書いても継承元.静的メンバを指す
126 名前:デフォルトの名無しさん [2018/03/09(金) 11:56:27.06 ID:a01q5dZ9.net] >>124 なるほど、同じなんですね 使い分けするようなケースってあるんですか?
127 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 12:17:04.55 ID:fyExTngt.net] >>125 無い 君自身が疑問を感じたように、実際紛らわしくて誤解の元になるので、常にそのメンバが本当に定義されているクラス(つまりこの場合はEncodingの方)を通して参照するべき。
128 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 12:49:19.65 ID:ZvjLaJPv.net] >>121 学んでおいて損はないな 仕様次第だけどサーバー抜きで1時間あればできると思う
129 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 13:25:03.80 ID:Ys6dLiAA.net] >>121 コメント&ソースコード付で納品してもらうという手もある。おれは初心者のころ、金を払って自分が実現したいことの定石を学んだ。
130 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 15:04:45.21 ID:WqdE+VIZ.net] ssh.netのドキュメントってどこにあるのか知っている人います?
131 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 15:15:33.91 ID:jFFmu6Vz.net] 僕らはgoogleさんじゃないので
132 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 16:16:50.85 ID:Vu9joQUd.net] 2つのアプリ(win form)で情報をやりとりするとき、データベースを介してやるのって一般的ですか? ソケット通信とどちらがいいでしょうか?あるいは、もっといいやり方がありますか? 情報といっても、数字や数文字の文字列をトリガーに動作する程度です。
133 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 16:20:24.75 ID:ZvjLaJPv.net] 一般的かと聞かれたら一般的じゃない DB増えると管理対象が増えるだけだし 通知を監視するためにずっとDBポーリングするってことは無駄だよ 自分ならプロセス間通信のどれかを選んで使う
134 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 16:46:01.78 ID:RRa2zRYk.net] ぶっちゃけここで質問するよりランサーズで外注して 教えてもらった方がはやいよ 俺もよくつかってる。 たまーに超人的なPGがいる。
135 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 17:23:23.24 ID:mUWfUl6D.net] >>131 キューに溜めたいならDBを そうじゃなければソケットでやるかな
136 名前:デフォルトの名無しさん [2018/03/09(金) 17:38:57.35 ID:a01q5dZ9.net] >>126 そうします 回答ありがとうございました
137 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 17:39:37.72 ID:XwDpFLle.net] >>131 DBでも競合に弱いのもあるからな(SQLiteとか) 通信量が少ないのなら、ソケットでいいかと
138 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 18:22:06.08 ID:5QpWky7V.net] >>117 windowsベースで開発したい理由って何なの? そのレベルなら言語の基礎文法を学んだあとに GUIフレームワークを学びながら作れば十分だと思うが window固有のGUIフレームワークを学ぶ価値がどの程度あるのかわからない
139 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 18:28:41.57 ID:nugpn9wm.net] また始まった アホは人に突っ込む前に自分に突っ込むことをいい加減覚えろ いちいち下らん突っ込み入れないと死ぬのかw
140 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 18:31:19.37 ID:S6tyjFC3.net] ");
//]]>-->141 名前:3" rel="noopener noreferrer" target="_blank">>>133 俺も副業できるかな?と思って見てみたけど 一つも理解可能な案件が無かったw [] [ここ壊れてます]
142 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 19:07:43.72 ID:LQK/KvB6.net] >>127 現場で表示時間のパラメーター等を変更するなどあると思うので、 勉強がてら独習c#をリファレンスに組んでみます。
143 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 19:08:45.19 ID:LQK/KvB6.net] >>128 人のソースコード読むのも勉強になるよね。 今の環境は周りにコーディングする人いないので、物によっては外注もありですね。
144 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 19:11:12.05 ID:LQK/KvB6.net] >>137 外部施設でコンピューターについて何もわからない人たちにデータを取ってもらう協力をお願いするため。 Linuxとか使ったらそれだけで強力拒否される。 なるべく多くの施設に手軽に参加してもらうには、一番普及してるOSがいいかなと。
145 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 19:31:36.94 ID:jFFmu6Vz.net] OSに縛られたくないならhtml+javascript(typescript)という手もあるな
146 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 19:47:58.15 ID:Vu9joQUd.net] >>132 >>134 >>136 ありがとう
147 名前:。やはりちょっと変ですよね。 いつの間にか決まってたのですが、一応異議を申し立ててみます。 [] [ここ壊れてます]
148 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 19:48:10.97 ID:41ngztg2.net] >>114 この発想は無かった
149 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 19:51:06.10 ID:Ys6dLiAA.net] >>139 理解できるレベルになると安い料金で要求だけ高い地雷だらけでエントリーしたくなくなるぞw
150 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 20:06:29.84 ID:S6tyjFC3.net] >>146 っていうかやりようが無いようなクソ案件ばっかりじゃね? そんなインターフェース提供されていないのに〇〇アプリと連動する〜とか 不可能なレベルの要求ばっかり
151 名前:デフォルトの名無しさん [2018/03/09(金) 20:26:38.72 ID:QuBAH4JX.net] ランサーズの案件見てると、なめてのか? てめーでやっとけってなるな
152 名前:デフォルトの名無しさん mailto:sage [2018/03/09(金) 23:52:59.10 ID:5QpWky7V.net] >>142 なるほど タッチパネル端末で一番普及してるOSかどうかは怪しいけど windows端末を使う前提で決まってるのならいいのかもね
153 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 10:21:46.47 ID:lWKHEJ9v.net] >>149 C#だとwindows、android、ios全部範疇に入ってくるのでいいかなと。 Linuxとか使いたいけど、普通の人に教育する手間考えるとWindowsがやはり無難なんだよね。
154 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 10:33:40.72 ID:/EdGBq5J.net] だったらWebでいいでしょ
155 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 10:33:56.77 ID:8DmJsdyc.net] WinFormsとWPFに新しいコンポーネントが登場するらしいね WebViewって言うEdgeエンジンのブラウザ
156 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 10:40:46.17 ID:X48XHq+4.net] WebViewはブラウザ作るためじゃなくてUIにWebコンテンツを組み込むためにあるんやで WinFormsやWPFで取り残されてる可愛そうな羊たちにもWeb移行のチャンスをあげようという、MS様の粋なはからい
157 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 10:59:22.28 ID:AHBDXxkZ.net] いらねーなぁ
158 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 11:07:31.46 ID:WYKTGawe.net] ありがてぇ
159 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 11:28:57.91 ID:8DG95oz+.net] win10でしか動かないEDGE ついにwin7,win8の切り捨てがはじまったのか
160 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:00:36.06 ID:8DmJsdyc.net] コレがソースwww.atmarkit.co.jp/ait/articles/1803/09/news079.html MSの正式発表らしい
161 名前:デフォルトの名無しさん [2018/03/10(土) 12:20:10.83 ID:9KQiOEH7.net] 大学生だけどこれとか俺でもできそうなんだが本当にできるのかな。 https://www.lancers.jp/work/detail/1876846
162 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:29:04.63 ID:mmvBcDOg.net] そんなことまでここで聞くのかよ
163 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:34:31.33 ID:mzuiLpki.net] これで高単価ってタグ付けるとか舐めてるな 間違いなく、割に合わないだろ
164 名前:デフォルトの名無しさん [2018/03/10(土) 12:38:56.33 ID:9KQiOEH7.net] 学生のワイにはこれで本当に1万円貰えるなら最高なんだが本当に貰えるのかな
165 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:39:14.85 ID:OtR0XgI+.net] >>158 ガキの小遣いかよw
166 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:41:42.56 ID:gfz1jyyQ.net] そのサイトがスクレイピングNGにしてるかどうかが一番の問題
167 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:42:27.86 ID:dOb3Zb1K.net] この価格じゃどう考えても割に合わない 保守も考えたら最低でも10倍以上はないと話にならんぞ
168 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 12:54:04.27 ID:mmvBcDOg.net] >>163 動作テストと称してデータ抜いて渡してもらい逃走
169 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 13:10:29.96 ID:AY0LzIsz.net] >>158 追加でいくらでも変更依頼が来るし 最終的に目的を達成できないとして支払い拒否 しかもキレながらな いい社会勉強になると思うわ
170 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 13:21:42.55 ID:f+B2oLbA.net] >>164 あの金額だと仕様を詰めるだけでも無理だと思う
171 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 13:46:50.93 ID:xj7f+MUR.net] 今日から勉強始めました、ってバカじゃなければ仕様があいまいな時点で拒否反応が出る
172 名前:デフォルトの名無しさん [2018/03/10(土) 14:09:52.14 ID:DtuniYws.net] そんなもん後から詳細を教えて貰えばいいだけやん
173 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 14:11:44.37 ID:xj7f+MUR.net] >>169 御託はいいから早くコード書け
174 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 14:18:47.15 ID:mzuiLpki.net] >>169 この手のは依頼主自身が良く分かってないパターン。 詳細なんか出てこないと思った方が良い。
175 名前:デフォルトの名無しさん [2018/03/10(土) 14:24:44.51 ID:DtuniYws.net] 今見たら出ててワロタ
176 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 14:25:36.62 ID:HMj/39DU.net] 1本1万円って、ベーマガの原稿料ぐらいか...
177 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 15:41:18.55 ID:SGC3RsHk.net] >>158 地雷だな
178 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 15:50:55.96 ID:f+B2oLbA.net] >>172 マジかよ、って思ったらほんとに出てたわ このスレ見てたりして w
179 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 16:39:21.24 ID:e/SHdYnW.net] そもそもスクレイピングって合法なのか? 国内でスクレイパーが逮捕された事件あったよねたしか
180 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 16:50:08.79 ID:8DmJsdyc.net] >>176 図書館のやつは結局無罪だったと思ったが
181 名前:デフォルトの名無しさん [2018/03/10(土) 16:59:10.67 ID:ummNhzTo.net] サーバー攻撃と見なされるような頻度でのアクセスがダメってことじゃね? あと著作権や引用のルールとか
182 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 18:16:32.48 ID:CYNPOxqI.net] >>177 不起訴になったが起訴猶予だったと書かれていたな 相手方とは後に和解して共同声明出してるけど MDISも警察も検察も到底容認出来る対応ではない 赤の他人ながら未だに腸が煮えくりかえるわ
183 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 18:16:34.41 ID:32LTkPVU.net] >>150 Xamarinのこと言ってるんだろうけどそんな簡単じゃないよ それぞれの環境に合わせた実行ファイルの用意と配布だけでも相当な手間だから Windowsに限ってもOSバージョンや.NETバージョン別にテストが必要 ブラウザと違って環境用意するのも大変 仕事で使う物ならアプローチの仕方から相談できる人間を雇ったほうがいいと思うよ
184 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 18:18:17.62 ID:32LTkPVU.net] >>179 あれな 起訴猶予とかあり得んよ
185 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 18:31:18.81 ID:OvdmWYI0.net] C#といっこも関係ないけど、5年ぐらい前にちょっと流行ったような気がするNUIって 結局一過性のブームで終わった? それとも実は俺が知らんだけでじわじわ普及してる?
186 名前:デフォルトの名無しさん mailto:sage [2018/03/10(土) 18:55:58.97 ID:OboHG4Gl.net] kinectは生産終了したよ
187 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 01:08:34.06 ID:RWekHsjv.net] はまった時にはランサーズに外注 Super Programmerがたまーにいるので 金払ってでも教えてもらった方が早いぞ。マジ。
188 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 01:21:20.70 ID:/f5l5HiP.net] 結局Windows10用アプリはWindows10でしか作成できないってことか
189 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 02:17:10.20 ID:QwNvBvJi.net] 揚げ足取るようだけどコーディングは出来るでしょ 開発環境で実機デバッグが出来ないだけでは? リモートならデバッグも可能なはず
190 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 02:36:42.01 ID:dxsKvpqu.net] UWPとかか?UCRTのお仲間かと思いきや消沈した事を思い出すな
191 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 02:37:40.34 ID:wjY1+kiE.net] 確かUWPはWin7だとSDKのインストールすらできないんじゃなかったっけ
192 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 07:30:18.04 ID:xf8GjCk5.net] >>184 NGワード「ランサーズ」余裕でしたw
193 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 18:22:20.07 ID:+qdItvv1.net] 起動時にファイル等をOpenして、終了時にCloseがしたいのですが、 VC#のFormアプリでは各処理をどこに記載すればいいのでしょうか? 以下のような感じのことがしたいのですが。 try{ Open Application.Run(new Form()); }finally{ Close } またform起動後にOpen/Close処理を行う場合(formにOpenやCloseのテキストを表示したい場合)は、 FormShownイベントにOpen処理を、FormClosingイベントにClose処理を入れればいいのでしょうか。 途中で落ちた場合を考えて、finallyを入れなければいけない気がするのですが、 どこをtryで囲んだらいいのか分からず、途中で落ちた場合もformは閉じることになるので、これでいいかと思ったのですが。
194 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 18:45:57.52 ID:xH7ziL+Z.net] 本当にファイルを開きっぱなしにしたいの?
195 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 19:00:54.30 ID:v3WfRQw8.net] 局所的にusingでいいんじゃね
196 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 19:06:58.01 ID:dxsKvpqu.net] >>190 IDisposeインターフェイスを実装したオブジェクトならusingを使う、ILになれば結局同じ様なコードだけど Formで持つなら保険はvoid Dispose(bool)で行う、VSフォームデザイナーだと*.Designer.csでoverrideされてる 開くのはFormShownなら例外ダイアログ設定後だしコンストラクタより良さそうだが…しかし開く対象は固定なんかな
197 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 20:27:46.27 ID:KWlCmpPd.net] C#でASP.NET WebForm を使うことになりました。 そこでLINQに関する質問です。 なにぶんC#もLINQもよくわかっていないので ご教授よろしくお願いいたします。 1) LINQ による列挙は、スレッドセーフでしょうか? ローカル変数にメソッド構文で何らかのLINQクエリを記述して メソッド内で使用する場合には、スレッドセーフでしょうか? → lock 文などは不要ですか? 2) 拡張メソッドを作成して内部で yield return 文などを使用して LINQ のメソッド構文で使用する場合、yield return 文を lock 文で囲む必要はありますか? 3) 以下のページの最後の方で、中信頼性とか高信頼性とかの記述が でてきますが、ASP.NET でLINQを使う場合には、web.config に これらの設定が必須ですか? 'https://msdn.microsoft.com/ja-jp/library/bb907622(v=vs.100).aspx 以上です
198 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 20:38:13.04 ID:PLvoLZo8.net] >>190 落ちる前にストリームを閉じるのはたぶん無意味なので 無理してusuingやtryのブロックで囲う必要はないと思う。 open/closesするタイミングは教条主義的に考える必要はないでしょう。 要は必要になる前にopenして必要なくなった後にcloseすればよいだけ
199 名前:デフォルトの名無しさん [2018/03/11(日) 20:44:38.34 ID:lvju0XX+.net] >>195 たぶんで答えるな てか知らん事に答えようとすんな
200 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 20:53:10.61 ID:dF1Cj7yy.net] >>190 そのフォームを開く Program.Main だっけでやればいいんじゃない? using( var stream = (ファイルを開く)) { Application.Run(new Form1( stream )); // フォームのコンストラクタの引数にでも渡してやる } ただ本当にファイルを開きっぱなしにする必要があるのかとか、きちんと検証する事をおすすめ。
201 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 20:57:33.66 ID:PLvoLZo8.net] >>196 たぶんは婉曲表現で本当は確実に必要ない お前くそくだらない突っ込みではなく意義のある発言をしろ馬鹿
202 名前: [] [ここ壊れてます]
203 名前:デフォルトの名無しさん [2018/03/11(日) 21:07:56.85 ID:lvju0XX+.net] >>198 確実にお前の理解が足りてない 意地張るな、な?
204 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 21:16:59.78 ID:xf8GjCk5.net] 運用中にファイルの中身を確認できないファイルとな? 開いたらアプリもろとも死んでもらうまさに漢の中の漢よ
205 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 22:34:52.34 ID:Aj3DuHB+.net] >>194 スレッドセーフかどうかが問題になるようなコレクションを ASP.NETのスレッド間で共有する必要があるのか考えたほうがよさげ 1) スレッドセーフではない。 lockが必要かどうかは使い方次第 https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.ienumerable-1.getenumerator?view=netframework-4.7.1 2) IEnumerable<T>を自前で実装する話ならyield returnをlockで囲んだところで意味ない 必要なら呼び出し側で対処する 3) 知らん
206 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 22:41:38.87 ID:baL9gt0u.net] 別に普通でしょ。例えば、アプリのローカルフォルダにある設定ファイルは基本アプリの1インスタンスにのみ有効であるべきで、アプリ起動時に設定ファイルを書き込み権限でオープンして他は読み取りのみにしておけば、二重起動防げるし。 むしろ、設定ファイルを他から勝手に変更されないようにそうすべきであるし。 フォルダ変えれれば厳密な二重起動は防げんけど。
207 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 23:09:46.06 ID:G7UGiphU.net] >>201 ありがとうございます。 教えていただいたURLを調べてみます。
208 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 23:15:47.74 ID:gqF9MiU9.net] >>202 どこの国の普通?おじいちゃん?
209 名前:デフォルトの名無しさん mailto:sage [2018/03/11(日) 23:25:00.03 ID:gqF9MiU9.net] おじいちゃんのやり方がことごとく常識外れ過ぎる なのにドヤ顔で間違った事ばかり書いてくる
210 名前:190 mailto:sage [2018/03/11(日) 23:46:06.06 ID:+qdItvv1.net] >>191-193 ログ出力と、あまりOpen/Closeを連続でしたくない外部機器を考えています。 void Dispose(bool)調べてみます。 >>195-199 繋がっている外部機器を出来る限りCloseしたく、usingが使えないので下を試したのですが、 こういう事はダメなようで、定石みたいなものがあればと質問させて頂きました。 try{ Open Application.Run(new Form()); }finally{ Close }
211 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 00:45:48.96 ID:Ok4d75rJ.net] >>206 open/closeがデバイスハンドルの取得/破棄のことを指してるなら やはり通常はアプリが異常終了する場合のことを考える必要はないと思う (プロセスが落ちれば勝手に閉じられる) そういう話ではなく、例えば232Cとかから何か送信する必要があるとかなら、 www.atmarkit.co.jp/ait/articles/0507/01/news134.html これを利用するのが普通じゃないかな
212 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 00:46:52.39 ID:Ok4d75rJ.net] っていうか、ファイルじゃなかったのかw
213 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 01:52:29.42 ID:uqwSBh4C.net] VS2010使ってます。 /// と入力した時のコメントの色を変更したいんですけど /// <summary> ← この部分 Tool→Option→Environment→Fonts and Colors→ Display items の中のどれのフォントを設定すればよいのでしょうか? 背景色を黒、文字色を黄色にしたです!
214 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 01:58:56.52 ID:P6b6g7+Q.net] >>209 自分で1つずつ設定するのは大変だから、設定済みのスタイルをインポートするのがおすすめ お気に入りの色の組合せダウンロードしたら、「ツール」→「設定のインポートとエクスポート」とかで出来たはず https://studiostyl.es/schemes
215 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 09:27:50.49 ID:uqwSBh4C.net] >>
216 名前:210 自分の好みの色に変えたいんですよね。 例えばコメントの類は黄色 といった具合です。 [] [ここ壊れてます]
217 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 11:15:09.08 ID:wJJ3vVe4.net] XML ドキュメント コメント - テキスト このへん
218 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 13:07:46.38 ID:uqwSBh4C.net] >>212 サンキュー
219 名前:デフォルトの名無しさん mailto:sage [2018/03/12(月) 13:40:31.58 ID:wJJ3vVe4.net] >>213 どういたしまして
220 名前:デフォルトの名無しさん [2018/03/13(火) 00:20:52.15 ID:Odo9QKBD.net] コンストラクタの引数に型を渡して中で利用したいのですが どのようにすればいいでしょうか? public class Hoge { public Hoge(MyClass) ←引数にMyClass型を渡したい(MyClass型の他にも様々な型を渡せるようにしたい) { new Fuga<MyClass>(); ←MyClassをこのように利用したい ...
221 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 00:26:24.49 ID:ddUI/fLh.net] >>215 ジェネリクス
222 名前:デフォルトの名無しさん [2018/03/13(火) 00:26:57.35 ID:Odo9QKBD.net] 自己解決しました
223 名前:デフォルトの名無しさん [2018/03/13(火) 00:27:13.56 ID:Odo9QKBD.net] >>216 すみません、ありがとうございます
224 名前:デフォルトの名無しさん mailto:sage [2018/03/13(火) 00:57:32.21 ID:/h3xSJ+X.net] >>215 まあ、インターフェースだな
225 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 01:01:17.69 ID:m+3G+xXH.net] unity上で人間の視覚を表現することってできるでしょうか? 人型のモデルの頭に2台のカメラを搭載して、その映像をもとに 別窓でリアルタイム3Dモデリングをさせたいのですが
226 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 02:19:45.27 ID:FlaHjwms.net] それは、このスレではないな
227 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 10:10:35.96 ID:dHyAKo2T.net] 視差とかステレオカメラで検索すれば原理はいくらでも出てくるが、 実装となるとがんばれとしか
228 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 11:12:27.04 ID:ROGqoRwU.net] Intel RealSenceはC#でのサンプル開発例がネットに転がってると思う
229 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 14:05:02.41 ID:x3Fz4Pwf.net] C#から指定したパスにあるBATファイルを実行する為に 次のコードを記述しました。しかし、なぜかDOSが起動しません。 何が間違っているのでしょうか? 直接バッチファイルをキックすると動きます。 string path_dayo = @"C:\Users\mariokun\test.bat"; System.Diagnostics.ProcessStartInfo psi = new System.Diagnostics.ProcessStartInfo(); psi.FileName = path_dayo; System.Diagnostics.Process p = System.Diagnostics.Process.Start(psi);
230 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 14:24:14.78 ID:dHyAKo2T.net] ユーザーの下だから、アクセスする権利が無いとか 試しにC:\testとかフォルダ作って、その中でやってみたらどうかな?
231 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 14:31:30.29 ID:tgt6PWyO.net] C#以前の話だけどProcessにcmd指定するの禁止なの?
232 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 15:44:35.53 ID:9afmhkEC.net] 最近使ってないから怪しいものだが、確かProcessに標準エラー出力をみるプロパティーかメソッドのようなものが有った気がするので エラー見たら判るかもしれんね
233 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 16:09:22.74 ID:x3Fz4Pwf.net] >>225 >>226 >>227 海外サイトに同じ質問してる人がいた。 みてみまーす
234 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 17:51:15.29 ID:m+3G+xXH.net] >>222 ,223 ありがとうございます
235 名前:デフォルトの名無しさん mailto:sage [2018/03/14(水) 22:03:23.06 ID:o9PP0UYA.net] >>224 ユーザー名違うけどユーザーフォルダ直下で普通に起動する https://dobon.net/vb/dotnet/process/shell.html >ProcessStartInfo.UseShellExecuteプロパティがTrueである必要があります あとはC#以外の要素、例えばtest.batの中身に因るのか 関連付けに頼らず本来の方法であるCMD.EXEと引数に変えてみるとか
236 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:0
] [ここ壊れてます]
237 名前:1:20.38 ID:OFI+/e24.net mailto: visual studio 2015を使ってます Nugetでいくつかのパッケージを導入したのですが、ビルド時にパッケージだけを/debug/vendorフォルダへ移動させて/debug直下をスッキリとさせたいのですが、そういうことは出来るのでしょうか。 [] [ここ壊れてます]
238 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:43:33.35 ID:hfQcS2x0.net] ずっと2010使ってるけどさすがに2015あたりに俺も 乗り換えたほうがいいのかな?
239 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:46:24.44 ID:m1Pb8szy.net] インテリセンスの利き方が違うし、やっぱり新しいIDEの方が洗練されてるのねん
240 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:58:50.65 ID:UhGUJU8S.net] UIがモダンな感じになっていいぞ
241 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 17:59:31.07 ID:hfQcS2x0.net] じゃ、そろそろ乗り換えるか。
242 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:10:48.50 ID:LOd8Ik0+.net] 個人なら2017でいいだろ アホみたいにアグレッシブにアップデート入れてくるから時々動かなくなったりするけど
243 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:14:24.77 ID:hfQcS2x0.net] 昔は有料だったけど今VSは無料だよね?
244 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:16:17.46 ID:vwwhEuwP.net] Community エディションは無料
245 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:22:29.26 ID:Nomi5wj3.net] >>231 IDEの機能の話は専用スレでやれ。その方が早い Visual Studio 2015 Part8©2ch.net https://mevius.5ch.net/test/read.cgi/tech/1484855822/ >>237 >>238 2017まではExpress editionもある
246 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:24:12.93 ID:wy9qzwcH.net] >>239 2017のExpressはDesktop版だけだけどね
247 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 18:25:28.67 ID:OFI+/e24.net] >>239 返信ありがとうございます。 質問先のリンク助かります。 スレ違い失礼しました。
248 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 21:37:17.95 ID:lQYzxnHH.net] ここで質問で合ってるかわかりませんが、質問です WPFのNuGetでTesseractを入れて使ってるんですが、 DLLをEXEに埋め込みたくなって、いろいろ試したのですが、うまくいきませんでした 一つはcsprojをいじってDLLを埋め込み、スタートオブジェクトを変えてアセンブリを読み込む方法 これはDLLがないと言われてエラーが出ました もう一つはCostura.Fodyを使った方法で、TesseractEngineのコンストラクタの引数がおかしいと言われます いずれも埋め込まずに普通に作ると動くので、何かしらが悪さをしてる感じです DLLからDLLを呼んでいる場合などにマージがうまくいかないとネットに書いてありましたが、それかもしれませんが確証はありません なにかうまいやり方があったら教えてほしいです
249 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 21:39:04.95 ID:8s0v/J9G.net] >>242 ILMerge
250 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 21:41:26.54 ID:lQYzxnHH.net] >>243 ILMergeはWPFでは使えないとネットに書いてあったので試してなかったのですが、 一応調べてみますありがとうございます
251 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 21:43:34.26 ID:8s0v/J9G.net] あ、Xamlかごめん
252 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 22:38:11.69 ID:9PNbTFft.net] マシンがポンコツだったらVS2010のままがいいと思うけど
253 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 22:41:12.85 ID:i5gA+aI/.net] >>246 VS2015は辛いけど、2012や2013はそこそこ軽いと思うが
254 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 23:02:51.90 ID:564IsbOI.net] 俺環の割とポンコツなWindows10のPCで数万行のソース扱うのにVS2015よりもVS2017は軽い 更新が頻繁なので不具合が怖いのなら勧めない
255 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 23:14:46.01 ID:eOZcuNU1.net] うちでも 2017 の方が軽かったので 2015 は削除しちゃったな。 2015 は仕事で3年くらい前のハイスペックノートPC で使ってるけど、こっちでは快適に動いてる。 たぶん SSD の有無の違いだと思う。
256 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 23:14:54.49 ID:G4lYZ6Ln.net] うちは自社サービスのベンチャー企業だけど、そんなところですら2017のアップデートはヤバいから即更新はやめろと言われてるわ それくらいヤバイ
257 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 23:17:53.56 ID:xYxZI4zx.net] >>250 cuda が突然コンパイルできなくなってしまった…
258 名前:デフォルトの名無しさん mailto:sage [2018/03/15(木) 23:18:27.31 ID:OyYl/4tP.net] プレビュー版せっかく提供してくれてるのに使ってないの?
259 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 00:19:13.55 ID:UGxuTSYH.net] VS2010は、 Corei7で今のところサクサク ゲーミングマシンだからね。
260 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 01:46:06.61 ID:4NPyRaAF.net] >>253 は初心者さんのフリした上級者の釣りなのかそれとも本当にnoobなのかどっちなんだろう・・・
261 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 01:46:48.12 ID:YQujD0/w.net] さすがに今時async/awaitすら使えない2010に固執してるのは老害を自覚すべき
262 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 07:27:51.70 ID:j2EKGffa.net] まだ人間に進化してないだけだから許してやれ
263 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 07:36:24.07 ID:YQujD0/w.net] 2017これだけアップデートしまくってて次のバージョンどうするんだろうな どこかで打ち切って今後の更新は2020買ってねにしたとしても、十分に差が開くまでだいぶ時間がかかりそう MS的にはVSの売上ってほとんどがサブスクリプションらしいから、このままローリングアップデート&サブスクリプションモデルに移行するのかな
264 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 10:09:27.69 ID:UGxuTSYH.net] >>254 初心者ではないかな。 ただ、道具が古いから宮大工と化してる。
265 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 20:53:41.08 ID:nemrSVup.net] >>250 別に珍しくないだろ 製品作る環境と最新版のお試し環境を分けてるって普通じゃね?
266 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 20:58:16.26 ID:nemrSVup.net] >>258 なんで宮大工が出てくるのかわからんけど、宮大工ってスーパーエリートだぞ
267 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 21:40:09.64 ID:xjOcwCvy.net] >>253 Core i7っていつのだよ 10年位前のから現行のまで沢山あるぞ
268 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 21:51:33.66 ID:MNSKZY2x.net] >>261 未だに3桁ナンバーのi7だけど流石に2015以降は参照表示でもたつきあるな
269 名前:242 mailto:sage [2018/03/16(金) 23:07:21.34 ID:hJQANr44.net] なかなかうまくいかないですが、諦めも肝心なので
270 名前:デフォルトの名無しさん mailto:sage [2018/03/16(金) 23:58:39.77 ID:ObjPIdw2.net] >>260 だからEクラスなんでしょ? 5段階評価で
271 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 00:27:17.49 ID:RBvH9ws3.net] 宮大工は一般の大工が持っていない技能を有しているから価値があるんだろ きっと258の周りには、自分の使ったことのあるバージョンよりも古いバージョンのVSを使わせたら ストレスで気が狂ってしまう特殊な人が集まっているのだろう
272 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 00:45:38.67 ID:81xIwi7x.net] 宮大工が高層ビル建てるわけじゃねーし いらねーだろ
273 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 00:57:29.49 ID:AFPHSGxF.net] >>61 まじか。 3念位前のやつや そこそこいいCPU思ってたのに。 スレッドりっぱー言うヤツかおうかな。
274 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 02:49:21.97 ID:Ci5roxTl.net] いやいや、CPUの世界はムーアの法則が成立しなくなって10年以上経つ もうPCが2,3年で旧式化するような時代じゃない 買い換えても体感できる差なんか生じないはず
275 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 02:54:05.45 ID:qzfhHg+K.net] xeon phi意味無いのけ?(泣)
276 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 02:55:49.69 ID:AFPHSGxF.net] スレッドリッパーに乗り換えるでぇ!!! Core i7 でもVS2010は結構サクサクなんやでぇ〜〜〜!!!
277 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 09:12:19.89 ID:Y0/A+N6A.net] >>264 F欄乙
278 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 11:29:52.43 ID:CNXWa26n.net] なんだこのアホな流れ ム板なのに池沼おおすぎ
279 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 12:23:47.36 ID:Y3xdMG3N.net] 池沼?猿が一匹いるだけだって
280 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 15:46:46.56 ID:M3SRgPTg.net] おじいちゃんは無自覚
281 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 22:53:57.33 ID:OInIw7xo.net] >>255 async/awaitってGOTO並みにバグの温床じゃね
282 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 22:55:06.66 ID:RxkyGAdz.net] >>275 流石にawaitのスレッドがどう動いているか知らずに作っている人は居ないだろ 居ないよな?
283 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 23:11:42.27 ID:9trEGhAn.net] >>275 ねーよ
284 名前:デフォルトの名無しさん mailto:sage [2018/03/17(土) 23:30:53.21 ID:r9/bjmm+.net] >>275 勉強しましょうねおじいちゃん
285 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 00:01:00.32 ID:0OkoAdUr.net] >>275 負け惜しみ乙
286 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 00:05:42.06 ID:LfFBDSxt.net] 最近非同期あんまり必要ねぇな
287 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 00:36:08.73 ID:EuAIJOKr.net] ちゃんと原理を知っていれば問題ないと思うけど ちゃんと教えてくれる親切な存在が非常に少ない GUIがそこでメソッドの終了を待機しますなんてクソみたいな解説は死ねばいい
288 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 00:47:54.07 ID:LfFBDSxt.net] >>281 っていうかどっちかっていうと 必要になるときの仕様と機能にズレがあるような
289 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 08:41:34.51 ID:loIla1VR.net] uwpは非同期前提でライブラリ組まれているから ファイルとか通信弄ったら強制的にasync使わされるな
290 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 09:23:43.99 ID:LfFBDSxt.net] >>283 マジで? ファイル弄ってる間何しろって言うんだろうねw @ファ Aファ Bファ Cファ Dファイルオープン! ってユーザが押したら デフォルトで@〜Cも実行されんの?
291 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 09:40:47.42 ID:CHE7gnWF.net] >>284 @のオープン処理のawaitで待つのでオープン処理が排他で開きっぱなら、@のオープンが終わった後にA〜Dでオープン失敗で例外吐くんじゃね
292 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 09:49:55.53 ID:LfFBDSxt.net] >>285 いや、await使わなかったとき
293 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 10:08:23.31 ID:CHE7gnWF.net] >>286 待機せずに実行ならどれか一つがオープン処理が終わって他が失敗で例外やね、まず@が最初に終わるだろうけど 非同期当たり前だと、待機中の操作で悪さできないようにに考えないといけないのがまた面倒だわな
294 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 10:15:30.86 ID:LfFBDSxt.net] >>287 100個処理ある内のあって2〜3個ぐらいの動作をデフォルトにしたのか 気が狂ってるな
295 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 11:28:06.55 ID:loIla1VR.net] >>284 ファイル弄る前にボタンを無効化するだろうが・・・
296 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 11:32:15.68 ID:MxU9Q35+.net] >>289 処理中はWinFormだろうが入力無効にするな そういう安全策とらずに文句言うのが初心者らしくていいじゃん
297 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 13:30:49.36 ID:MzxPx1yb.net] 個人的にはあんまりよい方法と思わんが、UIじゃなく 処理の再入を無効にするってアプローチもあるよ
298 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 13:49:17.89 ID:DhSuPqdW.net] async/awaitがリリースされたときはヘルスバーグも耄碌したかと思ったな 今ではJavaScriptやPythonにもパクられているという
299 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 14:02:41.35 ID:A9lQ6oik.net] >>292 移植するとき不便だからだろ
300 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 16:08:33.34 ID:HvANmpx3.net] コーディング速くて正確な人って入力補完とかリファレンス見なくても頭の中で全部関数把握してるのかな
301 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 16:29:33.93 ID:OEQy6gR7.net] VB職人みたいな人の中にはそういう人もいるね 頭使わず手癖でコピペコードを量産するタイプ
302 名前:デフォルトの名無しさん mailto:sage [2018/03/18(日) 23:24:54.10 ID:LfFBDSxt.net] >>294 そんなの無理だからちゃんと確認してるんだよ 正確じゃ無い人は覚えてると思い込んでてテキトーにやるんだ
303 名前:デフォルトの名無しさん [2018/03/18(日) 23:58:03.91 ID:Yx6XHCxq.net] >>296 本当に速くて正確な人を知らないんだな まともな仕事をしてれば割とよく居るぜ
304 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 00:00:52.15 ID:M6jv9Llf.net] ならその本人に聞けよ 馬鹿じゃなかろうか
305 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 00:32:04.41 ID:ySbEw7Dl.net] >>297 だから確認するのも速いんだろ 暗記なんかしてねぇよ 馬鹿じゃあるまいし
306 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 00:52:11.24 ID:LTn7thRp.net] 過去に自分が速いって言われてたときは、 ・普段から出来るだけ汎用的なコードを書くように心がける ・上のをテンプレートとして頭の中やソースファイルに保存しておく 結果迷いがないから「手が止まらなくて気持ち悪い」とか言われてたなぁ。。。 それにだんだんと洗練されていくからか、同じような機能を持ったコードを書いたときに自分の方が行数が明らかに少なかった。 つまり考えてる時間が短くて、打ち込みも少なかった。 そういう例もあると言う事で。
307 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 01:11:37.71 ID:oS5ZVaWO.net] レスも気持ち悪いね
308 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 01:24:30.62 ID:ySbEw7Dl.net] じゃあ、次は俺の番だな ゴレイヌ「まずゴリラを具現化しようと決めてからはイメージ修業だな 最初は実際のゴリラを一日中いじくってたな。とにかく四六時中だよ 目をつぶって触感を確認したり、何百回何千回とゴリラで射精したり ずーっとただながめてみたり、なめてみたり、音を立てたり、嗅いでみたり ゴリラで遊ぶ以外何もするなと師匠に言われたからな しばらくしたら毎晩ゴリラの夢を見るようになって、その時点で実際のゴリラをとりあげられた そうすると今度は幻覚でゴリラが見えてくるんだ さらに日が経つと幻覚のゴリラがリアルに感じられるんだ 重さも冷たさもすれあう音も聞こえてくる いつのまにか幻覚じゃなく自然と具現化したゴリラが出ていたんだ」 で?何の話だっけ?
309 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 01:33:55.53 ID:kUTGmwsL.net] >>297 それっていつも同じような処理を書いているからじゃなくて?
310 名前:デフォルトの名無しさん [2018/03/19(月) 08:04:31.57 ID:cKcZNHNu.net] 別にいいじゃん速いやつ居たってw てか普通に居るわw 悔しいんかおまいら?w
311 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 09:16:26.83 ID:qo8Tft6w.net] そういう議論があること自体初心者からすると絶望だわ 調べる時間、確認する時間が段々短くなっていって最終的には何も見なくても なんでもできるようになるもんだと思ってたが
312 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 11:20:24.08 ID:HDkAdp56.net] >>305 何も見てないのは確
313 名前:認してないだけじゃん [] [ここ壊れてます]
314 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 11:30:07.90 ID:Cjts25jg.net] 英語でも辞書引くのは大事だしな
315 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 11:41:39.96 ID:glrdUuh3.net] インテリセンスのなかった頃は、普通にviやmifesで書いていたわけで 当たり前のようにライブラリの関数名など記憶していた 何もなければ人間はそうやって順応するものだよ
316 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 12:42:56.69 ID:rLxDQnm9.net] 便利になるほど人間は退化するな
317 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 12:58:25.76 ID:umuusKk5.net] くだらない話だけど、ライブラリに登場する識別子の数はその牧歌的な時代から何倍ぐらいになってるのかと。 100倍じゃきかないと思うけどね
318 名前:デフォルトの名無しさん [2018/03/19(月) 14:13:40.38 ID:74Z4r7y/.net] ちょっと聞いてみたいんだが、株の予測でぼろ株を当てるのに利用するとして、C#で株のろうそく足が週足で連続3回ダウンしたチャートを見つける方法があるとしたらどうプログラミング組める? 是をアプリに組み込みたいとしたらの話で分かる人いる? 例えば、株のx軸が価格、y軸が期間なら、21日以内でろうそく足が3回連続ダウンしているってのを見つけるだけだけど i= genzaichi = 1 for(i = 1; i<4; i++ ) //4回未満=3回のループで使用したい x=kakaku , y= kikan x軸の0ラインからの乖離率として、1-7/10 // =0.3 x軸の0ボトムラインから30%乖離、 1-8/10 // =0.2 x軸の0ボトムラインから20%乖離、1-9/10 // =0.1 x軸の0ボトムラインから10%乖離 など使うのか?と考えてみたんだけど、そもそもこれC#で本当にできる?
319 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 14:38:24.41 ID:qo8Tft6w.net] 21日前の価格-14日前の価格 14日前の価格-7日前の価格 7日前の価格-現在の価格 ---の銘柄
320 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 14:40:08.64 ID:qo8Tft6w.net] あ、+++だたw
321 名前:デフォルトの名無しさん [2018/03/19(月) 14:57:45.70 ID:74Z4r7y/.net] >>312 それどうやるのさ? x=21日前の価格 i =7日後の価格 x-i=[14] // 21日前の価格-14日前の価格 x-i*2=[7] //14日前の価格-7日前の価格 x-i*3= [x >1] ??? //7日前の価格-現在の価格 x軸の価格が1未満?そもそも株の価格が底値になるってのは0でいいのか? なら底値=0 だから1未満にすればいいのか?
322 名前:デフォルトの名無しさん [2018/03/19(月) 15:06:09.56 ID:74Z4r7y/.net] x-(i*3)>1 か わかんねーw
323 名前:デフォルトの名無しさん [2018/03/19(月) 15:39:22.39 ID:qu0U5IXL.net] どっかにあったスクリプトをコピペして、自分のやりたいように改良したいんだろうけどさ そう言うのはクラウドソーシングかどこかでお金を払ってやってもらったら良いんじゃないかな、話さえきちんと伝えられれば大してお金もかからないでしょう C#を勉強中の人の邪魔にならないだけでなく、初心者の小遣い稼ぎにもなるだろうし、あなたもちゃんとしたプログラムが手に入る、良いことづくめだよ
324 名前:デフォルトの名無しさん [2018/03/19(月) 15:44:50.75 ID:74Z4r7y/.net] >>316 ま、そうだよね これで商売してる人いるんだわ 知恵○でぶくったら重回帰分析だのモンテカルロ・シュミレーションだの難しいこと知ってる人いたわ キャリア積まないとわかんない話だってことは理解した さんくす
325 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 19:49:40.93 ID:ukVABN43.net] たぶん何も理解してないとみた
326 名前:デフォルトの名無しさん [2018/03/19(月) 19:59:31.14 ID:I0s4BSGD.net] >>311 作ってあげようか? もとになるデータは何処からとりだしてくるの? チャンとしたソフトにするには80hくらいはかかるんじゃないだろうか? その程度の費用で。
327 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 19:59:46.65 ID:DSOIiGwJ.net] 何も理解して
328 名前:「なくてもスレ的にはいいけど、仕様・設計の段階で来られてもどの言語スレでもスレ違い [] [ここ壊れてます]
329 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 21:43:11.78 ID:oS5ZVaWO.net] >>311 「週足のダウン」をどう定義するのか知らんが 仮に陰線ならダウンってことにすると、週ごとの始値・終値を比較して 値上がりしてるなら0、値下がりしてるなら1とすれば 3週間なら[0, 1, 1]みたいな配列ができる [1, 1, 1]になってれば連続3回ダウン (>>312 の内容と意味は同じ) プログラミングは難しそうだからExcelスレをオススメする
330 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 22:16:33.20 ID:cxVTwmnS.net] >>311 プログラミングの基本は分割統治。 まず落ち着いて、 (1) 〇足(週足、日足、n時間足...)のローソクを表すCandle型を定義する (2) 任意の期間の時系列の株価データを受け取って、その期間の〇足のCandleの配列を返すメソッドを書く ここまで出来たら後は簡単でしょ
331 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 22:57:58.05 ID:csFbH6Mx.net] C# なんて難しい。 Ruby の、chunk_while でグルーピングできる # 終値が減少部分だけの、配列に分ける。 numbers = [100, 50, 70, 70, 60, 55, 65, 45, 40, 30, 20, 25] results = numbers.chunk_while { |prev, num| prev > num } .select { |ary| ary.length >= 3 } p results #=> [[70, 60, 55], [65, 45, 40, 30, 20]]
332 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:03:11.50 ID:URbJ5Q30.net] chunk_whileはNugetに落ちてそう
333 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:05:04.51 ID:dKLVd5g6.net] ここで聞くべきかわからないんだがiis+asp.netで webapi作ったとして リクエストをサーバーで処理してレスポンスをクライアントに返して届かなかった場合にaspでその失敗ってわかる?
334 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:33:49.94 ID:CLhJZa33.net] すみません、どなたかにお聞きしたいのですが intやshortのような整数型同士のキャストはどのくらいの負荷があるんでしょうか? 出来る限りメモリを切り詰めたいので常に最小の整数型を使っているのですけど 計算や引数を渡す過程で頻繁にキャストを書かなければいけないのはどうなのかなと思いまして
335 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:49:28.14 ID:yTa9+1wL.net] >>326 気にしなくて良き。負荷気にするには数年速いわ
336 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:51:19.72 ID:yZrCIvE9.net] >>326 大体の場合負荷は限りなく低い でも局面によって違うから自分で試す以外答えはでない 普通に作ったのと切り詰めたのを比べるといい DateTime.Nowの値を保存しておいて差分でどのくらい時間がかかるか見る 差が小さすぎるなら何万回もループさせて差分を見る
337 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:53:36.83 ID:cxVTwmnS.net] >>326 もうPC-98の時代じゃないんだからw
338 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:55:45.93 ID:6h1rUneg.net] >>326 データをストックする場所を最小にしたいのならともかく計算の過程で頻繁にキャストしていたらムダでしかない キャストのコストが0でも保守が面倒になるだけ
339 名前:デフォルトの名無しさん mailto:sage [2018/03/19(月) 23:57:09.07 ID:glrdUuh3.net] >数年速いわ 音速の貴公子と言うより天文学レベルカー と、微妙なtypoが何故か気になった
340 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 00:00:01.48 ID:cgEg6Dwj.net] つーか、整数のキャストなんてHWが自動でやってくれない時代だって 符合拡張するか上位バイトを捨てるだけだ
341 名前:誣 [] [ここ壊れてます]
342 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 00:04:07.89 ID:qVb9KqM8.net] 4バイト整数に、1バイト型を4つ詰め込んだりするのは、組み込みC とか GC もある、C# でやるだけ、ムダ! ムダ! ムダ!
343 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 00:08:35.20 ID:iiZhLnn/.net] 単純な話で32bitCPUで動いているとすると計算の基本単位が32bitなんだから コンパイラ上で16bitに切り詰めて計算したところで意味がない メソッドの引数でメモリの節約とかの発想なら根本的に間違い
344 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 00:21:28.36 ID:yw1jUUMF.net] >>325 TCPなんだから届かなかったら確実にエラーになるよ
345 名前:デフォルトの名無しさん [2018/03/20(火) 10:30:10.37 ID:uUCQMwFd.net] >>326 メモリを切り詰めるために最小の整数値にしても 32ビットだと32ビット単位のほうが効率的だから コンパイラがパディングを詰めて32ビット単位にしてしまうから無駄だよ 組み込みなら話は別かもしれんが
346 名前:デフォルトの名無しさん [2018/03/20(火) 17:23:02.62 ID:Cboi/qMX.net] もしかして、boolとかもintにしたら2倍早くなるのかな? bool b = true; //1bit分メモリ確保 if(b){}//メモリから読み出され、論理演算を2回を挟み、trueと比較 int i = 1; //32bit分メモリ確保 if(i==1){}//メモリから読み出されたら、そのままtrueと比較
347 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 17:41:09.07 ID:VwQ1GHDU.net] boolはビットフィールドじゃないってw 論理演算なんか入りませんw x86の機械語知らんけど、普通に考えればboolの評価は変数の値がゼロかどうかだけだが、 intの==演算子はコンペアが入るから、そっちの方が遅いことはあっても早いことはありえない
348 名前:デフォルトの名無しさん [2018/03/20(火) 17:58:42.62 ID:Cboi/qMX.net] でも32bitなりなんなりの単位で読み出されて、ビット演算無しでどうやって取り出すんでしょう
349 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 18:38:01.62 ID:xhlF0RWj.net] boolは1byteだよ
350 名前:デフォルトの名無しさん [2018/03/20(火) 19:59:58.73 ID:FFuoeUFR.net] >>340 >>336
351 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 20:28:46.02 ID:u8SMuE25.net] 確認用 https://ideone.com/9rHKqz
352 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 20:35:28.68 ID:mQ4Ew50n.net] なんでアンマネージ型の話を始めたの?ガイジだから?
353 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 20:42:56.66 ID:FWy6f5Yk.net] >>341 StructでPack指定すればパディング詰めない
354 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 23:14:52.88 ID:QgeO599U.net] その手の話をするなら、とりあえずILとスタックを確認できるようになってから 可能ならRyuJITで吐かれるアセンブラまで見るべき
355 名前:デフォルトの名無しさん mailto:sage [2018/03/20(火) 23:53:34.58 ID:97GClaUH.net] sizeofが1で出てるものを勝手に変えたりするものなのか?
356 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:01:57.15 ID:1NDr7Usm.net] -1から1の範囲を分岐無しでビットに詰めるのってどうやるんだっけ? aabb ccddみたく4つの数値を1byteに詰める小技を昔見た気がするが思い出せない
357 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:06:22.20 ID:wxFTzoek.net] 64bit-CPU なら、8バイトしか無い。 1〜7バイトなんて無い。 使わない部分を、0 and で、マスクするだけ 並列処理で、4 + 4バイトとして使うとか、そういう命令はある
358 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:18:19.45 ID:h+WMGZtb.net] >>347 何言ってるのかよくわかんないw 分岐って何だw
359 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:19:59.34 ID:mIV9xLj7.net] >>348 俺はそこまで詳しくしらんが普通にあると思うが。 64ビットレジスタを普通に32ビットのEAX,EBX,ECX,EDXなどとしてアクセスできるし。 www.zombie-hunting-club.com/entry/2017/10/15/220724
360 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:28:21.39 ID:mIV9xLj7.net] それともアドレッシングの話か? あれアドレッシングってどうなってんだっけか。 SP(スタックポインタ)レジスタとかって64bitCPUなら8バイト単位になるんだけっか?
361 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:30:36.35 ID:1NDr7Usm.net] >>349 // aabb 0000 bit |= (a == -1)? 0x80: (a == 1)? 0x40: 0; bit |= (b == -1)? 0x20: (b == 1)? 0x10: 0; こうやるのは簡単なんだよ これを三項演算を使わずビット演算だけでやる方法があるはずなんだよ 入れる方はシフトしてマスクすれば出来そうだが取り出す方法がまるで思い出せん
362 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:39:01.74 ID:ElQ36cp9.net] また一円の得にもならんことを
363 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:42:35.73 ID:fRVIOADe.net] >>352 マスクしてシフトするだけだろ
364 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 00:52:49.07 ID:h+WMGZtb.net] >>352 -1を0b10じゃなく0b11に割り当てれば>>354 の言う通りだね
365 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 01:00:25.75 ID:wxFTzoek.net] >>350 >64ビットレジスタを普通に、32ビットのEAX,EBX,ECX,EDXなどとしてアクセスできる 8バイトよりも小さい用途には、マスクして使っているだけ 実際に、8バイトよりも小さいレジスタを作るのは、場所・回路のムダ。 しかも統一的に扱えないから、ややこしいし、通信するのにも時間が掛かる
366 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 02:21:45.49 ID:dRxp3KxC.net] >>354-355 ちょっと書いてみてくれよ 俺がやるとキャストの乱れ打ちにしかならん
367 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 03:55:37.74 ID:wxFTzoek.net] bit shift で、bitの桁をずらせば?
368 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 04:02:03.10 ID:AUzNmz0G.net] ALレジスタ「・・・」
369 名前:デフォルトの名無しさん [2018/03/21(水) 05:26:14.92 ID:w6+mXCSB.net] byte bit = (byte)(((a & 0x3) << 6) | ((b & 0x3) << 4) | ((c & 0x3)<< 2) | (d & 0x3));
370 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 11:03:58.94 ID:6oHAbJm9.net] 1. 「確かな力が身につくC#「超」入門」 を勉強し終えて 2. 「独習C# 新版」 を読み始めたんだけど、この本厚すぎて通読には分量有りすぎる・・・。 1を読み終えてもう少しレベルアップしたい人におすすめな薄めの本ってありませんか?
371 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 11:17:28.93 ID:ElQ36cp9.net] もう十分だよ さっさとモノ作れよ
372 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 11:21:15.82 ID:ElQ36cp9.net] 勉強という言い訳でいくらでも足踏みできるから ノロノロしてるとそれだけで終わっちまうぞ 時間かけた割には何にも身についてなかったりする 経験と知識のバランスが大事だ 一つ本読んだらせめて一つはプログラム作れよ
373 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 11:21:24.54 ID:04sPI9mV.net] いや一生本読んでいればいいよ 自由度の高い分野で「レベルアップしたい人におすすめな薄めの本」ってもう発想が「楽してレベルアップ」で無理だから
374 名前:デフォルトの名無しさん [2018/03/21(水) 11:37:51.55 ID:0twXSax5.net] 言語が趣味なんだろ
375 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:07:16.84 ID:8gJoz83s.net] 言語仕様だけ知ってても実力は上がらない でもやみくもに手を動かしても得られるものは少ない c#向けじゃないけど昔は脱初心者レベルのソフトを作りながら学べる本があったけど 今はそういった需要は薄いのかあまり見かけない 初級者と上級者の差を埋める本大事だと思うけど プログラマー的思考を身に着けるために 初歩のアルゴリズム系の本でもじっくり読んで将来に備えよう
376 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:07:22.75 ID:ElQ36cp9.net] >>365 言語博士とか 使えない奴筆頭だな
377 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:09:17.71 ID:ElQ36cp9.net] >>366 闇雲に動いた方がいいよ この業界、〇〇体系とか超クソだし 単純に作成したアプリの数が力になっていくと思う
378 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:12:58.59 ID:8gJoz83s.net] >>368 昔は今よりできることが少なかったから やみくもにやっても到達する範囲は広かった 今は広すぎるのでやみくもにやると割に合わない ずっとググってるだけになりがち
379 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:15:23.53 ID:lgzIOdqb.net] 何か作って公開しろ
380 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:15:55.18 ID:cg6C3pEJ.net] やりたいことをググれば、だいたい答えが出てくるのがC#のいいところ
381 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:16:13.75 ID:8gJoz83s.net] その当時流行りのライブラリの使い方なんてすぐに陳腐化する 本質的に長く使えるのはプログラマ的思考 基本的なアルゴリズムがわからないのにプログラマを名乗るのははずかしい 問題解決の手段はググってライブラリをみつけるだけじゃない
382 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:20:46.76 ID:hwVPx/8e.net] 御託はいいから
383 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:20:49.36 ID:8gJoz83s.net] ○○をやりたい ↓ c# ○○ で検索 ↓ ヒットしないのでやめる じゃなくて ○○をやりたい ↓ 本やwebで○○について学習 ↓ c#でコーディング
384 名前:デフォルトの名無しさん [2018/03/21(水) 12:25:58.88 ID:pPz9oHRt.net] >>372 > プログラマ的思考 怠惰は美徳 明日出来る事は今日やらない アルゴリズムを学ぶよりはライブラリをググる
385 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:27:30.38 ID:Y56bN0nz.net] >>372 こういうこと言う人間って結局何も出来ないやつのコンプレックスなだけ プログラミングで一番大事なのは動機。何かを作りたいという情熱だけ
386 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:30:24.92 ID:8gJoz83s.net] IDころころの情熱
387 名前:デフォルトの名無しさん [2018/03/21(水) 12:31:08.99 ID:pL77RIW6.net] 真逆の思考の人が両方ともプログラマーを名乗る それでも全然問題ない
388 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:32:13.16 ID:lgzIOdqb.net] ID真っ赤の情熱
389 名前:デフォルトの名無しさん [2018/03/21(水) 12:37:21.23 ID:pPz9oHRt.net] >>378 >>372 のような初心者に教えたがる初心者は居ない方が良い
390 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:38:22.30 ID:MDnOXZZh.net] 基礎的な姿勢と応用思想にも見える
391 名前:デフォルトの名無しさん [2018/03/21(水) 12:42:14.57 ID:pL77RIW6.net] >>380 しかし376のような方が情熱で作るのをコピーするのもプログラマ
392 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:45:50.02 ID:whSpFtiD.net] というより、現場の土方も橋の構造の設計者も同じ「建築関係者」ってことでしょw ただ、土方が「構造力学なんて必要ねえ!」って吠えるのはその通りだけど滑稽ではあるねw
393 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:46:24.05 ID:QTwxh18R.net] Qiitaみたいに公共領域であるWebにゴミを棄てないなら何でもいい 勝手にやってろ
394 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 12:53:26.69 ID:8gJoz83s.net] やりたいことを言語仕様を学んだだけではコーディングできないことがある やみくもに手を動かすだけでは目的を達成できないことが出てくる 過去の確立された手法を学ぶことで徐々にこうすべきだとが体が覚えていく そして内部で何が行われていてどれだけの計算コストがかかりメモリなどが消費されるのか 正確じゃなくてもそれが多いか少ないかを何となく雰囲気がつかめるようになると大成功
395 名前:デフォルトの名無しさん [2018/03/21(水) 12:53:34.97 ID:pPz9oHRt.net] >>384 QiitaはWeb用ゴミ箱やぞ
396 名前:デフォルトの名無しさん [2018/03/21(水) 12:54:06.43 ID:pPz9oHRt.net] >>385 初心者はもう黙れ
397 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 13:00:13.20 ID:/SLykQ97.net] 何かを作って問題にぶちあった時に発揮する問題解決能力に勝るものはない くそみたいなネットゲーム作ってる会社が最先端のライブラリを生み出してる現状がそれ
398 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 14:09:56.04 ID:x2r2V1ra.net] >>387 ここには初心者しかいないw >>374 の上が全く納得できなかったけどコピペプログラマの考え方だと合点がいった >>361 そもそも何のための勉強なのか 就活のための勉強なら読んだ本が多い人と簡単でも実績のある人がどちらが有利なのかはわかる 趣味のための勉強ならここで聞かずに好きにしたらいい >>363 の下の2行を否定できる人はまずいないだろうな
399 名前:デフォルトの名無しさん [2018/03/21(水) 14:23:27.49 ID:5e+TVXSM.net] 今時、本を読んでコードの勉強する奴なんているの? いんたーねっとを知らんの?
400 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 14:30:18.38 ID:x2r2V1ra.net] >>390 スレまであるじゃないか 推薦図書/必読書のためのスレッド 82 https://mevius.5ch.net/test/read.cgi/tech/1493844476/ 自分では一冊も読んだことないけどな
401 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 14:34:11.32 ID:ElQ36cp9.net] >>390 まあ、どっちも一長一短だよね
402 名前:デフォルトの名無しさん [2018/03/21(水) 14:57:19.22 ID:0twXSax5.net] >>367 趣味に使えるも使いないも関係あるかよ(´・ω・`)
403 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 15:20:09.30 ID:8gJoz83s.net] プログラム歴およそ35年 c#歴およそ16年
404 名前:デフォルトの名無しさん [2018/03/21(水) 15:27:35.75 ID:5e+TVXSM.net] >>394 いまは何をされてるんですか? 代表作は何でしょか?
405 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 15:30:53.70 ID:FUlwWtP3.net] >>390 インターネットの情報もすべて書籍から生まれてるわけだが
406 名前:デフォルトの名無しさん [2018/03/21(水) 15:39:11.17 ID:5e+TVXSM.net] >>396 そんな事ねーだろw むしろ逆なんじゃないの? ブログから書籍なら分かるけど
407 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 15:49:39.72 ID:x2r2V1ra.net] >>396 MSDNのリファレンスは書籍が元になってんのか?
408 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 15:52:34.67 ID:PUZ7K5bP.net] PSVRでもやればいいのに(´・ω・`) スクエニ、「結婚指輪物語 VR」を5月25日配信--漫画の世界に入る新しいVR表現 https://japan.cnet.com/article/35116459/
409 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 15:58:17.79 ID:OlOe5UzE.net] 書籍が情報の原点だという意味では まぁそんなこと言い出したら知識伝播の原点は壁画時代にまで遡る
410 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 16:08:01.93 ID:Rl1NS7de.net] >>398 せめてdocsにしとけよ
411 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 19:42:34.12 ID:k50DXUVk.net] >>394 そんなにやっていて初心者のスレで真っ赤になった上にバカにされるんだ こんなプログラマにはなりたくないな そして忘れ去られる元の質問者
412 名前:デフォルトの名無しさん [2018/03/21(水) 20:08:29.59 ID:1JiLJjJR.net] 努力で解決しちゃう奴がプログラミングをやると>>394 みたいになりがち
413 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 20:11:51.61 ID:zVVJT8mf.net] 永遠の初心者よりいいと思うけどw コピペしかできない人間にはなりたくない
414 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 20:19:04.30 ID:ElQ36cp9.net] >>404 それで食えるならそれでもおk
415 名前:デフォルトの名無しさん [2018/03/21(水) 20:20:02.58 ID:1JiLJjJR.net] いや、その永遠の初心者が>>394 なのだが
416 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 20:31:38.84 ID:mIV9xLj7.net] いちいち、僻み発言はしなくていいから
417 名前:デフォルトの名無しさん [2018/03/21(水) 20:33:38.71 ID:cPEv79wC.net] そんな真新しくプログラム作ることってなくないか? 自分のライブラリ使うのもコピペに入るならほとんどコピペみたいなもんやろ ネットから拾ってただコピペは知らん
418 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 20:46:37.97 ID:zVVJT8mf.net] 彼はコピペしかできない人達の何かを刺激してしまったんだなw
419 名前:デフォルトの名無しさん [2018/03/21(水) 20:47:32.26 ID:mPtLWMTP.net] コピペって言えばQiitaやHatenaの記事は酷いもんがあるよな 間違ったテクニックや誤魔化す技が一度紹介されたら、そのコピーブログが量産されてくんだ
420 名前:デフォルトの名無しさん [2018/03/21(水) 21:53:57.93 ID:1JiLJjJR.net] >>410 酷くていいんだよ ああいうのは>>394 みたいな努力系プログラマーが排出するゴミの受け皿なんだから
421 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 22:10:14.55 ID:YzH/Qu94.net] マ板でやれよ...
422 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 22:55:56.39 ID:zVVJT8mf.net] 初心者のベテラン叩きかっこええ
423 名前:デフォルトの名無しさん mailto:sage [2018/03/21(水) 23:04:09.39 ID:/A9S8Tke.net] ここでいいかな。 分かる人いたら教えてください。 C# で作成する webアプリで、web.config の appSettings セクション?の下の add には 通常では key と value の組で設定の名称と値を保存していますが、key と value の他に独自のプロパティを追加して、たとえば <appSettings> <add key="名称" value="設定値" explanation="この項目の説明"/> </appSettings> みたいな事をしたいのです。 ずっと前に appSettings の拡張クラスを定義する事によって可能になるというような記事を読んだ記憶があったような気がするのですが いまは見つけられませんでした。 上のようなやり方の是非はともかく、実現の可否と、やり方を教えてください。
424 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 00:08:52.98 ID:/twRZ4qU.net] >>414 Custom Configuration Section とかでググるといいと思う https://msdn.microsoft.com/ja-jp/library/2tw134k3.aspx
425 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 00:15:01.17 ID:/twRZ4qU.net] ここの説明のほうがわかりやすいかも https://blogs.perficient.com/microsoft/2017/01/4-easy-steps-to-custom-sections-in-web-config/
426 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 00:24:24.25 ID:G0SZ4nh0.net] できるけど面倒くさいぞそれ 設定は別のファイルにしたほうがいい
427 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 02:52:41.51 ID:R5Phquw0.net] exeというのはCやC#をコンパイルしたものですか? PyhronやRubyをコンパイルすると拡張子は何になりますか?
428 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 02:58:58.59 ID:R5Phquw0.net] 参考にしたい実行ファイルがあるんですがexeはどれもCやC#にデコンパイルできるんでしょうか? 構文の勉強をするにはどうすればいいですか?
429 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 04:12:18.59 ID:JQhOGY5j.net] exeはWindowsの実行ファイル PythonやRubyはインタプリタが実行することが多いけど、exeにする方法もある 簡単にでコンパイルできるとは限らない 必要に応じて逆アセンブルを読む
430 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 04:47:45.97 ID:tdHViWJs.net] 1. 各言語 → 実行ファイル 2. 各言語 ← 実行ファイル 1. のように、各言語をコンパイルして、実行ファイルを作ることはできるが、 2. のように、実行ファイルを逆コンパイルして、 各言語のソースコードに直すことは、無理 特に、他人が作ったものは、年十年も研究しないと無理 1. のように、まず自分でプログラムする事を、勉強した方が速い
431 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 07:06:16.48 ID:dIG91/vu.net] >>419 C#で作られたものならILSpyなどのデコンパイラを使えばかなり高精度でソースを復元できる でも他人のソース見て勉強したいならGithubでOSSを読むのが一番だと思う 上の人はこの板の名物基地外だから無視するように
432 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 08:16:03.10 ID:Cb8k5JAF.net] ていうかc#って難読化しないとソースが丸々実行ファイルに入ってるよね
433 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 09:00:19.19 ID:Yz4YgUU6.net] >>423 難読化しても丸々入るやろ
434 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 09:04:15.42 ID:Cb8k5JAF.net] >>424 読まれちゃうよね
435 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 14:56:38.14 ID:fyCa2g0B.net] 読まれたら困るような技術やマルウェアでも仕込んでんのか?
436 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 15:38:32.20 ID:Cb8k5JAF.net] >>426 僕たちの技術が安売りされておる!
437 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 17:44:35.45 ID:s6EbUNWz.net] >>419 C
438 名前:とC#が同じように見えるレベルででデコンパイルで勉強とか無理 それ以前に言語スレで質問するときは最低限その言語で「Hello World!」実行できるようになってから [] [ここ壊れてます]
439 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 19:07:00.07 ID:JQhOGY5j.net] Cで書いても逆アセンブルすればだいたい読めるじゃん
440 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 19:12:37.50 ID:2OJ71Hoj.net] >>429 それは質問の要件に合う話?
441 名前:414 mailto:sage [2018/03/22(木) 19:18:29.35 ID:+BApurZo.net] >>415-416 ありがとう。 調べてみます。 >>417 茨の道っぽいかもですね。 まあ先の用例のケースなら <!-- --> でコメントを入れてもいいので、適宜、工数を考えてみます。 でも <!-- --> でコメント入れると、行挿入したときとかに勝手に改行が入ったりするので。。
442 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 19:41:14.86 ID:cv696+3f.net] 読み込んだ画像を縦横に連結して新しく出力したい。 横への結合はあるけれど、縦・横並べるにはどうしたらいいんだ ■ ↓ ■■■ ■■■ こういう風にしたい
443 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 19:45:29.56 ID:kZrJsqkn.net] 読み込んだ画像を上下にずらしながら描画すればいいんじゃねーの?
444 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 19:59:53.87 ID:52tkzdW9.net] >>432 C#以前に画像の大きさと座標を考えるだけじゃないの 横に連結できるのに縦横ができない方が意味不明
445 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 20:05:24.46 ID:T2vZ1xLC.net] >>432 どこに出力するのかぐらい書けや
446 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 20:47:55.73 ID:ni48WVgw.net] class TypeA: IType{} class TypeB: IType{} IType[] table; こんな感じの構成で配列にI/Fを格納してステートマシンをやりたいのに、 何をnewして配列を初期化したらいいのか分からない誰かたすけて
447 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 21:04:10.32 ID:uk+GlZCh.net] Listを使うようにしたらいいよ
448 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 21:16:31.83 ID:/twRZ4qU.net] >>436 IType[] table = { new TypeA(), new TypeB() } とか?
449 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 21:17:50.71 ID:ni48WVgw.net] ごめん IType tmp = new IType[2]; としたら普通に出来た インターフェースはnew不可能って嘘言ってる奴は死ねばいいのに
450 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 21:26:09.52 ID:06GLHVJW.net] Interfaceはnew出来ないぞ。 それは配列をnewしてるのであってInterfaceをnewしてるわけでは無いんだよ。
451 名前:デフォルトの名無しさん mailto:sage [2018/03/22(木) 23:23:13.81 ID:R5Phquw0.net] >>421 ,428 サイト見ながらハイ&ローゲームを作ったけどめっちゃ難しかった でもマインクラフトなんかよりずっと面白いな! お前らみたいに長年プログラムを書いてるとソースコードを見ただけで吐き気がしたり嫌になったりすることもあるの? 今でも楽しく書けてる?もうロボットになっちゃった?
452 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 10:18:12.37 ID:dRbnJSq+.net] ソースなんか見なくても テストが全くない、仕様書はない、前任者が逃亡 のどれかを聞いたら吐く
453 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 15:25:59.96 ID:4mHfCYml.net] 好きなことは趣味だけにとどめておけとは良く言うな まぁ広い世界を見るのと見ないのじゃ、得るものも考えも違ってくるけど
454 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 18:41:53.25 ID:K8shiMoF.net] 起動中の任意のウィンドウをクリックスルーさせるアプリを作りたいんですが開発言語は何がいいでしょうか? C#で作れますか?
455 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 18:48:37.93 ID:KCL7rjza.net] > クリックスルーとはウェブサイト上の広告をクリックすることによって広告主のコンテンツに移動することであり、 > ウェブサイトの広告効果を測る一つの尺度である。 残念ながら意味不明
456 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 19:16:30.96 ID:WXYYX9lz.net] エスパーすると任意のwindowの後ろの座標クリックしたいんじゃね?
457 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 19:16:54.09 ID:K8shiMoF.net] 言い方が悪かったですね クリックスルーとは手前に表示されているウィンドウではなくその奥にクリックイベントを送ることです 私の作った造語です。 クリックをスルーさせる。なら分かったでしょうか?
458 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 19:19:36.49 ID:f2Ovt9hj.net] windowマネージャー次第じゃね
459 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 19:20:07.85 ID:K8shiMoF.net] >>446 そうです
460 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 19:26:06.63 ID:oo1PkjPG.net] WndProcでマウス関連のメッセージが来たらそれを後ろのウインドウに送れ
461 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 19:41:03.71 ID:K8shiMoF.net] 関数も知らない初心者なのでよくわかりませんが、 ありがとうございます 頑張ってみます
462 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 20:04:04.89 ID:Wu9wrvWh.net] C#でWindows7や10の通知を検知する方法ありますか?
463 名前:デフォルトの名無しさん mailto:sage [2018/03/23(金) 20:07:18.14 ID:YkCX9UZt.net] >>450 これだと自分自身のフォームに対するクリックしか対応できないんじゃね? >>448 で自作する話かと思った
464 名前:デフォルトの名無しさん [2018/03/24(土) 02:01:16.50 ID:eOg1kWoS.net] int[] ii = {1,2,3,4,5,6,7,8,9,10}; var i = ii.Where(x=>x>=11).FirstOrDefault(); Console.WriteLine(i); こんな感じのことをしたいのですが、iに0が入っていたときに0が検索結果なのか?それともデフォルト値の0が返されたのか?を調べる方法ってないのでしょうか?
465 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 02:12:40.29 ID:RAJoRlJs.net] >>454 var i = ii.Where(x=>x>=11).Cast<int?>().FirstOrDefault(); これならデフォルトはnullになる
466 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 02:22:55.04 ID:f2IRc2qS.net] 11以上の0てw
467 名前:デフォルトの名無しさん [2018/03/24(土) 02:23:26.48 ID:eOg1kWoS.net] >455 ありがとうございます null許容型にしてしまう技は全然思いつきもしませんでした
468 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 03:52:47.12 ID:vYyJGm6o.net] 普通に.Any()みたいのでチェックしたほうがいい気がする
469 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 06:34:16.57 ID:kwFJV00Z.net] 普通にanyとFirstでやるほうがいいと思う null許容型を嫌っている人も多いし
470 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 11:02:27.65 ID:nWAEGsYu.net] forでやればいいと思うけど一行で無理やりやるとしたら var i = ii.ToList().FindIndex(x => x > 11); で位置が取れる 見つからなかったら-1が帰る 値はii[i] ※これはLINQじゃない
471 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 11:07:47.22 ID:nWAEGsYu.net] 見直したら var i = Array.FindIndex(ii, x => x > 11); でも行けた 失礼
472 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 11:54:28.18 ID:I8UGP+gf.net] そういうラムダ式ってぶん回してるとGCガリガリしそうな気がする俺は素直にforで判定してる
473 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 12:07:26.69 ID:Y8GXLzWd.net] GC大量発生しているじゃないか!とGen0と1の数字で大騒ぎしているお客さんみたいなこと言わないでよ
474 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 12:20:02.80 ID:qA6u9GtS.net] 俺はRustで書く
475 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 12:36:49.22 ID:I8UGP+gf.net] >>463 VRが90fpsなんて無茶を求めて来なきゃ俺だってLINQとか使いたいよ
476 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 12:42:55.44 ID:9NxgdLlD.net] Listの実装にもよるけどvector的ならインスタンス1つ増えるだけでしかも速やかに回収される GCからみたらただの良い子だね
477 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 13:07:03.68 ID:7/CvCtkV.net] 要件違うんだから争いはしないでよね
478 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 13:12:57.55 ID:l0JTVUuX.net] >>465 お前の自己紹介スレじゃない
479 名前:で [] [ここ壊れてます]
480 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 14:15:34.65 ID:gWAI6lWw.net] いくらLINQでも探索でGCガリガリなんてするわけないじゃん
481 名前:デフォルトの名無しさん [2018/03/24(土) 14:17:13.44 ID:iw5iXVod.net] パフォーマンス追求するときは使わなきゃいいだけじゃん 何回目だよ
482 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 14:22:26.64 ID:qA6u9GtS.net] 何度でも言うよ
483 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 14:37:03.09 ID:8uBzLhlU.net] >>470 だったら使うの止めてよ パフォーマンスが要求されるところで使えないんでしょ 普通に組めばいい話じゃん
484 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 15:03:34.89 ID:kwFJV00Z.net] コンパイラーによって最適化された結果リンクの方がパフォーマンスがいいときもある 勝手に使えないと決めつけるんじゃなくてちゃんと調べた方がいいよ
485 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 15:10:01.14 ID:FeWoBRlr.net] >>473 その調査で生じる賃金はどこのどなたが払って下さるんですか?
486 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 15:13:32.64 ID:o+lnSplR.net] 今回はLINQ関係ないだろ Listのメソッド使ったんだから ラムダが嫌ならPredicateのdelegate渡せばいい
487 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 15:52:30.11 ID:kwFJV00Z.net] リンクだろうとラムダ式だろうとパフォーマンスは実際にやってみないとわからないってのが言いたかった こんな所でボトルネックなんてでないから好きに書けばいいと思うけど
488 名前:デフォルトの名無しさん [2018/03/24(土) 16:25:40.93 ID:iw5iXVod.net] >>472 簡単だし楽だから使うよ おまえは全部C++でやっとけよ
489 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 16:32:05.01 ID:7/CvCtkV.net] どのくらいのパフォーマンスが必要なのかも分からないのにパフォーマンス必要だから止めろって奴何なの?
490 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 16:42:29.03 ID:vRs+3qfJ.net] >>478 でも遅いことは確定なんだよね?
491 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 16:44:31.30 ID:o+lnSplR.net] くだらないことで揉めるんじゃない ただanyからのfirstは無駄だとは思う
492 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 16:55:19.70 ID:dHFi9bQj.net] またはじまった
493 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:05:10.25 ID:1VnhiIny.net] 無駄というか作法的にイマイチ IEnumerableは列挙するたびに結果が変わったり一度しか使えなかったりする実装もあり得るから、 終端操作を二度やるのは一般には良くないね
494 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:08:19.43 ID:7/CvCtkV.net] >>479 何に対して何が遅いと言っている? あと許容出来る遅さと許容出来ない遅さは区別することを前提でお願いね。
495 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:12:04.07 ID:uMtlf+0x.net] 質問でも回答でもないのなら他でやれ
496 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:32:20.25 ID:vYyJGm6o.net] >>480 >ただanyからのfirstは無駄だとは思う なんでそう思うの?
497 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:35:46.41 ID:+6yqXiQK.net] >>485 本来同時に得られるはずの情報をわざわざ二度の処理で求めているからだろ 処理効率は別にしても、マルチスレッドとか考慮するとバグの元になる可能性もある
498 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:36:08.58 ID:kwFJV00Z.net] anyで条件付きのループした後にfirstで同じことをするより、2回目は直接該当データを参照する方が早そうって感覚
499 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:42:42.62 ID:1VnhiIny.net] 列挙元の内容が変更されないことが保証されているのは列挙子が有効な間だけ(変更されたら列挙子が無効になる) Anyの直後のFirstは新しい列挙子を使用して列挙をやり直すので、 前回から列挙元の内容が変更されていない保証は一般には無い
500 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 17:46:38.61 ID:Yt7o4U/B.net] >>488 正しいよ でもお呼びじゃないんだカス 静かにしててくれる?
501 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:01:34.62 ID:kwFJV00Z.net] >>488 anyは存在確認でfirstはデータ取得が目的だから順序が変わっても問題なし むしろfindindexからインデクサでデータ取得する時の方が大事になってくるかな だから、>>461 はいいけど、>>460 は少し危ない気がする
502 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:04:19.15 ID:0F1bgfLW.net] いや正しくないってw 別のスレッドでコレクションが変更される可能性があるならそもそもLINQは使えない。 LINQのメソッドが返す列挙子はオリジナルのコレクションのコンポジションに過ぎないことを 忘れちゃダメよ
503 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:06:03.71 ID:0F1bgfLW.net] >>490 問題あるとかないとか以前に、同じコレクションを2回スキャンするのは 無駄だなと思うことはプログラマの最低要件だと思う
504 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:13:37.30 ID:kwFJV00Z.net] >>492 別にそこは否定してないんだけど また、リストや配列のメソッドはスレッドセーフじゃなかったと思うからanyがとか以前にロックしなきゃ駄目かな それはまた別の話だから別に触れないけど
505 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:14:09.89 ID:9NxgdLlD.net] こんな場合には使えないんだ!←わかる だから絶対にどんな場合にも使うな!←キチガイ
506 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:16:14.46 ID:vYyJGm6o.net] >>486 うーん、考え方としては理解できるんだけど、 現実問題としてintみたいにdefault値に0を返す型の場合で whereでフィルタした結果に要素があるかないかで処理を分けたいときにどうしてるの? >>455 みたくnull許容型にキャストするのは一案だけど読みやすさは低くなるよね
507 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:41:22.21 ID:RopZoVkn.net] >>495 場合によっては Enumerable.DefaultIfEmpty 使うものあり
508 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:45:31.61 ID:Jt5uczDI.net] >>495 whereでフィルタかけたならそのリストを作って、countで判別でもよさそう
509 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 18:55:23.66 ID:o+lnSplR.net] いやそれこそ無駄だよ
510 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 19:02:00.05 ID:vYyJGm6o.net] >>496 例えば Where(…).DefaultIfEmpty(-1).First() みたいなこと? >>497 それは遅延評価のメリットを完全につぶしてるよね 扱ってる型によってはcountでもO(1)で性能的な問題はない場合もあるだろうけど
511 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 19:29:35.04 ID:RopZoVkn.net] >>499 > 例えば Where(…).DefaultIfEmpty(-1).First() みたいなこと? そう。元のコレクションに -1 があったら使えないけど
512 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 20:06:30.63 ID:WPuMsPfE.net] >>494 プログラマなんざ99%キチガイだから正しいだろ? 根拠あげろって?皆さんが根拠だろうにご冗談を
513 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 20:49:58.95 ID:emfSYqOj.net] public static class MyLinqExtensions { public static T? FirstOrNull<T>(this IEnumerable<T> s) where T : struct { foreach (var i in s) return i; return default(T?); // return s.Cast<T?>().FirstOrDefault(); } public static void ForEach<T>(this IEnumerable<T> s, Action<T> a) { foreach (var i in s) a(i); } } class Program { static void Main(string[] args) { var s = new [] {7, 0, 1, 2, 13, 3, 4, 5}; var x = s.Where(i => i >= 11).FirstOrNull(); if (x != null) Console.WriteLine(x); s.Where(i => i >= 11).Take(1).ForEach(Console.WriteLine); } }
514 名前:デフォルトの名無しさん [2018/03/24(土) 22:39:25.79 ID:eOg1kWoS.net] 俺、そんな大ごとになるようなことを聞いちゃったのかな・・・・・
515 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 22:41:42.98 ID:Y93sH5Wg.net] このスレはlinqを異常に嫌っているおじいちゃんが生息してるから注意してね
516 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 22:43:55.34 ID:Y8GXLzWd.net] >>503 週末よくある光景だから気にすんな
517 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 22:49:20.91 ID:NMOsnRxi.net] WEBサイトのデータを取得するコードを書いているのですが サーバのデータを書き換えて、クライアントからアクセスしても キャッシュされた値が取得されてしまい困っています。 キャッシュポリシーというのでキャッシュしない設定が出来る様です。 以下コードを書きましたが、エラーが出てしまいます。 何が原因なのでしょうか? using System.Net; //WebClient using System.Net.Cache; **************************************************** HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); request.CachePolicy = noCachePolicy; ****************************************************** エラー Error 8 The type or namespace name 'HttpRequestCachePolicy' could not be found (are you missing a using directive or an assembly reference?) Error 11 The name 'request' does not exist in the current context Error 10 The name 'HttpRequestCacheLevel' does not exist in the current context
518 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 22:57:42.79 ID:ADnClyNC.net] >>506 コードも張らないとアドバイスできんがな
519 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:01:20.44 ID:NMOsnRxi.net] >>507 WebRequest req_1 = null; req_1 = WebRequest.Create(str_url); res = req_1.GetResponse(); でWEBサーバに設置したデータを取得しています。
520 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:03:09.08 ID:S2nO/hPq.net] >>506 https://msdn.microsoft.com/ja-jp/library/system.net.cache.httprequestcachepolicy(v=vs.110).aspx HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); WebRequest request = WebRequest.Create(uri); request.CachePolicy = noCachePolicy; uriに文字列設定したら普通にビルド通るけど、他に何やってる?
521 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:04:36.74 ID:NMOsnRxi.net] >>509 ありがとうございます。 凡ミスしてました! using System.Net.Cache; を別のソースファイルに書いてました、、、
522 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:07:50.50 ID:bzBaKL6p.net] なぜいまどきWebRequest?
523 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:11:22.61 ID:NMOsnRxi.net] エラーは消えましたが、WEBサーバ上で書き換え前の値が取得されてしまいます。 うーん、キャッシュポリシーの設定はあっているはずなのですが。 HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore); request.CachePolicy = noCachePolicy;
524 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:13:30.74 ID:NMOsnRxi.net] >>511 今ナウいのは何に使うんですか? WEBサーバ上にはというファイルをおいてます。 [ hoge_status.dat ] 1,aaa 2,bbb 3,ccc そして、サーバ上で「2,bbb」→「2,babaa」に 書き換えて、クライアント(C#)から上のコードを実行した時に 「2,bbb」が取得されてしまいます。
525 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:16:00.40 ID:rHDBuOYV.net] https://code.i-harness.com/ja/q/81ef3
526 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:24:46.34 ID:NMOsnRxi.net] ありがとうございます。 サイトに記載の内容を参考に↓のコードを書きました。 namespace ns_test { public class c_udoxn { [DllImport("WinInet.dll", PreserveSig = true, SetLastError = true)] Error 29 The type or namespace name 'DllImportAttribute' could not be found (are you missing a using directive or an assembly reference?) すると今度は、DllImportAttributeが見つからないというエラーがでます。 何か間違っていますか?
527 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:27:01.58 ID:NMOsnRxi.net] using System.Runtime.InteropServices; // DLL Import これでエラー消えました。
528 名前:デフォルトの名無しさん mailto:sage [2018/03/24(土) 23:32:05.55 ID:NMOsnRxi.net] 解決しました!! ありがとうございました!
529 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 00:22:20.31 ID:30He22WI.net] How can I view the allocation unit size of a NTFS partition in Windows 10?
530 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 02:55:25.41 ID:QkJGWpF+.net] >>518 fsutil fsinfo ntfsinfo
531 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 02:58:05.04 ID:Z3IDZNHN.net] >>511 >>513 いまだとHAPかな?
532 名前:デフォルトの名無しさん [2018/03/25(日) 03:08:23.05 ID:eoB6ZVmc.net] 特定のクラスのインスタンスを探したり列挙したりすることって出来ないのでしょうか? A a = A();//オブジェクトの生成をどこかに記録するとか面倒なこと無しに A b = A(); A c = A(); FindObjects(A).ForEach(・・・・・);//雰囲気としてはこんなことがやりたいんです
533 名前:デフォルトの名無しさん [2018/03/25(日) 03:09:02.83 ID:eoB6ZVmc.net] 嗚呼、今見たらnewが抜けてた・・・・
534 名前:デフォルトの名無しさん [2018/03/25(日) 06:50:33.94 ID:ODva5YKs.net] コンパイラの選択次第で出来上がりの性能でそんなに変わる?
535 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 07:44:12.53 ID:iS73Z4MS.net] >>521 できない お前が言ってるのを実現してしまったら、 var a = new Message(text: "うんこ"); a.Print(); //textに渡した内容を出力する で一行目と二行目の間にaの内容が勝手に他所から書き換えられている可能性を常に考慮しないといけなくなるんだぞ? 初心者ならピンとこないかもしれないけどね 初心者がプログラミング言語を学ぶときは常に以下のように考えることが大切 ・これを作った人は自分より遥かに頭が良く経験豊富である ・普通の方法でできないのは、それが悪いことだから
536 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 08:04:35.72 ID:vPJlyNvz.net] >>521 コンストラクタでどこかに記録しときゃいいだけじゃね? 任意のクラスでやりたいならコンパイラに手を入れるなりしないと無理
537 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 09:55:55.34 ID:Z3IDZNHN.net] >>521 生成後、List<A> Alistにaddすれば可能。
538 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 10:33:10.02 ID:sIW0PrXb.net] グローバル変数が大好きなんだな
539 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 10:36:47.24 ID:XLrMHO3h.net] 時代はグローバル
540 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 10:37:55.50 ID:5WPMat6H.net] >>521 class A{ public static readonry List<A> allList = new List<A>(); public A(){ allList.Add(this); } public void Dispose(){ allList.Remove(this); } 自分ならこうやってクラス内のstaticに入れておく
541 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 10:40:15.38 ID:BGDDphgd.net] >>521 参照するだけなら自分に属しているフォームやクラスは列挙できるだろ あとは名前で探せよ
542 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 10:54:23.63 ID:5WPMat6H.net] 明示的にDisposeを呼ぶのが面倒というなら、 リストに入れるのを弱参照にしてデストラクタを実装すれば全自動に出来るよ
543 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 10:57:31.10 ID:BGDDphgd.net] >>531 探して代入したものでDisposeやCloseもできる。インスタンスの書き換えはできない 521が何のためにやりたいかによる
544 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:09:02.92 ID:Ol/c1EKt.net] レガシーシステムで一番困るのはグローバル変数 これ以外は簡単にリファクタリング出来るがグローバル変数だけは簡単にはいかない
545 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:20:06.56 ID:vPJlyNvz.net] 普通の知能持ってたら>>529 みたいにクラス内のスタティック変数でやると思う グローバル連呼してる奴は知能足らなさすぎじゃね?
546 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:21:28.40 ID:Kz38QhUD.net] 他言語のグローバル変数マンがpublic staticマンになる
547 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:31:07.75 ID:sIW0PrXb.net] >>534 ただ、 UnkoWorld-●UnkoArea-●Unko みたいな関係にしたくなったとき それでやってると ウンコみたいにウンコウンコになるんちゃう?
548 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:34:42.78 ID:Ol/c1EKt.net] >>534 パブリックなら同じ 最初に書くときにらくだからって堕落して思考停止してグローバルを使うと だんだん考える力が衰えてこういう判断ができなくなる
549 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:40:28.11 ID:Ol/c1EKt.net] パブリックスタティック書くお^q^ グローバル連呼は知能がたらないお^q^ ぼくはかしこいんだお^q^ おっおっ^q^ これがグローバル変数を使う人間の末路です 恐ろしですね
550 名前:デフォルトの名無しさん [2018/03/25(日) 11:42:06.07 ID:hyW7/lyL.net] 末期やな>>538 のグロ厨
551 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:42:40.12 ID:sIW0PrXb.net] 俺も一瞬いいかな? とか思ったけどpublicにされた時点ですべてが駄目なことに気づいた
552 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:45:41.52 ID:/CvrewET.net] 具体的にどういうときにそうしたくなるか書いてあればヒントがでてくるかもしれないけど 一般的になんでもかんでもそうしたいと言うのはNGだと思う
553 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:53:10.41 ID:yM5ntbb+.net] >>529 のケースだとpublicにする必要ないよね
554 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 11:58:50.34 ID:/CvrewET.net] ローカルで使い捨て目的でAを作ったとしても 明示的にdisposeしないと消えない c++のnew deleteのメモリリーク問題を回避するためにガベージコレクションの仕組みができたのに また逆戻りするだけ
555 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:01:37.82 ID:Ol/c1EKt.net] privateならOKってのも短絡的だよな 独立に生成したはずのオブジェクト同士が外から見えない部分で密かに連携し合っているとか破滅の臭いがプンプンするぜ
556 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:02:42.33 ID:sIW0PrXb.net] >>542 >>529 はNG こうやって使いたくないときもこうなっちゃうじゃん static抱えちゃうのは悪手
557 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:10:21.24 ID:/CvrewET.net] public じゃなかったらどうやって要素を列挙するんだよ
558 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:15:08.82 ID:sIW0PrXb.net] >>546 多分仕様がウンコ 客と詰めきれてない コードばっかり見てるとバカになるやつの典型 外の空気でも吸ってきたらよい
559 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:16:49.43 ID:vPJlyNvz.net] >>546 えっ? w まあパブリックにしても外部から書き換えられないなら大抵は問題ない >>537 とかはパブリックと言うだけで思考停止してる老害なんだろうな
560 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:20:32.55 ID:/CvrewET.net] >>548 えじゃねーよ 考えてなかっただろ
561 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:22:41.04 ID:yM5ntbb+.net] >>545 フレームワーク側でstaticをガンガン使ってるけどそれには文句言わないの?
562 名前:デフォルトの名無しさん [2018/03/25(日) 12:26:42.83 ID:eoB6ZVmc.net] そうか、>>521 で書いちゃったのが実現できるようにすると、いつまでもインスタンスへの到達可能性が残ってGCが機能しなくなるのか 全然わからなかったわ
563 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:27:48.76 ID:/CvrewET.net] >>551 そういうこと 目的を絞った特殊な状況でしか使えない 一般的に使うのはNG
564 名前:デフォルトの名無しさん [2018/03/25(日) 12:29:14.40 ID:hyW7/lyL.net] >>551 ならんわw
565 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 12:42:56.52 ID:PVODPgu2.net] いつもそうだけど、本質を少しも突かない頭の悪いやり取りしかないねw 論点は>>521 ,>>529 的な仕組みが必要になるケースがあるかどうか。 俺はないことはないと思う。 ただ、揚げ足取りかもしれんが、>>529 はList<T>をそのまま公開してるのはまずい
566 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 13:09:44.61 ID:5WPMat6H.net] >>554 実際やるときはさすがにprivateにしてstatic ForEachを実装するし、 ライブラリ化するならセーフティとしてリストをWeakReference<T>にしてデストラクタで自動削除するよ ただ掲示板でそこまで長々と書く気はないだけで
567 名前:デフォルトの名無しさん [2018/03/25(日) 13:13:01.00 ID:Tb46nDVy.net] 指定の時刻を過ぎたらbackgroundworkerを止める仕組みを作りたいのですが なにかおすすめの方法はありますでしょうか?
568 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 13:27:59.98 ID:lVxRvEma.net] >>555 クラスの扱いの話がクラス自身を変更しちゃってる実装に違和感
569 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 13:51:57.79 ID:JPEij3S4.net] >>556 それだけだとどこで時間を確認するべきかすらわからん 仕様きちんと決めてから質問して
570 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 13:55:31.94 ID:5MzIJnBg.net] >>549 はあ? そう言うイテレーター作る
571 名前:だけだろ w [] [ここ壊れてます]
572 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 14:09:46.22 ID:5MzIJnBg.net] >>551 デストラクタでリストから外せばいいだけ もしくはIDisposableにしてdispose( )で外すとかでもいい
573 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 14:39:30.42 ID:HUiARVtR.net] >>560 参照が残った状態でデストラクタが働くの?
574 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 14:41:03.20 ID:5WPMat6H.net] >>561 世の中には弱参照というものがあってな
575 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 15:22:13.04 ID:Ol/c1EKt.net] そういやここ初心者スレだったか >>548 みたいなのも居るか
576 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 15:29:41.34 ID:Zk7ZAw6P.net] また元の質問者蚊帳の外に置いて盛り上がっている オレオレ仕様で議論されても誰の役にも立たないんだよ
577 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 15:39:34.96 ID:vPJlyNvz.net] >>563 グローバルガーって知ったかして恥ずかしいからって粘着するなよ w
578 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 15:40:34.61 ID:Ol/c1EKt.net] >>565 は?
579 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 15:48:44.21 ID:XJO2spvZ.net] 初心者スレでマウントするイキリオタクにはなりたくないね
580 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 16:05:42.72 ID:vPJlyNvz.net] グローバルガーでマウント取ろうとして失敗したID:Ol/c1EKtをそこまでバカにしてやるなよ w
581 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 16:28:46.20 ID:n/bZLhLz.net] インスタンス生成と生成されたインスタンスをコレクションに追加するのは別のクラスの役割 >>521 はコレクションの要素を型でフィルタリングできたらいいわけだから素直に実装したほうがいい
582 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 16:28:46.85 ID:rmzLSBrs.net] よう分かりませんけど、このスレをプリントアウトして明日朝一番で精神科にかかることをお勧めします このIDが僕です!って正直に言うんだよ
583 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 16:46:03.35 ID:TrFdb9nA.net] >>569 わざわざクラスを増やす必然性はないだろ
584 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 16:50:54.77 ID:5WPMat6H.net] >>569 クラス単体で閉じてる機構をわざわざ外部に別けて何がしたいんだよ メンテナンス性が下がるだけじゃん
585 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 16:55:50.35 ID:sIW0PrXb.net] >>572 いや、この仕組みが入っているがために使えない状況が出てきちゃうんじゃね?
586 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 16:57:56.62 ID:sIW0PrXb.net] 本来クラスAがクラスA足る為に必要な処理じゃないんだよ リストに追加なんてのは
587 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:00:09.33 ID:n/bZLhLz.net] >>571 >>572 きみたちマジか!! オブジェクト指向設計原則の基礎だぞ それを破るだけのメリットがあるユースケースなのかな?
588 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:11:36.39 ID:5WPMat6H.net] >>573-575 そこまで言うなら実際に書いて見せてみろ?
589 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:19:41.51 ID:sIW0PrXb.net] >>576 普通にlist外に出せよ
590 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:27:26.70 ID:+wly4/Cl.net] >>577 グローバルがだいしゅきなの?
591 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:35:09.99 ID:vPJlyNvz.net] >>577 へっ? 外出ししてグローバルにしろとでも言うのか? w
592 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:37:41.15 ID:+wly4/Cl.net] >>575 型として絶対使わない機能を分離してどうするの? オブジェクト指向の目的もしかして理解してない?
593 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:38:38.10 ID:sIW0PrXb.net] >>579 誰もグローバルなんて言ってないけど どっから出てきたん?
594 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:44:59.40 ID:+wly4/Cl.net] >>581 どこの誰がどんなスコープでList持つ想定でいるの?
595 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:45:57.80 ID:sIW0PrXb.net] >>582 まあ、それ次第だよな
596 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:49:26.15 ID:+wly4/Cl.net] >>583 A.ForEachでアクセスする変数をA以外に持たせたら漏れなくグローバルになるけど、何を思ってAの外に出せと言ったの?
597 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:50:30.14 ID:sIW0PrXb.net] >>584 ならねーよ 死ねよ
598 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:50:49.15 ID:vPJlyNvz.net] >>581 なら > 普通にlist外に出せよ のlistをどこに置くのか言ってみろよ
599 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:52:11.71 ID:sIW0PrXb.net] >>586 使うやつが勝手に作ればいいじゃん クラスAにはなんの関係もないことだ
600 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:52:
] [ここ壊れてます]
601 名前:42.22 ID:vPJlyNvz.net mailto: はい、逃げた w [] [ここ壊れてます]
602 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 17:53:06.16 ID:sIW0PrXb.net] >>588 は?どこが?
603 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:04:31.71 ID:5WPMat6H.net] >>587 自身の生成したインスタンス一覧を保持するのはclass Aの基本要件だが、 何でお前はそれを無視してclass Aの仕様そのものを変えたがるんだよ
604 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:11:58.07 ID:sIW0PrXb.net] >>590 え?要件定義でそんなの出てくるの? 頭おかしいからだろ?
605 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:12:36.02 ID:Vv01uOP7.net] 初心者がマウントのために吠えあうスレになってんなw >>521 は作成したインスタンスをコレクションで持っていれば終わる話なのに
606 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:13:47.46 ID:+wly4/Cl.net] >>591 あたまわっるー
607 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:16:24.49 ID:a4i6A50g.net] >>591 要件定義クソワロタwww
608 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:17:30.34 ID:sIW0PrXb.net] >>592 だよね
609 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:17:53.31 ID:h+QwjUa5.net] たった数行のコードなりUMLなり書けば伝わる話なのに、 何十行も日本語書き連ねて言い訳してる時点で初心者以下だと思うのね 俺の考えた設計が最高と思うならC#で書けよ 書けないなら黙れ、素人
610 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:18:45.66 ID:sIW0PrXb.net] >>596 でもお前単発じゃん ご自慢の主張したいコードが付いてないけど?
611 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:19:20.14 ID:xrxDySNz.net] しょうもな 一般論を言えば>>587 が正しいが、これでは質問者の要件は満たせない。 >587は必要があってシングルトンにしてるクラスについて、 そんなことしなくても使う側が一つのインスタンスだ作ればいいじゃないか、って言ってるのと同じ
612 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 18:23:46.34 ID:sIW0PrXb.net] >しょうもな >一般論を言えば>>587 が正しい ここで止めろよ 初心者の質問なんだからよ 正しいこと覆して話進める価値あるの?
613 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 19:06:07.44 ID:vPJlyNvz.net] >>592 > >>521 は作成したインスタンスをコレクションで持っていれば終わる話なのに いや、そんなことはみんなわかっててそのコレクションをどこに置くんだって話 老害レベルの知ったかがグローバルとか口走ってごまかすのに必死になってるだけ w
614 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 19:43:00.47 ID:Ol/c1EKt.net] グローバル変数を使うど素人はさっさと転職したほうがいいぞ
615 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 19:50:31.57 ID:XLrMHO3h.net] え?まさかプロがこんな所覗いて浅い知識ひけらかしてる訳じゃないよな?
616 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 20:11:31.70 ID:sIW0PrXb.net] >>602 時代はグローバル
617 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 20:13:55.09 ID:XLrMHO3h.net] >>603 山田くん、座布団一枚!w
618 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 21:08:37.79 ID:ntckGCHi.net] Nugetでdll等をインストールする時にApp.configも一緒に差し替える事って可能なのでしょうか? 無理ならApp.configを書き換える手段を知りたいです EntityFrameworkをインストールするとプロジェクトのApp.configも一緒に書き換えられてると思います これと同じことがやりたいです
619 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 21:18:29.22 ID:o6f1Dm/5.net] >>520 しらなんだー 使ってみます! 仕事でプログラム組んでた時にはいろいろと新技術を追いかけて勉強してたんだけど、 仕事じゃなくなるととりあえず、やりたい事を達成する為に 必要な機能をおいかける様になりますな。
620 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 23:07:48.90 ID:30He22WI.net] 引数ありで起動した場合はフォームを表示させずに処理させたいんだけど……?(°_ 。)?(。_ °)?
621 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 23:12:48.41 ID:B8f0LaKL.net] 出来るよ
622 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 23:48:35.48 ID:n/bZLhLz.net] >>576 >>580 あおりじゃなく君たちがマジだったってのはわかったよ 質問者が明示的に指定した要望を満たす事だけを考えてるから話が噛み合わなかったのね 指定されたwhat
623 名前:が正しい前提でhowを考えるか 正しくない可能性も考慮してwhyを含めて考えるか 視点の違い [] [ここ壊れてます]
624 名前:デフォルトの名無しさん mailto:sage [2018/03/25(日) 23:59:44.77 ID:fmRuNsvM.net] 「○○なことがしたいんだけど…」 「その要望は正しくないから考えを改めるべきだ!」 正しくないからやらない プログラマとは思えない凄い斬新な発想だな
625 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:09:13.21 ID:v9FPJIaO.net] 素直に「ぼくにはできましぇん(泣)」って言えばいいのにね
626 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:11:47.31 ID:YTVmG1TL.net] 質問でも回答でもないレスは他でやれ >>607 わかりやすい方法の一つ Visual StudioでWindowsFormで作るとProgram.csが作られるから書き換える static class Program { [STAThread] static void Main(string[] args) { if (0 == args.Length) { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); return; } //ここから下に引数があった時の処理 } }
627 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:13:56.74 ID:m3Kkye2j.net] とりあえず初心者用スレで語るの辞めてもらえませんか
628 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:16:17.47 ID:QH+aPMzj.net] ヨーダ記法はやめてくれ…
629 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:24:06.83 ID:cY1aRMKv.net] >>610 設計しない下請けプログラマー的発想だな
630 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:31:10.42 ID:XKiwACKR.net] 元請けだと実際>>610 は普通にあるね ほとんど全ての案件において、客の妄想のとおりに作るなんて不可能だし、できたとしても結果的に客の利益にならない
631 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:36:48.08 ID:PvcYNBhB.net] >>615-616 よく知恵袋にいる質問者にSEKKYOしてる奴みたいなことしてんのか お前らさては無職だな?
632 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:42:45.85 ID:vpzWQp7E.net] またボケ老人同士のの繰り言合戦が始まった 繰り返すが、論点は>>521 ,>>529 的な仕組みが必要になるケースがあるかどうか。 恐らくないことはない。 一般論としては要件の合理性に疑問を持つことは悪くないが、 上記の通りこの件に関してはただの言い掛かり
633 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 00:50:14.64 ID:Dv2PEULu.net] より素晴らしい設計が本当に頭に浮かんでるならそれを見せればいいのにね 何も開示しない、ただ頭ごなしに否定するだけなら、言っちゃなんだけど何も作れない素人の戯言だよね
634 名前:デフォルトの名無しさん [2018/03/26(月) 02:26:07.62 ID:wzFW36Lw.net] こういうコントロールの構造なんですが、Buttonがクリックされた時にTextBoxの文字を変更したいんですが、どうするのがベストでしょうか? 今は、Buttonから、ParentでFormまで辿って、そこからTextBoxまで辿り着いてるんですが、凄い非効率な気がします・・・ これと同じ構造のインスタンスが最大70個くらい出来ます。 ↓ Form - Panel1 - Panel2 - TextBox - Panel3 - Panel4 - TabControl - TabPage - Panel - Button
635 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 02:43:07.18 ID:cavhWqCs.net] 直接インスタンスを指定できないの? private void Button_Click ( ... ) { this.HogeTextBox.Text = "hoge"; }
636 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 04:07:03.39 ID:AffV6ek/.net] イベントメソッドの共通化や、自作のボタンクラスの話だったりといった特殊なことをしたいのかな? 普通は上にある通りクリックイベントでテキストボックスの値を変えるだけ70個ボタンがあるなら70個書けばいいだけなんだけど
637 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 07:56:24.40 ID:M54ZFy+S.net] スタートボタンを押すとbackgroundworkerのwhileループを実行し、キャンセルボタンを押すと停止するプログラムを作りました これを9時になると自動でスタートし、17時になると停止するプログラムにしたいのですがどうすればいいでしょうか? 自動停止時にはキャンセルボタンを押した時と違いそれ専用の処理を行いたいです。
638 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 08:10:40.35 ID:DzDpiGFR.net] コントロールの種類・処理が異なるなら、 各コントロール毎に、イベントハンドラーを付ける 逆に、コントロールの種類・処理が同じなら、 各コントロールの親に、イベントハンドラーを付けて、親で処理する 同じような関数を、たくさん作るのは良くないから
639 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 08:15:42.61 ID:DzDpiGFR.net] >>623 「windows タスクスケジューラ」で検索!
640 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:37:28.74 ID:KMiayiKp.net] どういった方法を使えばいいかすらわかりません タスクスケジューラーはなしでやりたいです。
641 名前:デフォルトの名無しさん [2018/03/26(月) 12:43:13.71 ID:ErqiV+UW.net] 自分で自分を起動するメタプログラムやね
642 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:49:56.47 ID:ZELYO3P5.net] >>626 なんで? それだともうサービスアプリみたいな方法しかないけど 苦労の割にタスクスケジューラと変わんないよ
643 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:54:28.04 ID:4B0nX6es.net] >>623 タスクスケジューラなんて関係ないから騙されちゃダメwww 要は今はUIのボタンを押して人が手動で開始/停止してるのを 開始時刻/停止時刻で自動でやりたいってだけでしょ? そんなのタイマでも使って時計をポーリングするだけ。 何が難しいのよ逆に
644 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 12:59:57.75 ID:ZELYO3P5.net] アプリは起動してる前提でいいの? 終了してると動かないけど
645 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:02:31.43 ID:oo+qoL1t.net] 何が難しいかと言えば、ボタンが有るだけに「閉じるボタン」押されてアプリが落ちる件
646 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:06:38.61 ID:PvcYNBhB.net] また常駐アプリの概念すら知らない初心者が知ったかでアドバイスしてる
647 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:13:11.57 ID:4B0nX6es.net] これ前も書いたけど、常駐なんて概念は20年以上前のシングルタスクのDOSの概念 今時何の意味ももたない 何が知ったかだよアホかほんと
648 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:17:42.44 ID:xJxqYO19.net] マルチタスクで常駐が意味無いなんて初めて聞いたがどこ情報だよ ソース出してみ?
649 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:18:39.78 ID:4UQMW5SP.net] windowsで○○時にアプリを起動したいという目的に一番かなっているのはタスクスケジューラー linuxでもcron使う局面 ずっと起動しっぱなしのアプリやサービスでポーリングやタイマー使うこともできるけど無駄
650 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:21:52.38 ID:PvcYNBhB.net] >>635 『アプリを起動』なんて言葉は>>623 のどこにも書いてないけどな
651 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:28:09.86 ID:xpW3ZJwT.net] 単に起動するだけならタスクスケジューラーでよいと思うのですが 時間が過ぎたら、それ専用の動きをして停止したいのです なのでタスクスケジューラーでは難しいかなと timerで検索したり、同じような悩みの質問を探してみると必ず「タスクスケジューラー!」という回答者がいるのですが、求めているのはそれではないんです!
652 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:29:55.97 ID:4UQMW5SP.net] 時間が過ぎたらってただ単にDatetime.Nowが指定した時間を経過したかどうか調べるだけだけど
653 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:31:09.52 ID:xpW3ZJwT.net] >>629 タイマーを使って時計をポーリング? という方法で調べてみます ありがとうございます
654 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:32:01.24 ID:4UQMW5SP.net] backgroundworkerのwhileループで指定された時間を超えてるか調べる もし超えてたら何かをして終了
655 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 13:32:30.43 ID:xpW3ZJwT.net] >>638 その方法を調べてみます
656 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 14:27:09.74 ID:oo+qoL1t.net] >>632 ボタンが有るGUIのあるソフトなんだから、普通にユーザーがウインドウを閉じることを想定すべきだよ 対策は閉じるを無効にするとか、GUIと本体を分離するとか、ユーザー教育でなんとかするとか、パソコン自体をソレ専用にするとか 何処らへんで妥協するか考えないとな
657 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 14:47:34.51 ID:PvcYNBhB.net] 「大変!右上の×押したらプログラムが終了しちゃう!」 だから常駐化しろよって話だろ?
658 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 14:51:53.23 ID:b4TsAUH3.net] それでいつ開始すんだ? 朝7:00に起動するとして 前日18:00に閉じて 朝8:00に開いたので起動 でおk?
659 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 14:55:32.88 ID:EeYp3eGw.net] 聞かれとこと答えずに必要のないこと聞き返したり聞かれていないこと回答する人たち oo+qoL1t b4TsAUH3
660 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 15:04:02.11 ID:b4TsAUH3.net] >>645 いいじゃん 後は質問者が抜けを塞げばいいよ
661 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 15:08:18.93 ID:b4TsAUH3.net] 職業柄すべてのケースをマトリックスで表現しないと組ませてもらえないから気になるんだよ
662 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 15:09:01.34 ID:DzDpiGFR.net] ポーリングは、やったらダメなのが常識だろw 素人が助言してる CPU が動き続ける。 CPU使用率が100% になって、フリーズするだけw
663 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 19:03:18.07 ID:Hi5Z0lMV.net] >>648 1秒タイマーでもCPU負荷なんてゼロも同然だよ まさかノーウェイト全力ループさせることしか思いつかないとか?
664 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 19:06:27.36 ID:lrnbqywH.net] デスクトップアプリでAzureのデータベースと接続したいのですが、一般的に接続文字列等はどうやって隠蔽するんでしょうか ハードコーディングしてもリバースエンジニアリングされたらモロバレになるので気になります
665 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 19:12:25.54 ID:2N4AiZYB.net] >>650 sqlazure.jp/b/sqlazure/sqlazure_teamblog/336/
666 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 19:21:09.66 ID:Sl5sXtlN.net] >>650 FPGAまで落とし込むんだ
667 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 21:20:01.51 ID:e5zVULSK.net] 現在の日付時刻が設定した日付時刻より後か前か判断するにはどうしたらいいでしょうか? datetime同士で引き算とかは可能なのですか?
668 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 21:26:27.62 ID:SPNFNX7k.net] >>653 キーワードわかっているものはさすがにググれ https://msdn.microsoft.com/ja-jp/library/system.datetime(v=vs.110).aspx 減算・後の数値かどうか。メソッドも演算子も全部書いてある
669 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 21:52:26.85 ID:e5zVULSK.net] ありがとう御座います datetime同士の計算結果であるtimespanはtimespan>=0やtimespan<0で場合分けしても差し支えないのでしょうか
670 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 21:55:12.57 ID:VM7iT5OR.net] >>655 いや普通にDateTime同士で大小比較できるぞ
671 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 22:00:38.75 ID:/1kq2kd6.net] いや、それ以前に >>654 がせっかく > 演算子も全部書いてある って言ってるんだからちゃんと見ようよ https://msdn.microsoft.com/ja-jp/library/system.datetime.op_lessthan(v=vs.110).aspx
672 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 22:08:40.49 ID:e5zVULSK.net] なるほど、datetimeで大小比較すればいいのですね ありがとう御座います msdn分かりにくくありませんか? 難しい(*_*)
673 名前:デフォルトの名無しさん [2018/03/26(月) 22:18:02.65 ID:AHHYeqDL.net] >>658 分かりにく
674 名前:「よね 俺も前からそー思ってけど言い出しにくかった [] [ここ壊れてます]
675 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 22:36:24.40 ID:pJYeIgRu.net] unixtimeを4.0でDateTime型に変換するにはどうすればよかたい
676 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 22:42:13.90 ID:iiFlz3sh.net] >>660 4.0とは?
677 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 22:56:15.63 ID:e5zVULSK.net] backgroundworker開始時に次の17時になるdatetimeを取得してループ開始、ループ毎に現在のdatetimeと設定のdatetimeを比較して過ぎていたら停止させようと思うのですが 次の17時のdatetimeを取得する方法はありますか?
678 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 23:34:03.76 ID:Hi5Z0lMV.net] c# datetime unixtime
679 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 23:48:44.24 ID:lh4NSg1Q.net] >>662 datetimeそのものじゃなくても時間だけならHourを比較したらいいよ var h=Datetime.Now.Hour; if( h>=9 ){ ... } //9時以降なら
680 名前:デフォルトの名無しさん mailto:sage [2018/03/26(月) 23:56:49.96 ID:pJYeIgRu.net] >>661 .netです
681 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:02:34.95 ID:RoQzbf+s.net] >>664 それがすごい気になるんですが 9時以降っていうのは何時までを指すのでしょうか? 極端な話次の日の8時とかになっても条件を満たしますか?
682 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:06:42.35 ID:5DREL+sj.net] >>665 .NET Framework4.0のこと?もうとっくにサポート切れてるけど合ってる?
683 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:06:43.46 ID:1syCFnvF.net] どこ基準のUNIXTIMEか知らないけど1970年1月1日からの経過秒数だから var origin =new DateTime(1970,1,1); var unixtime=DateTime.Now-origin; タイムゾーンは自分で好きなようにしてください >>666 Hourはあくまでも時間の部分だけだから0時になったら満たさなくなる 条件はよく考えて自分で設定すること
684 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:08:14.05 ID:1syCFnvF.net] ああ抜けてる var origin =new DateTime(1970,1,1); var unixtime=( DateTime.Now-origin ).TotalSeconds;
685 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:20:12.69 ID:RoQzbf+s.net] なるほど、ではループが30分の場合 終了を23時50分に設定してしまうと止まらず動いたままになる可能性もあるということですね
686 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:30:37.92 ID:i+K8FLsM.net] >>662 var n = DateTime.Now; // 今 var s = n.Date.AddHours(17); // 今日の17時 var x = n < s ? s : s.AddDays(1); // 次の17時 while (DateTime.Now < x) { // 次の17時まで何かする }
687 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:33:39.52 ID:1syCFnvF.net] Datetimeのコンストラクタはいろいろなパターンがあるからどうとでも作れる DatetimeはTimespanを足して新しいDatetimeもつくれるので まあじっくり見て勉強することだな 終了条件をどのように設計してるのか知らないけど特定の日付の特定の時刻を設定してたら 途中で休止などして時刻を過ぎた後、再度復帰した場合すぐ終了してしまう そして、指定時間以降だったらまたすぐ動くことになる などどういうことを想定するよって何を選ぶかは変わる
688 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:34:17.93 ID:1syCFnvF.net] >>671 思いっきりバグコードだけど
689 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:36:06.00 ID:RoQzbf+s.net] >>671 これいいですね! 解決しそうです。ありがとうございます。 xの?や:の意味がわかりませんがとりあえずコピペします ラムダ式みたいなものかな?
690 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:36:42.86 ID:RoQzbf+s.net] >>673 !
691 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:38:51.06 ID:i+K8FLsM.net] >>673 えっ!?
692 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:40:05.98 ID:1syCFnvF.net] >>675 >>676 勘違いしてた 9時スタートで5時終わりの話を引きずってるのかと思ってた
693 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:42:26.00 ID:tVuDF99u.net] >>667 え、ソースは?
694 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:43:09.93 ID:RoQzbf+s.net] よかったです ?はifで:はelseみたいなものですかね? 便利ですね
695 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:46:08.70 ID:1syCFnvF.net] 16時59分スタートなら1分でストップ 17時00分ジャストなら次の日の17時まで24時間でストップ
696 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:52:08.65 ID:i+K8FLsM.net] >>671 は17時直前に呼び出すと何もしないで終わる可能性があるな do whileのほうがいいかもしれん
697 名前:デフォルトの名無しさん [2018/03/27(火) 00:52:53.72 ID:dhIDlkWy.net] 終了を17時30分にしたい場合は以下のようなコードで大丈夫でしょうか? var n = DateTime.Now; // 今 var s = n.Date.AddHours(17).AddMinutes(30); // 今日の17時30分 var x = n < s ? s : s.AddDays(1); // 次の17時30分 while (DateTime.Now < x) { // 次の17時30分まで何かする }
698 名前:デフォルトの名無しさん [2018/03/27(火) 00:54:52.06 ID:dhIDlkWy.net] >>680 こんな感じでも特に問題はありません。 むしろわかりやすくて希望通りです。
699 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:55:47.09 ID:7SLvU9BO.net] DateTimeなんてめったに使わんけど、使ってみたら値型のくせにイミュータブルで なんだか使いづらいね // 時分秒が指定した値となる現在より後の直近の日時を返す public static DateTime GetNextDateTimeFromNow(int hour, int min, int sec) { var now = DateTime.Now; var next = new DateTime(now.Year, now.Month, now.Day, hour, min, sec); return next > now ? next : next.AddHours(24); }
700 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:56:05.12 ID:1syCFnvF.net] >>682 試せばいい DateTime.Nowじゃなくて自分てnew Datetime()して 自由にnを作って試せばいい
701 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 00:59:24.75 ID:1syCFnvF.net] >>684 AddHours(24)なのはなぜ? うるう秒があったらずれる(そんな仕組みは多分ないけど)
702 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:00:54.28 ID:1syCFnvF.net] AddDaysでもずれるか
703 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:04:20.64 ID:5DREL+sj.net] >>678 ググれば一発やろ
704 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:05:23.72 ID:Q5x4N+CR.net] 無限ループやってる奴はわざとなのかガチなのか
705 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:11:21.45 ID:t3gWSj15.net] 仕様が全く見えて来ない
706 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:13:48.60 ID:t3gWSj15.net] 9:00~17:00でいいんだよな?
707 名前:デフォルトの名無しさん [2018/03/27(火) 01:16:52.17 ID:dhIDlkWy.net] とりあえずその時間帯ですが21時から5時までとかにも対応するようにしたいです。 とりあえず出来そうです助かりました。
708 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:17:51.30 ID:5DREL+sj.net] >>669 .NET4.6以降ならBCLに専用のAPIが用意されてるからこんなことしなくていいんだけどね
709 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:19:00.55 ID:tVuDF99u.net] >>693 糞会社が4.0止まりなんだ
710 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:20:41.65 ID:rY6p5Eum.net] >>694 4.0はもうサポート対象外だし、Windows Server 2012も非対応なのに使わざるを得ないとか同情するわ
711 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:24:49.59 ID:t3gWSj15.net] >>692 最大実行時間は何時間なん? 21時〜3日後の21時までなんて可能性は排除できるん? 平日と休日とで違いはないん? とかね なんか仕様がモヤっとしてんじゃん
712 名前:デフォルトの名無しさん [2018/03/27(火) 01:30:08.36 ID:dhIDlkWy.net] >>696 だいたい8から13時間程度の稼動になります!
713 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:30:24.22 ID:ff4RZBmU.net] 4.X系ならアップグレードのコストはそんなにかからないだろうに お前が変えさせるか、辞めちまえ
714 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:36:06.94 ID:t3gWSj15.net] >>697 最大よ最大 返答に範囲が返って来ると気が狂うん イレギュラーケースの最大を聞いてん
715 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 01:49:34.53 ID:XpaqG/wa.net] 最大13時間です! すいません!
716 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 03:45:35.94 ID:7OwU1Hvz.net] 同期プリミティブ www.tokumaru.org/techterm/primitive.html ポーリングは、ダメの見本。常識 ランデブーとか、待ち合わせしたいだけだろ。 それ
717 名前:ゥ、非同期で、callback してもらえば良いだけw [] [ここ壊れてます]
718 名前:デフォルトの名無しさん [2018/03/27(火) 04:03:08.18 ID:E80vD2cb.net] task.delay(100)とTheading.sleep(100)ってどう違うの?
719 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 07:45:14.33 ID:i+K8FLsM.net] 素人ってやたらとポーリングを嫌うよね
720 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 09:12:45.31 ID:8h15hFzc.net] CPU100%とか言ってるし無限ループと勘違いしてるんだろ
721 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 09:37:19.37 ID:84JRCCml.net] まあ素人さんはしょうがない
722 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 09:39:14.11 ID:kmAPzdoZ.net] >>702 Thread.Sleepは指定した時間自分のスレッドを停止する Task.Delayは「指定した時間停止するスレッド」を生成する Task.Delayは単独では意味がないのでawaitなりContinueWithなりする
723 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 09:48:09.70 ID:rY6p5Eum.net] async/awaitの勉強しているんだが、async voidやasync Taskのメソッドをawait無しで呼び出したらそのメソッドの処理は投げっぱなしになるの?
724 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 10:48:57.49 ID:fbReATtq.net] そだよ。
725 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 12:21:35.26 ID:7OwU1Hvz.net] そもそも、MS が、50ms 以上掛かる処理は、同期処理するなって言ってるだろ。 非同期処理にして、callback してもらうようにって 「ポーリング」で検索して、色々な記事を読め
726 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 12:28:13.60 ID:xeybzECW.net] 何がそもそもなんだw >>709 の世界ではDateTimeの比較演算に50msもかかるのかw 30年前のPC-98だってそんなにかからないと思うけどww ネタなのかマジなのか知らんけど、そもそもHW資源を直接触れないOS上で動くコードは 一件コールバックのように見える処理も実態はポーリング 単にそれがシステム側のコードに隠蔽されてるだけ
727 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 12:35:46.40 ID:GW1/xmrB.net] spin lock なんてものは無かったんや いやぁ勉強になるなぁ
728 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 12:38:24.18 ID:rY6p5Eum.net] >>708 サンクス
729 名前:デフォルトの名無しさん [2018/03/27(火) 12:39:38.04 ID:nnyxYnJQ.net] 元々タスクスケジューラで十分な話をよくもここまで長々と続けられるな
730 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 12:44:03.80 ID:Eb35YKQg.net] 質問にとは関係ない部分で知識をひけらかしたい奴がいるから
731 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 13:12:24.26 ID:8gmuwQWV.net] 仮にオレがこのソフトを作るとしたら、NotifyIconのデザインで小一時間悩むところから始まるだろうね
732 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 13:45:19.52 ID:7OwU1Hvz.net] 何時間も待つ処理だろ。 50ms を超えてるから、非同期処理を使えって、MS が言ってる 自分でプログラミングで、ポーリングしたらダメ OS の内部処理とは関係ない
733 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 13:53:27.94 ID:Eb35YKQg.net] 思い込み激しい奴だな
734 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 14:12:37.92 ID:9YSJ28+H.net] 指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか? c:\test aaa.txt bbb.txt ccc.txt ...etc 指定したディレクトリの中に複数のファイルがあります。 その中にある特定の文字列を全て一括で置換したいです。 アンパンマン → バイキンマン といった具合です。
735 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 14:24:49.80 ID:zZm0N0X4.net] スレチ
736 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 14:35:31.77 ID:ClOSXPHI.net] 1秒タイマーでタイムアウトするたびに目的の時刻を越えたか 調べるだけでいいじゃないの 違ったら即抜けるだけなのに、50msも掛かる処理じゃねーよ なんでわざわざタスクスケジューラー使わにゃならんのだ
737 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 15:21:58.88 ID:1rmw5Lza.net] >>709 ぜんぜん理解してないじゃん
738 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 18:28:00.64 ID:84JRCCml.net] コミュ障は病気だからやむを得ないが 読解力は人並みに身につけてから書き込んで欲しいよなw
739 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 19:38:51.59 ID:8gmuwQWV.net] タイマーのインターバルは10秒とか100秒だけじゃなくて、10年でも100年でも設定できるんだから 起動時に開始と停止までの時間を計算してタイマー設定すれば ポーリングしなくても良いんじゃね?
740 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 19:41:02.82 ID:RNGaKb4X.net] >>723 時刻合わせせずPCの時計を常に基準にするのか というか仕様や設計の話は他でやってくれないかな
741 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 19:46:25.47 ID:a4CYTpTn.net] >>723 Timerのインターバルはint型でmsec指定 1年の秒数は31536000秒 あれぇ?
742 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:12:24.26 ID:foR5XOpk.net] >>724 PCの時刻を基準にしないでどうすんの? 純粋に興味あるから教えてくれ
743 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:34:44.17 ID:8gmuwQWV.net] >>725 wpfばかり使ってたんで、DisptcherTimer基準にしていたわ 悪いな
744 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:36:49.79 ID:D1lCzr9q.net] 初心者の陥りがちなミス Timeの精度を信用してしまう 途中で時刻修正の入る場合などを考慮しない
745 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:40:14.18 ID:8gmuwQWV.net] >>724 今のPCはネットに繋がっていれば時間は自動で合わせてくれる インターネットに繋がっていない前提ですか?
746 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:42:13.82 ID:RAm1FIuU.net] そおです
747 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:51:58.53 ID:SJRVUf0s.net] >>710 30年前ってPC9801あったっけ?
748 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:56:33.38 ID:vavxlF2f.net] >>731 初代は1982年(36年前)
749 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 20:58:54.08 ID:FNmJga7y.net] こういうインフラの煩わしい制約からコアになる処理を分離したい ワーカー側は終了再開するためのapiを用意して時間や終了再開するタイミングの事は一切考えない 時間を管理するクラスが適切なタイミングでそれらのapiを実行する というのが正解な 時間管理クラスが内部でループぶん回そうがシステムコール使おうがそれはどうでもいい
750 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:05:37.51 ID:D1lCzr9q.net] c#環境では指定時刻にイベントを起こすAPIは用意されてない
751 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:12:23.97 ID:9YSJ28+H.net] 指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか? c:\test aaa.txt bbb.txt ccc.txt ...etc 指定したディレクトリの中に複数のファイルがあります。 その中にある特定の文字列を全て一括で置換したいです。 アンパンマン → バイキンマン といった具合です。
752 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:13:34.93 ID:D1lCzr9q.net] >>735 スレチ ここはc#のスレ
753 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:14:46.44 ID:1tsj2UvO.net] >>701 callbackはどんな条件のものをどうやって作るんだ >>729 時刻合わせのタイミングでインターバル補正するコードは思いつかないな 時間定期的にcheckするだけのものをどこまで難しくする気だコイツら
754 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:22:44.33 ID:rY6p5Eum.net] >>737 お仕事でなんでこの仕様からこんな糞コードが生まれるんだろと不思議に思うことあるけど、このスレの流れ見たらある意味納得だわ
755 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:23:33.47 ID:8gmuwQWV.net] >>737 1秒ポーリングでも最大1秒弱の誤差が出るわけだが、内蔵時計ってそこまで精度悪いの? 実用上問題ない誤差に見えるがちょっと気にしすぎじゃね?
756 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:30:26.48 ID:xeybzECW.net] どうでもいい そんな盛り上がるネタじゃないだろうw いい加減止めたら?
757 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:43:38.37 ID:RAm1FIuU.net] 他に居場所がないのでしゅよw
758 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 21:44:08.38 ID:FNmJga7y.net] 悲しいね
759 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 22:08:17.45 ID:t3gWSj15.net] 1秒ポーリングでやろうぜ 現在時刻が開始〜終了時刻の範囲 起動Flagなし 起動処理 起動Flag立てる 現在時刻が開始〜終了時刻の範囲外 起動Flagあり 終了処理 起動Flag下ろす (*゚∀゚)bできた!
760 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 22:29:48.19 ID:FkzRU/Z7.net] 回答者の方は基本情報持ってるもんですか?
761 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:11:24.08 ID:a4CYTpTn.net] 持ってるけど少し勉強すれば誰でも取れる資格に意味なんてあるの? 精々資格手当で給料が5000円プラスされる程度の価値しかないぞ
762 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:19:17.56 ID:LCPGZ3qz.net] 5000円の価値も分からないとか働いたことないのかな?
763 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:32:40.08 ID:FNmJga7y.net] うちは1万増える
764 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:34:25.90 ID:zFrY2ZyB.net] 5,000円も上乗せとかウラヤマ過ぎだろ うちなんて高度取っても報償金30,000円だけ 基本や応用ではなにもでない
765 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:42:52.53 ID:7OwU1Hvz.net] 10年以上やってる奴でも、基本情報技術者は取れない 大卒の新米が、こんなの簡単に取れますよねって言ったら、 中堅社員は皆、新米をにらみつけていたw 企業の資格取得率は、年1%(100人中1人)ぐらいだろ。 10年いても、9割の社員は、資格を取れない
766 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:53:23.07 ID:FNmJga7y.net] 申し込みしたけど忙しくて受験できない人は沢山居るけど受験して落ちる人はいない
767 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:53:50.72 ID:3aWOhLkC.net] 俺は応用情報まで持ってて+1万だなー >10年以上やってる奴でも、基本情報技術者は取れない ……冗談だろ?
768 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:58:15.55 ID:3aWOhLkC.net] さておき、建築士だの医師だの弁護士だのみたいに 「この職務に就くには、○○の資格が必要」とかいう業界じゃないんで 本当に、ただ給料が増えるだけではあるな (採用試験でもまあ有利にはなるかもしれん) 増えたら増えただけ嬉しいもんではあるが 年間で+12万なら、家電の買い替え費用くらい楽に捻出出来るし
769 名前:デフォルトの名無しさん mailto:sage [2018/03/27(火) 23:58:26.75 ID:9YSJ28+H.net] 定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか? c:\test aaa.txt bbb.txt ccc.txt ...etc 指定したディレクトリの中に複数のファイルがあります。 その中にある特定の文字列を全て一括で置換したいです。 アンパンマン → バイキンマン といった具合です。
770 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 00:00:54.89 ID:02fULCHO.net] botかな
771 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 00:09:13.46 ID:pf/Jvdmo.net] >>752 普通は資格手当ては基礎賃金扱いだからボーナスや残業計算対象でもっと貰えるよ 基本情報で5000は羨ましいけど資格手当て込みのベースにしてるパターンもあるから一概にいいとはいえないかもね
772 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 00:16:20.41 ID:0was1dJs.net] Ruby の、Dir.glob で書ける Dir.glob('C:/test/*.txt') do |file| # gsub(/アンパンマン/, 'バイキンマン')で全部を置換する end
773 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 00:44:23.36 ID:Im6j951B.net] C# もしくは 既に要件を満たすツールがあれば教えてください。
774 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 01:02:57.21 ID:GnpAMkN4.net] >>753 マジレスするとVisualStudioで可能
775 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 01:13:32.94 ID:qs/6O+TS.net] >>757 WindowsでC#使ってるならVisual Studio使ってるんだろ? フォルダーを指定して置換でいいと思うが https://msdn.microsoft.com/ja-jp/library/a40ywt0a.aspx
776 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 07:24:31.11 ID:1/4U3eU2.net] >>753 awkやろ 百歩譲ってRubyとかのP系言語 C#は向いてない
777 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 07:34:12.04 ID:NtzDkwr+.net] powershell
778 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:10:34.35 ID:LHMXaAz3.net] public Pixel(IList<byte> data, int index) { B = data[0]; G = data[1]; R = data[2]; Index = index; } var list = new List<(int x, int y)>(); // 何故か背景色がFFA07A固定なのでそれ使って適当に list.AddRange(pixels.Where(x => Math.Abs(x.R - 0xFF) < 5 && Math.Abs(x.G - 0xA0) < 5 && Math.Abs(x.B - 0x7A) < 5 ).Select(x => (x.Index % width, x.Index / width))); ビットマップをPixelクラスに読み込んで特定の色(FFA07A)のピクセルを検出しているのですが (x.R - 0xFF) < 5 ここのRGBから16進数をマイナスして5未満の意味がわからないのですが なぜこんな計算をしているのでしょうか?
779 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:12:50.37 ID:6nNahb2+.net] 止まるんじゃねぇぞ…
780 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:21:23.63 ID:Im6j951B.net] >>759 VS2017にそんな機能があったんですね。便利! VS2010じゃその機能はないよね?
781 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:33:50.78 ID:r3METhPg.net] >>762 そのコードを書いた奴に聞けよ
782 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:42:38.68 ID:qs/6O+TS.net] >>764 2008 でもある https://docs.microsoft.com/ja-jp/previous-versions/visualstudio/visual-studio-2008/a40ywt0a(v=vs.90) たぶんもっと前からあったような気がする
783 名前:デフォルトの名無しさん mailto:sage [2018/03/28(水) 22:52:23.87 ID:Im6j951B.net] >>766 知らなんだ。サンクス
784 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 00:01:16.76 ID:LDL0rnP5.net] >>762 その前にMath.Absが付いとるじゃろ 目的の値との差をとって、その絶対値が5未満 つまり、ぴったり一致しなくても±4までの誤差ならOKとしている
785 名前:762 mailto:sage [2018/03/29(木) 00:10:37.10 ID:3/dH7jim.net] >>768 なるほど!誤差の為ですか ちょっとした技を使ってたんですね ありがとうございました。
786 名前:デフォルトの名無しさん [2018/03/29(木) 12:17:07.66 ID:48quLBzg.net] 質問です。よろしくお願いします。 ttps://tb.click-sec.com/fx/historical/historicalDataDownload.do?y=2018&m=01&c=21&n=USDJPY をブラウザで開くとzipファイルのDLが始まるので、これをC#でDLしようと思ったのですが、 このURLのままだとSystem.Net.WebClient.FileDownloadでもWebBrowserコントロールで開いてもzipファイルのDLができません。 どうすればいいのでしょうか。 👀 Rock54: Caution(BBR-MD5:8e40a50a3146c71e5aa506574dbd07bd)
787 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 12:30:39.81 ID:49BUJ49m.net] 諦める
788 名前:770 mailto:sage [2018/03/29(木) 12:50:22.61 ID:48quLBzg.net] IEに開かせればできるかもと思ったのでやってみます。
789 名前:デフォルトの名無しさん [2018/03/29(木) 14:42:04.00 ID:fRxUhejE.net] すまんが、イベントハンドラーを空っぽにするのってどうやんの?
790 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 15:00:44.15 ID:mcXZqOx8.net] nullから空っぽのラムダ式を入れる もしそのイベントを持つクラスの外からやりたいと言ってるならそれは無理 無理と言うより、そんなことをしたいと思うこと自体が間違ってる
791 名前:デフォルトの名無しさん mailto:sage [2018/03/29(木) 19:35:16.02 ID:2ivypk2R.net] >>773 -= イベントハンドラ;
792 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 11:54:45.53 ID:LK6mi3V8.net] ユニットテストについて質問 例えば計算クラスのテストをするときは [TestCase(-2, 2)] public void AbsTest(int a, b){ int n = Math.Abs(a); Assert.AreEqual(n, b); こういう風に正しい値を予め手計算で用意しておくものなの?
793 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 12:24:31.95 ID:Aig7x3ki.net] >>776 一般的にはその通り 間違っても n = a < 0 ? -a : a とかやってはいけない ちょっと考えたら分かると思うけど、そういうのは全く意味のないオレオレテスト 手計算がどうしても困難なら、デバッガで動かしてその結果が合ってるかを検証してその値をコピペしとけ 少なくとも意図しないデグレの検出には役立つ
794 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 12:34:29.62 ID:LK6mi3V8.net] >>777 ありがとう! チェック項目が増えると引数が酷いことになるから何か間違えてるのかと思ってた
795 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 12:46:02.45 ID:Aig7x3ki.net] >>778 それはテストの観点を適切に直行化できてないんじゃないか? 引数xが3以上のとき結果は必ず負になることが期待されるとしたら、 テストは3と3を超える値を引数に入れて、それぞれの結果yについて y < 0 が真となることを確認すればいいんだぞ 何を確かめたいのかを明確にしてそれをそのままコードで書くんだよ
796 名前:デフォルトの名無しさん [2018/03/30(金) 14:10:01.41 ID:tnFi4c/U.net] LinqのJoinメソッドに渡すメソッドなんだけど、ラムダ式で書く方法が全然理解できないぜ・・・・ 多分、掲示板で解説するのも難しいと思うので、やさしく解説してるページやら本やらがあったら教えて!!!
797 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 14:45:38.48 ID:L1eApEVG.net] >>780 どれがわかりやすいかなんて人それぞれだから宛にならないよ ラムダ式でぐぐって良さそうなら熟読してわからない所を質問するといい
798 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 14:48:53.79 ID:CpZcazmB.net] ラムダ式とか正規表現とか、記憶してるやついないから大丈夫 毎回ググればいい
799 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 15:28:55.57 ID:87KFZNYL.net] ラムダ式って、無名関数の構文糖だろ func (引数1, 引数2) => 戻り値 (a, b) => result
800 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 16:00:30.28 ID:BIk3pBCX.net] λを採用した祖の言語LISPなんてわざわざ(lambda〜)と毎回書いてるのに変な略称=>なんて許されんばい λと書きんしゃい
801 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 16:46:29.66 ID:kajlCXLR.net] またはじまった
802 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 17:32:32.77 ID:+cAt7TAV.net] ランバダのPVはエロかったなあ 関係ないけど
803 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:08:45.57 ID:qHFB3R53.net] >>780 この本よかったぞ 基本的な知識はあるがLINQ、ラムダ、推論型の知識があやふやならおススメ 「C#プログラマーのための 基礎からわかるLINQマジック! 」 https://www.amazon.co.jp/dp/product/B01FEZ7QNY/ref=as_li_tf_tl?camp=247&creative=1211&creativeASIN=B01FEZ7QNY&ie=UTF8&linkCode=as2&tag=bookmeter_book_image_image_pc_logoff-22
804 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:19:24.61 ID:LI6oPksr.net] 人脈?
805 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:25:17.02 ID:QYlpMr10.net] 質問失礼します。 以下のようなプログラムを書いたところコメントに書いたようなメッセージが表示されますが、 このメッセージに従ってインライン化しようにも、どのように修正すれば良いか分かりません。 これはIDEのバグだと思って無視しても良いものなのでしょうか。 インライン化の有無は可読性だけの問題でパフォーマンスなどに影響はないのだと思いますが、 このようなメッセージが表示されたままプログラムを完成とするのはあまり気分がよくありません。 プログラムの修正方法や、このようなメッセージに対する考え方など、 分かることがあれば教えていただけないでしょうか。よろしくお願いします。 static void Main(string[] args) { void getMessage1(out string _message) => _message = "x is 1."; void getMessage2(out string _message) => _message = "x is not 1."; int x = 1; string message; // IDE0018 変
806 名前:数の宣言をインライン化できます if (x == 1) { getMessage1(out message); } else { getMessage2(out message); } Console.WriteLine(message); } [] [ここ壊れてます]
807 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:42:11.73 ID:q+LDJ3nt.net] そんなもん買っても十中八九忘れる 基本ネットに転がってるコピペで食いつなぐのが一流
808 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:44:40.56 ID:LI6oPksr.net] >>789 なんでoutを使うのかが分からないんだけど
809 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:49:12.82 ID:+cAt7TAV.net] >>789 "IDE0018"でググったら一発で解説が見つかるんだけどw 何でその長文タイプうする前に検索しないのよw そこが分からん
810 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:57:29.01 ID:roepBgfb.net] >>789 これ、どうしろって言ってん?
811 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:57:31.26 ID:LI6oPksr.net] >>792 そういうことを言ってるんじゃないと思うけど… 手元にあるc#7.1じゃ再現しないんだけど
812 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 18:59:03.69 ID:LI6oPksr.net] 普通に考えるとスコープから外れるからインライン化できないはずなのにインライン化を進めてくるってことでそ
813 名前:789 mailto:sage [2018/03/30(金) 19:11:19.76 ID:QYlpMr10.net] 早速たくさんのレスありがとうございます。 お返事に少し時間がかかってしまいそうなので、上から順に書き込みたいと思います。 お待たせしてしまって申し訳ありません。 >>791 レスどうもありがとうございます。 色々なクラスで定義されているTryParseやIDictionaryのTryGetValueは 使いやすいと感じていて、それを参考に定義したメソッドをifの内側で使おうとしたのが >789のようなプログラムを書いた経緯です。 しかし確かに複数の情報を返却したければそれ用のクラスを定義すれば良いことですし、 C#7ではタプルも構文化されているので、もはやoutは時代遅れということでしょうか。 C#にはいくつか負の遺産もあるということなので、その辺りについても勉強したいと思います。
814 名前:789 mailto:sage [2018/03/30(金) 19:21:12.54 ID:QYlpMr10.net] >>792 説明が不十分で申し訳ありません。 >>795 の方が分かりやすく説明してくださっているので蛇足になってしまうかも知れませんが、 私が検索した範囲では、 string message; getMessage1(out message); は getMessage1(out string message); に直せば良いということは分かったものの、変数の定義と関数の呼び出しとの間に (今回の例のifのような)別のコードがあって、それが移動できないように見えても メッセージが表示されてしまう場合があるということです。 ただ、「移動できないように見える」という部分に自信がなかったのと、 仮にそれが正しかったとしてもこのようなメッセージをどの様に受け止めれば良いのかが よく分からなかったので質問させていただきました。
815 名前:789 mailto:sage [2018/03/30(金) 19:31:31.59 ID:QYlpMr10.net] >>793 IDEがなんと言ってきているのか、とういことでしょうか。 サンプルコードを空行も含めて上から数えて7行目のコメント文なのですが、 「IDE0018 変数の宣言をインライン化できます」というメッセージが表示されます。 それとも、私がどのようなお返事を期待しているかとういことであれば、 このメッセージに対処するためのプログラムの修正方法や、 このようなメッセージに対する考え方などを教えていただけないかと考えています。 しかし、私の期待していること自体が見当はずれということもあると思うので、 それ以外でも何か気がつくことがあれば教えていただけると嬉しいです。
816 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 19:34:47.70 ID:roepBgfb.net] msに これ壊れててん? ってメール出してみよう
817 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 19:44:57.86 ID:DYwliZHB.net] VSとターゲットのフレームワークのバージョンを書いてないのがいまいち
818 名前:789 mailto:sage [2018/03/30(金) 20:00:44.22 ID:QYlpMr10.net] >>794 早速検証までしていただいてどうもありがとうございます。 また、本来書くべきC#のバージョンが抜けてしまっていて申し訳ありません。 >>789 を始めに確認したときのターゲットフレームワークは4.6.2だったので、 以下の対応表によればC#のバージョンは6.0ということになるのでしょうか。 https://qiita.com/nskydiving/items/3af8bab5a0a63ccb9893 しかし、その後ターゲットフレームワークを4.7.1や3.5に変更して試してみても やはり同じメッセージが表示されました。 あと、これも後出しになってしまって申し訳ないのですが、 あからさまな構文エラーと違ってこのメッセージはコンパイルするまで表示されないようです。 IDEはVisual Studio 2017を使用していて、OSはWindows 10 Pro 64 bitです。 他に何かお伝えすべきことがあれば教えていただけると嬉しく思います。 よろしくおねがいします。
819 名前:789 mailto:sage [2018/03/30(金) 20:06:29.84 ID:QYlpMr10.net] >>795 分かりやすく補足していただいてどうもありがとうございます。 C#のバージョンについてもそうですが、正確にお伝えするための情報の確認が不十分でした。 これはプログラミング以前の問題だと思うので気をつけていきたいと思います。申し訳ありません。
820 名前:789 mailto:sage [2018/03/30(金) 20:18:53.64 ID:QYlpMr10.net] >>799 アドバイスどうもありがとうございます。一日程度このスレッドを拝見してみて、 私の勘違いという証拠が見つからなければマイクロソフトに報告してみようと思います。 報告する場合、Visual Studio の 「ヘルプ(H)>フィードバックの送信(F)>問題点の報告(P)」を利用しようと考えていますが、 もし他におすすめの連絡先などがあれば教えていただけると嬉しく思います。
821 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:21:01.69 ID:keCNvJ3G.net] つまりこう書けるよってことじゃないの? if(x == 1) getMessage1(out string message); else getMessage2(out string message);
822 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:23:34.69 ID:sxHgkaP9.net] >>803 https://www.google.co.jp/search?client=opera&q=IDE0018&sourceid=opera&ie=UTF-8&oe=UTF-8 https://vimalakitty.blogspot.jp/2017/09/10-01.html
823 名前:789 mailto:sage [2018/03/30(金) 20:32:11.02 ID:QYlpMr10.net] >>800 おっしゃる通りで、大変失礼いたしました。申し訳ありません。 >>801 と内容が一部重複してしまいますが、これまでの内容を改めて整理したいと思います。 (これまでいただいたレスの表現を一部お借りしています) 問題の概要: 関数のout引数に関して、スコープから外れるためインライン化できないと思われる場面で インライン化を推奨するメッセージが表示されることがある 問題を再現するコード及びメッセージの内容: >>789 問題が再現する環境: Windows 10 Pro 64bit Visual Studio 2017 ターゲットフレームワーク:3.5/4.6.2/4.7.1 で確認 備考: コードのコンパイル後にメッセージを確認 以上です。他に何か書くべきことがあれば教えていただけると嬉しいです。 どうぞよろしくお願いいたします。
824 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:37:12.26 ID:+cAt7TAV.net] >>803 何でそうなるw だから、まずググろうよ"IDE0018"で そうすればこれはC#7の追加機能に起因する警告であり、不具合ではないとすぐに分かる。 何でそんな長文タイプする手間は惜しまないのにちょっと検索する手間は惜しむのよw 意味が分からん ちなみに、この警告を無視するにはこうするんだってさ https://developercommunity.visualstudio.com/content/problem/159716/is-there-a-way-to-disable-ide0018-globally.html これもググってれあばすぐに自分で見つけられてるはず
825 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:40:09.19 ID:keCNvJ3G.net] 一行ならブロックスコープ外せるから>>804 だと思うんだけど自分の6.0環境では試せなくて悲しい
826 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 20:59:52.66 ID:keCNvJ3G.net] ごめん、無理だね ブロック外してもスコープはローカルになっちゃうみたい
827 名前:789 mailto:sage [2018/03/30(金) 21:13:54.63 ID:QYlpMr10.net] >>804 >>808>>809 修正方法のご提示とご検証どうもありがとうございます。問題は>>809 にお書きいただいたとおりです。 ただ、お書きいただいた通り問題はスコープにありますので、 Console.WriteLine(message);をifとelseの両方の中に書けばこの問題は起こりません。 この程度の内容を2回書くことは大した問題になりませんし、 この部分に対応するコードが長くなってしまった場合もメソッドとして切り出せば同じことですので、 いただいたレスを読みながら、>>789 のようなプログラムを書くこと自体が筋が悪くて、 やはり>>804 に適合するプログラムになるよう全体を修正するべきなのかなとも考えました。 ただ、メソッドとして切り出す方法であらゆる状況に対応できるかどうか自信がないので、 いずれにしても確信は持てていない状況です。
828 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:24:37.09 ID:DYwliZHB.net] >>807 いつまでトンチンカンなこと言ってんの?
829 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:25:20.49 ID:DYwliZHB.net] 例のおじいちゃんかよ レスして損した
830 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:28:28.22 ID:+cAt7TAV.net] >>811 トンチンカンでもおじいちゃんでもないからw こんなググればすぐに理由も対処法もわかる話でMSにクレーム付けたら 質問者が恥をかくだけ
831 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:30:10.03 ID:DYwliZHB.net] NG推奨
832 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:30:33.31 ID:roepBgfb.net] >>813 じゃ、どうしろって書いてあんの? リンクのどこ見ればいいかわかんないよ 対象のコード貼ってくれ
833 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:30:33.58 ID:+cAt7TAV.net] >>814 もうした
834 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:31:54.48 ID:DYwliZHB.net] おじいちゃんに触れても無駄だよ いつまでも間違いに気づいてないしレスも読んでないから
835 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:32:50.48 ID:+cAt7TAV.net] >>815 無視するか気になるなら>>867 で対処する 当たり前でしょう
836 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:33:56.46 ID:roepBgfb.net] >>818 じゃ、バグってんじゃんw
837 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:34:34.33 ID:+cAt7TAV.net] >>819 だから何でそうなるw 意味が分からない
838 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:35:21.33 ID:DYwliZHB.net] >>819 おじいちゃんはまだ何が起こってると言う話なのか判ってないからレスしても無駄 スコープもわからないから
839 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:36:16.37 ID:+cAt7TAV.net] >>821 トンチンカンなことを言ってるのは君の方なんだけど、自覚がないってのは幸福でいいねw
840 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:37:18.61 ID:roepBgfb.net] >>820 いや、バグでしょコレ だってこんなん指摘してきた同僚がいたらキチガイじゃん
841 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:37:22.84 ID:MnRWcQoL.net] >>810 Visual Studio のバグでしょ とりあえず頓珍漢野郎の>>807 のリンク先に抑止方法書いてあるからそれでしのげばいいかと
842 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:38:22.07 ID:+cAt7TAV.net] っていうか、>>789 みたいなコードが警告されるのはむしろ当たり前。 outの変数を使いまわしするなんてよい作法とは言えないからだ
843 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:39:20.19 ID:DYwliZHB.net] ジジイはトンチンカンすぎてダメだな いつまでたっても成長しない
844 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:40:20.48 ID:MnRWcQoL.net] 使い回しとかほんとに意味わかってないんだな w
845 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:41:00.76 ID:roepBgfb.net] >>825 使うからoutしてんじゃん ガイジが過ぎるぞ自重しろ
846 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:41:07.53 ID:+cAt7TAV.net] しかし、バグバグいってる連中はちゃんとググって解説記事読んでるのかねw こんなのが同僚だったら張り倒すよw
847 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:41:48.65 ID:DYwliZHB.net] ジジイは失礼なので取り消しておじいちゃんにまた戻す
848 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:42:50.83 ID:roepBgfb.net] >>829 ありえねーレベルのアホだなw outしたの使わないでどーすんだよ
849 名前:789 mailto:sage [2018/03/30(金) 21:45:40.64 ID:QYlpMr10.net] >>805 参考ページのご紹介どうもありがとうございます。 このページは拝見したのですが、問題の解決に至る道筋を見つけることができませんでした。 (確認したページのうち主要なものはあらかじめお伝えしておくべきだったかもしれません。 申し訳ありません。) 質問させていただいている身でこのようなことをお願いするのは大変心苦しいのですが、 もしお時間に余裕がありましたら具体的な修正方法のご説明をお願いすることはできませんでしょうか。 ご説明の中で私の疑問を理解していただければ幸いですし、 いただいたご説明で問題が解決できれば願ってもないことです。 煽るような文章で答えを引き出すような形になってしまい大変申し訳ありませんが、 私の説明能力の無さゆえの苦肉の策ということで、どうぞ失礼をお許しください。
850 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:46:08.85 ID:rq+fXpbo.net] ガイジでいいだろ 本人もそう言ってる
851 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 21:49:29.47 ID:DYwliZHB.net] >>832 とりあえず別のことに時間使ったほうがいいよ ひまーな時に思い出して修正されたか確かめるといい うちじゃ全然再現されないからどうしようもない
852 名前:789 mailto:sage [2018/03/30(金) 22:03:34.15 ID:QYlpMr10.net] ID:+cAt7TAV 様 警告の抑制方法についてご案内いただきどうもありがとうございます。 他に解決策が見つからなければマイクロソフトに問題を報告し、 マイクロソフトに修正していただけるまで教えていただいた方法で警告を抑制したいと思います。 ただ、他の方にいただいたレスも拝見し、やはり私としてはこのメッセージが適切であるとは確信できずにいます。 もしお時間に余裕がありましたら、>>832 のお願いを ID:+cAt7TAV 様にもさせていただけないでしょうか。 お願いの方法も内容も大変失礼なもので申し訳ないのですが、どうぞお許しください。
853 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:06:55.10 ID:+cAt7TAV.net] まあ質問者がここのお馬鹿さんを代表してMSに質問してみたらいいと思う。 恥をかくのも勉強のうちかも 個人的にはちょっと調べてちょっと自分の頭で考えれば分かるはずのことを理解しようとせず、 「このバグどうなってんだコラー」なんて突撃するのは愚の骨頂にしか思えんけど つーか、ちょっと考えれば、この警告は余計なお世話のように思えて 一定の合理性があることぐらいすぐ分かると思うんだけど、ガチで分からない奴もいるんだね世の中には
854 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:10:00.19 ID:+cAt7TAV.net] >>835 だから、警告の意図はout変数を値を戻す以上の目的で使うのはよい作法じゃないよ、 ってことでしょう。 外側のブロックでも値を使いたいなら別の変数にコピーしてねと
855 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:14:49.66 ID:roepBgfb.net] は?こんなのバグだろ
856 名前:789 mailto:sage [2018/03/30(金) 22:22:13.29 ID:QYlpMr10.net] たくさんご反応をいただきどうもありがとうございます。 とても勉強させていただいています。 お返事が遅くなってしまい申し訳ありません。 予想以上のレスの多さでこの話題に触れてくださった方すべてにお返事するのが難しくなってきましたので、 大変勝手ながら、これ以降、直接私の書き込みにアンカーを付けてくださった方と 特に教えていただきたいことがある方へのメッセージのみ書き込みたいと思います。どうぞよろしくお願いします。 >>825 皆さんのお話を聞いて、コードの無作法が警告メッセージの直接または間接的な原因なのではということを かなり感じてきました。ただ、作法に関する私の理解が不十分でどうにも宙に浮いたような感覚なのです。 もしよろしければ、>>810 考えについてコメントなどをいただくことはできないでしょうか。よろしくお願いいたします。
857 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:29:53.50 ID:MnRWcQoL.net] >>836 どう書けばいいのかを書いてからほざけば? w
858 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:30:40.89 ID:CA+6T7VZ.net] トンチンチン
859 名前:789 mailto:sage [2018/03/30(金) 22:32:45.82 ID:QYlpMr10.net] >>824 レスどうもありがとうございます。 やはりバグと考えるのが妥当なのかなという気持ちが強くなってきました。 これだけたくさんのレスをいただき、バグであろうというご意見もいただいているので もうマイクロソフトに報告を出してしまってもいいかなという気もしているのですが、 一応>>803 に書いたとおり一日置いてから報告しようかと思います。 ただバクだとしても、このバグが今まで大した問題にならなかったということは 再現するためのコードに多かれ少なかれ作法の問題があるのではという気持ちもあり、 色々と勉強させていただきたいと考えています。
860 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 22:37:24.89 ID:MUNCeVRK.net] >>842 現象再現するソリューション一式をアップローダにあげたら何か進展あるかもよ
861 名前:デフォルトの名無しさん mailto:sage [2018/03/30(金) 23:04:09.64 ID:L1eApEVG.net] >>789 以下の書き方ってビルド通るっけ? ビルドエラーの時は原因と関係ない警告でたりするからmessage=nullみたいに何かいれれば解決したりしない? string message; if (x == 1) getMessage1(out message); else getMessage2(out message); Console.WriteLine(message); 後outメソッドではなく、戻り値で文字列を返すのが普通 根本的な解決じゃないけどoutキーワードを使わないgetに直せば警告を消せる
862 名前:789 mailto:sage [2018/03/30(金) 23:06:10.14 ID:QYlpMr10.net] >>834 アドバイスとご検証どうもありがとうございます。 再現性の問題については、警告のカスタム規則セットなどは使っていないつもりなのですが、 そのあたりの理解が不十分でお伝えすべきことが不足してしまっているのかも知れません。 念のため、解説ページなどを読むなどしてもう一度確認したいと思います。 また、とりあえず別のことに時間をということについて、お心遣いをとても嬉しく思います。 ただ、せっかくこれだけの反応をいただけたのだからできる限りのことを吸収して…という 殊勝(?)な考え以上に、私が感じた問題に多くの方が興味を持ってくださったことが嬉しく、 娯楽という意味でもう少しこの場にお邪魔させていただきたいと思っています。
863 名前:789 mailto:sage [2018/03/30(金) 23:33:26.14 ID:QYlpMr10.net] >>837 大変勉強になるコメントどうもありがとうございます。この観点はまったく気づいていませんでした。 確かにout変数の使い道をそこまで限定することで警告は表示されなくなりますし、 この制限はプログラムの保守性を高める効果もありそうです。 これで私個人の、警告が表示されて気持ちが悪いという問題は解決したように思います。 どうもありがとうございます。 ただそれはそれとして、今回の警告はやはり意図されたものではないと思うのですが、 もしよければこの点についてもご意見をお聞かせいただけないでしょうか。 私がこのように思うのは、以下のコードで警告が表示されないというところにあります。
864 名前:789 mailto:sage [2018/03/30(金) 23:33:45.21 ID:QYlpMr10.net] bool tryGetMessage1(int _x, out string _message) { if (_x == 1) { _message = "x is 1."; return true; } else { _message = default(string); return false; } } void getMessage2(out string _message) => _message = "x is not 1."; int x = 1; if (!tryGetMessage1(x, out string message)) { getMessage2(out message); } Console.WriteLine(message);
865 名前:789 mailto:sage [2018/03/30(金) 23:34:33.28 ID:QYlpMr10.net] >>837 の制限に従えば上のプログラムのifの部分は次のように修正されるべきです。 しかしこの例では警告文表示されず、従って警告文は>>837 の制限を課すためのものではないと思われるので、 「今回の警告は意図されたものではない」という結論に至りました。 int x = 1; string message; if (tryGetMessage1(x, out string message1)) { message = message1; } else { getMessage2(out string message2); message = message2; }
866 名前:789 mailto:sage [2018/03/30(金) 23:56:19.78 ID:QYlpMr10.net] >>843 アドバイスどうもありがとうございます。 今更ですが、警告が表示されるコードを含むソリューションをアップロードしてみました。 https://dotup.org/uploda/dotup.org1498398.7z.html
867 名前:789 mailto:sage [2018/03/31(土) 00:03:56.30 ID:a/TgDl8y.net] >>844 レスどうもありがとうございます。 お書きいただいたコードでは、ビルドは通りますが>>789 と同じ警告文が表示されました。 これは message = null と書き換えても同じようです。 戻り値で文字を返すべきだというのはおっしゃるとおりだと思います。 ただ>>796 のような理由もあり、out変数でも警告が表示されずにすまないか思って質問させていただきました。
868 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:04:10.00 ID:r1Fcmmf3.net] >>849 えー、このスレで解決しないといけないの? 初心者スレの領域越えてない?
869 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:04:41.30 ID:r1Fcmmf3.net] しかも無駄に長文だしちょっと控えてよ
870 名前:789 mailto:sage [2018/03/31(土) 00:25:14.41 ID:a/TgDl8y.net] >>851 >>852 申し訳ありません。 もともと不具合なのかどうかの判断もできずこのスレで質問させていただきましたが、 IDEの不具合であるとすれば、おっしゃるとおりここで解決を目指すことではないと思います。 ただ、もしこの問題に興味を持ってくださる方がいて、問題が再現されないようであれば、 >>849 のソリューションファイルでもお試しいただければ嬉しく思います。 これ以降は、「IDEのバグ修正」という方向の話について私の方から書き込むことは控えたいと思います。 しかし、すでに私が書き込んでしまった内容にお返事をいただいた際のレスについてはお許しください。 以上、長々と失礼いいたしました。
871 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 00:25:16.57 ID:p9TP0
] [ここ壊れてます]
872 名前:5UX.net mailto: >>806 Visual Studio 2017のバージョンは? 最新版(15.6.4)で>>849 のソリューションビルドしたけど、IDE0018は出なかった。 後、ID:+cAt7TAVは頓珍漢な上に指摘を一切聞かない人だから無視した方が良いよ。 [] [ここ壊れてます]
873 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 02:11:28.67 ID:r7WFMRHn.net] >> 853 Visual Studio 15.5.7 だけど IDE0018 は出なかった リファクタリングしたらどうなるの? https://codezine.jp/article/detail/9861?p=4
874 名前:789 mailto:sage [2018/03/31(土) 08:06:10.45 ID:Mw1mdL1r.net] レスどうもありがとうございます。お返事が遅くなってしまい申し訳ありません。 日中はVisual Studioを使えそうになく、申し訳ないのですがきちんとしたお返事は夜になってしまうと思います。 中途半端な内容になってしまいますが、ひとまずいただいたレスにお返事したいと思います。 後ほど改めて書き込みますので、失礼をお許しください。 >>854 Visual Studio 2017のバージョンについてご報告できておらず申し訳ありません。 恥ずかしいことに最新版を使うという意識も持てていなかったので、古いバージョンを使っているかも知れません。 (ただ、古いバージョンで検証して下さった>>855 様もIDE0018は出なかったとのことなので、 なにか他のところに問題があるのかなとも思っています。) >>855 ご検証どうもありがとうございます。 >>854 様の結果と合わせて2つのバージョンで再現しなかったとのことなので、 私は何かとても基本的なところで間違いを犯してしまっているのかも知れません。 リファクタリング機能については、ご指摘をいただいた上で試したわけではないので後でまた確認しようと思いますが、 問題の箇所では動作しなかったように記憶しています。
875 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 08:08:51.24 ID:r1Fcmmf3.net] >>855 不具合報告スレでも立ててそっちでやれよ
876 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 08:43:46.87 ID:+WsDcfNX.net] 別にいいよ 片っ端から透明あぼーんするだけだし
877 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 08:51:48.82 ID:OaeapR1O.net] >>836 > 「このバグどうなってんだコラー」なんて突撃するのは愚の骨頂にしか思えんけど 1年も前にバグと判明して解決してる https://developercommunity.visualstudio.com/content/problem/8924/ide0018-false-suggestion.html > 恥をかくのも勉強のうちかも 実践乙 w
878 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:03:24.19 ID:9aphfiP0.net] >>789 正解だけ教える bool TryGetMessage1(out string x) { x = "1"; return true; } bool TryGetMessage2(out string x) { x = "2"; return true; } string GetMessage(int x) { if (x == 1 && TryGetMessage1(out var s)) return s; if (TryGetMessage2(out var s)) return s; return null; } WriteLine(GetMessage(x));
879 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 09:07:37.87 ID:r1Fcmmf3.net] >>860 これが恥の上塗りか
880 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 12:42:07.43 ID:x9Yyswdb.net] (結局調べれば分かることで、ググれというレスを罵倒してた奴らは今どんな心境なんだろう)
881 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 12:44:49.99 ID:LMRl+wCl.net] >>860 これは主旨が違うじゃん
882 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 12:45:43.39 ID:O8yBke8L.net] ワッチョイないからNGがタルい
883 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 13:03:27.79 ID:9aphfiP0.net] >>863 もともと修正方法教えろって言ってるんだからこれが正解だよ
884 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 13:09:24.39 ID:LMRl+wCl.net] ワッチョイ必要だな
885 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 13:32:48.06 ID:OaeapR1O.net] >>862 > (結局調べれば分かることで、ググれというレスを罵倒してた奴らは今どんな心境なんだろう) 罵倒されてもしょうがないよね って感じですけど? しかも恥の上塗りしてる奴までいるし w
886 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 13:32:50.70 ID:IoBwmw2C.net] >>865 >>789 と出力結果が違うのに正解とか何ほざいてんのw
887 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 15:17:13.71 ID:G6tH+bWp.net] FirstOrDefaultについて教えて下さい。 List<T>をFirstOrDefaultで条件のものを返してきた場合、 それは参照先のアドレスが返ってくるのでしょうか? それとも写像としてコピーされたものが返ってくるのでしょうか 取り出したものの値を更新したときに、元のListは更新されますか?
888 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 15:28:08.82 ID:IoBwmw2C.net] 数分で試せることをなぜやらない
889 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 15:34:02.83 ID:r1Fcmmf3.net] List<int>とかとList<MyClass>とかで違うよね的な?
890 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 15:39:45.66 ID:UG1yVXDX.net] やってることは同じ(値をコピーしてくる)だけど結果が違ってくると言うこと
891 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 15:48:48.09 ID:feZwED6X.net] 教習所の教官「生徒が減ったので褒めちぎったら運転技術は向上!合格率も事故率も改善!俺はなんで今まで怒ってたんやろう?」 [274141358] https://leia.5ch.net/test/read.cgi/poverty/1522384054/ 5 名前:番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイWW d3e8-gBuS)[] 投稿日:2018/03/30(金) 13:30:33.99 ID:F53Z/ySd0 よく考えたら本当にジャップ案件だよな 初心者に対して怒鳴り散らしてどこが悪いかは一切教えない 部活と一緒だわ
892 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 16:04:38.32 ID:fwgHW5nR.net] >>869 List<T>とかHashSet<T>とか初めから使えるやつはTが値型か参照型かだけ考えればいいよ あと「Listが更新されるか」という言い方はTが参照型だと意味が曖昧になるから改めたほうがいいかと ふと↓こんなのが頭をよぎったけど意味が分からなければスルーしておくれ class MyList<T> : IList<T> where T : ICloneable { ... }
893 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 16:14:25.21 ID:UG1yVXDX.net] IListは実装したことないな 実装例は見かけるけどOSSで実装してるのは見かけない
894 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 16:27:15.53 ID:fwgHW5nR.net] >>875 >>874 でIEnumerableでもICollectionでもなくIListを選んだのには深い理由があるのよ 文字数という理由がね まあIsReadOnlyプロパティとかどうかとは思うよ
895 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 16:49:04.27 ID:G6tH+bWp.net] ご指導ありがとうございます Tが値型か参照型かというところが意識から抜けておりました 適当に組んで試してみて、その違いも確認できました
896 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 16:55:49.06 ID:tzO3VEeA.net] モニタの解像度によらず実寸A4サイズのウィンドウを開いて2pの×を座標ランダムに20表示 それをクリックするというアプリを開発しようと思ってます。 最初モニタの解像度取得してモニタの実寸をユーザーが入力して、 そこからA4サイズは何ドットになるか計算してというのをフォームで作り始めたんだけど、 これだと×や他のボタンも全て計算して調整しなければいけないのかと気づきました。 WPFで開発するとこういうモニタサイズにかかわらず実寸で表示って簡単に処理できるの?
897 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 17:16:01.57 ID:l8CCe9Lg.net] 実寸はモニタ変更するたび変えないと駄目じゃん フルHDのスマホとモニタじゃちげーし
898 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 17:27:51.62 ID:47Bv8u8/.net] ユーザーが勝手にWindowsのDPI設定を変更してない限りはできるけど、 今更オワコンWPFに手を出すくらいならHTMLで作ることを強くお勧めする CSSならmm単位で実寸指定できるからWPFよりも簡単だよ
899 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 17:34:37.92 ID:FNt76Udy.net] >>868 お前は返しまでくだらないな
900 名前:デフォルトの名無しさん [2018/03/31(土) 17:37:43.10 ID:GqrQqkMZ.net] イベント処理でキー読み込むのと、ただ単にキー読み込むのではどう違うの? 実行すると速度が全然違うんだけど...
901 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 17:38:31.40 ID:io+mDfEy.net] 例の教育心理系君か AWS S3にHTML/CSS/JavaScript置いてURL教えるのが一番手っ取り早いだろうな 結果もJavaScriptからS3 APIで保存するようにすれば完全サーバーレスだ その程度なら料金は月10円もしない
902 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 17:58:49.73 ID:tzO3VEeA.net] ご無沙汰しておりました。 教育心理系のものです。 ようやっとC#の本読み終えて作り始めましたけど、 実世界での用紙とか×とかの大きさを統一しないと実験結果に影響が出るので実o単位で画面表示が必要なことに気づきました。 a. ディスプレイ解像度はC#で取得できたので、後は実モニタサイズをユーザーに入力してもらえば、小学生の算数レベルでA4用紙のウィドウは作れる でいいかと思ったんだけど、 そうすると×の大きさや当たり判定の範囲まですべて計算しなければいけず、 なんかあほらしいことをやってるのか?? と疑問に思ってきました。 ブラウザ上に表示するとユーザー側でctrl+スクロールで表示の大きさ変えられちゃうんですよね。 実世界でのo単位での大きさを固定したいってあまりなさそうな要求だし、aでやってくしかないのかなぁ。
903 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 18:02:33.45 ID:UG1yVXDX.net] そこまでやるなら被験者とモニターの距離も計測して一定にしないと…
904 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 18:12:00.40 ID:NJrC8qba.net] なぁに網膜に直接書き込んでしまえばw
905 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 18:20:56.75 ID:/DPGnFFi.net] いいね!
906 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 18:35:00.07 ID:tzO3VEeA.net] >>885 その通りですね。 同じような実験で被験者の姿勢によりスコアが変わるらしいので。
907 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 18:42:00.60 ID:AhiWvdUc.net] >>878 WpfにはViewBoxと言う拡大縮小自在なモジュール在るから上手くやりゃなんとかなるよ
908 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 18:59:42.15 ID:tzO3VEeA.net] >>889 ViewBox調べてみます。 少しフォームベースで初めてみたんですけど、 これから勉強するならWpfとフォームどちらで作るのがおすすめですか? フォームでもゴリゴリやっていけば狙ったものはつくれそうな感じはするんですけど、 wpfのほうがいいというのも聞いたりして悩み中です。
909 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 19:11:47.57 ID:AhiWvdUc.net] >>890 件の用途だとformsは厳しいと思われるのでwpfを奨めるが、情報少ないから習得は簡単じゃないと思うよ もし、不特定多数への配布を考えているならwpfの進化形であるUWPを使うのを奨める
910 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 19:59:43.42 ID:kEu+XyQj.net] >>882 ただ単に読み込むのはどのタイミングでどうやってるの?
911 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 20:17:53.84 ID:tzO3VEeA.net] >>891 wpf情報少ないんですか・・・。 UWPも書籍はまだ少ないみたいですね。 ど素人なので学習のための情報は欲しいなぁ。 フォームでも×を線で描いてしまえばなんとかなりそうなんですけど、 拙速コードでも早期論文化を目指してフォームでやるか 将来のためにUWPを勉強するか悩みますね。
912 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 20:26:11.30 ID:Tt7WJg3O.net] >>893 WPFでもFormでもスケーリングはページ変換使うだけだから難しくないと思う。 ■ Formを使う場合の問題点 - 自動でスケーリングされるのはグラフィックだけ。コントロールやそのフォントは コードでスケーリングや座標変換する必要がある ■ WPFを使う場合の問題点 - GDI+ほど簡単じゃない - 多数の図形を描画する場合はパフォーマンスが問題になる
913 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:01:55.63 ID:l8CCe9Lg.net] 何処の座標を実寸通りにしたいか? だけでformでいいだろ なんでボタンまでやる必要があるんだ?
914 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:04:08
] [ここ壊れてます]
915 名前:.01 ID:tzO3VEeA.net mailto: A4相当の大きさのウィンドウ表示って調べてみると難しいんですね。 DPI取得もなんかOSで100%以外の拡大表示にしてると当てにならないみたいだし、 ディスプレイの大きさはユーザーが実測値入力で妥協してももいいのかな・・・。 [] [ここ壊れてます]
916 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:09:29.60 ID:g9lQ5N9X.net] 厳密な同環境を求めてるみたいだが、 マウスの移動速度で無理が出ると思う
917 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:25:11.42 ID:l8CCe9Lg.net] >>896 だからできねぇって スマホもフルhdだろ? モニタもフルhdだろ?
918 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:26:20.15 ID:Tt7WJg3O.net] >>896 一応モニター自身が持つEDIDとかいう情報に表示領域の物理サイズが含まれているらしい WPFはどうだったか知らんけど、FormはOSのDPI設定を無視して指定ピクセルサイズでFormを 表示させられると思った。 だからDPIさえ分かれば目的の物理サイズのウィンドウを表示することは難しくないはず
919 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:40:05.11 ID:IoBwmw2C.net] >>898 さっきからスマホスマホうるさい WPFの時点でデスクトップWindows固定だって理解できないの?
920 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:48:21.76 ID:r1Fcmmf3.net] >>900 えー、だから解像度に対するモニタのサイズが決定しねーと駄目でしょって話何だけど? スマホを例に挙げたのはあんな小さいなりして解像度はフルhdだから
921 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:55:14.06 ID:IoBwmw2C.net] ユーザーがモニタサイズを入力って何回も書いてあるじゃん それじゃ不満なの?
922 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 22:55:29.08 ID:vbALr7Yq.net] デスクトプPCとタブレットPCにでもしときゃ良いだろうに
923 名前:デフォルトの名無しさん mailto:sage [2018/03/31(土) 23:28:19.33 ID:r1Fcmmf3.net] >>902 逆にそこまで決定してると疑問が出るのが謎
924 名前:デフォルトの名無しさん [2018/03/31(土) 23:45:29.31 ID:U08lgUq5.net] やっぱりC#もバカばかりなんだなあ 現代の三大バカ ペチパー、ジャバパー、シーシャーパー で決定やねw
925 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 00:58:58.57 ID:AmnK79El.net] 教えてください。 以下のような事をしたいと思います。 再現のために最低限必要なところだけを抜き出しているので、これだけだと意味が不明ですが、 同じような処理があちこちにあるので処理をまとめるため、このような事をしています。 public void Execute( string sql ) { using (var command = new System.Data.SqlClient.SqlCommand(sql.ToString() )) { } } これをビルドしても警告等は出ませんが、コード分析の実行を行うと SqlCommand のところで CA2100 の警告が出ます。意味は以下のページの通りです。 https://msdn.microsoft.com/ja-jp/library/ms182310.aspx?cs-save-lang=1&cs-lang=csharp#code-snippet-3 要するに関数パラメータで受け取った文字列にはなにが含まれているのか分からないので危ないよ、と言われているのだと思いますが 出来れば上の関数を利用する形式で進めたいと思います。 この形式のまま CA2100 を回避する手段のアドバイスをいただけると助かります。
926 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:09:42.05 ID:v0T9GXCI.net] >>906 生のテキストを送るなバカ PrepareなりSqlParameterなり使ってSQL文とデータを分離しろバカ 詳しくは「C# インジェクション対策」でググれバカ
927 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:10:28.60 ID:RE1ojOXr.net] MDT_RAW_DPIで物理的なppiに近い値が返ってくるからそれ使えで済む話、で終われば良いんだが あれちゃんとした値が返ってくる保証が無さそうなのがねー
928 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:21:16.42 ID:GUPc3ba+.net] C#は、C++を難しく感じる人が使う言語だから。
929 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:26:38.59 ID:Cu8+FDkh.net] 文法だけならC言語が一番好き クラス以降いらねー
930 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:39:12.76 ID:AmnK79El.net] >>907 それはやってる。 再現する最低限までコードを削った結果としてその部分が見えなくなってるだけ。
931 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:43:15.77 ID:UKmXoisc.net] >>906 なんでToStringしてんの?
932 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 01:45:10.58 ID:AmnK79El.net] >>912 あ。ごめん。 いろいろ試してたときのコードが残ってました。 .ToString() がなくても再現します。実際にもそんな事してません。
933 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 02:06:42.96 ID:1BdiydkK.net] 急にタメ語になるのほんと草
934 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 02:10:36.19 ID:Cu8+FDkh.net] >>911 えー? でも出てる警告ってSQLインジェクションの警告ちゃうのん?
935 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 04:52:35.48 ID:fKZaPfKf.net] >>911 ほんとにやってる? このコードだけ出されても警告でるに決まってるし、リンク先のような対策しろとしか言えない
936 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 05:05:19.22 ID:fKZaPfKf.net] >>906 一応コード分析で警告表示させないようにするだけでいいなら、SuppressMessage属性を付ければでなくなる チームでやってるならメンバー全員の許可は必須
937 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 09:03:31.17 ID:gIH0xNQX.net] >>906 ちゃんとリンク先読んでる? メソッドに渡された文字列引数から構築された文字列を使用して IDbCommand.CommandText プロパティが設定されています。 って書いてあるんだからSqlCommamd.CommandTextに外部からもらった文字列を設定した時点でその警告になるよ パラメーター云々はその後の話 その形式のまま使いたいなら>>917 が書いてる通り抑止するしかない ちゃんとやるならやりたいこと毎に関数作ってSqlCommamd.CommandTextに固定の文字列を設定するようにしないとダメ
938 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 10:20:28.44 ID:JxTU817j.net] ストアド使いなさいよ
939 名前:906 mailto:sage [2018/04/01(日) 13:39:58.60 ID:AmnK79El.net] レスをくださった皆さん、ありがとうございます。 >>917 現状では、 教えていただいた属性をつける方法を相談して、NG ならこのまま警告を残す。って方向かなと思います。 一応、先のリンク先の以下に当てはまるのでセキュリティ的には問題ないと考えます。 >警告を抑制する状況 >コマンド テキストにユーザー入力が含まれない場合は、この規則による警告を抑制しても安全です。 >>918 >ちゃんとやるならやりたいこと毎に関数作って 同じような処理があちこちにあるのを嫌って、906 のように出来ないかなと考えました。 ただ、一般的なやり方ではなかったかも知れません。 >>919 ストアドとは、たとえばこのリンク先の事で正しいですか。 https://code.msdn.microsoft.com/windowsdesktop/DataAccess-howto-32c91bf0 自分が試した限りでは CA2100 が出ました。 いままではストアドでも execute 付けて普通に SQL 文として実行してましたが、こういう方法もあったのだと勉強になりました。 またストアドはローカルDB では問題ないのですが、基幹DB では使わせてもらえないようです。軽く聞いてみた範囲での事ですが。
940 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:26:06.48 ID:+XMM3OWE.net] 20年以上前にcを使っていたことがあるという状態で、c#を独学で学び始めたところです 極めて初歩的な話だとは思いますが、どうしてもわからないので教えてください 下記のコードで、「未割り当てのローカル変数'num'が使用されました」というエラーが出て コンパイルできません。 try-catch構文の後の Console.WriteLine(...) を、try節の中に中に入れるとコンパイルが できるのですが、try - catch構文以降は、変数のスコープが失われてしまうということなの でしょうか。 using System; class ExceptionTest { static void Main() { int num; string s; try { Console.Write("enter a number : "); s = Console.ReadLine(); num = Int32.Parse(s); } catch(Exception e) { Console.WriteLine(e.Message); } Console.WriteLine("Your number : " + num); } }
941 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:40:32.32 ID:ut+4lapb.net] >>921 もしtryブロックの中で例外が発生した場合、 > Console.WriteLine("Your number : " + num); この行に到達した時点でnumの値はどうなってるでしょうか?
942 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:48:12.04 ID:GWiU0YBt.net] 未定義
943 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:50:28.41 ID:JxTU817j.net] >>921 null許容型にするか、素直に0で初期化しておく
944 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:50:55.68 ID:JxTU817j.net] >>920 ストアドはそのとおりです
945 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 18:51:15.76 ID:/o+55+4t.net] >>921 スコープの問題ではなく、try節のnum代入に到達しない可能性があるから 文脈からすれば仰る様にnum出力をtry節に含める、あるいはint num = 0;等… C#はそういうの然り、C/C++よりガチガチに厳しい
946 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 19:28:44.37 ID:fxgoPYx5.net] そのうちc#にもdeferが導入されるみたいだけどそういうのでボコボココンパイルエラーが出るようになるのか
947 名前:デフォルトの名無しさん [2018/04/01(日) 19:39:39.66 ID:xe0krAxA.net] >>926 C/C++でだって未初期化の値を使うコードを書くべきじゃ無いけどな
948 名前:906 mailto:sage [2018/04/01(日) 21:34:56.28 ID:AmnK79El.net] >>925 thx
949 名前:デフォルトの名無しさん mailto:sage [2018/04/01(日) 23:12:20.14 ID:ECJY99tL.net] 未初期化の(可能性がある)変数は、参照できない。バグ
950 名前:デフォルトの名無しさん [2018/04/02(月) 12:27:49.40 ID:7SJzoey2.net] 必ず初期化されるやんC#
951 名前:921 mailto:sage [2018/04/02(月) 12:31:36.23 ID:sF1TxYYm.net] 皆様ありがとうございます 変数numが定義されていないというエラーだとばかり思っていたのですが、初期化されていないという意味だったのですね 理解できました
952 名前:921 mailto:sage [2018/04/02(月) 12:37:01.02 ID:sF1TxYYm.net] >>931 私もそう思っていたのですが、違うのでしょうか 手元に書籍がないので、参考にしている本にはなんと書いてあるか不明ですが、 c#では整数型の変数は自動的に0で初期化される、と書いているサイトも あるようです
953 名前:921 mailto:sage [2018/04/02(月) 12:39:19.98 ID:sF1TxYYm.net] >>933 訂正 クラスのフィールド変数は初期化されるけれど、メソッド内のローカル変数は初期化されないのですね 誤解していました
954 名前:デフォルトの名無しさん [2018/04/02(月) 18:07:44.63 ID:6bvpmFc5.net] C#技術者は他の言語に比べて年収はいいんですか?
955 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 18:13:31.05 ID:XIES5nIM.net] >>935 ここが技術板なのでプログラマ板で聞いてください
956 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 20:42:37.26 ID:6Vp1brVM.net] winformsのTableLayoutPanelで2つの列を作成したとき、プログラムの実行中に左右の幅をマウスで調整することはできますか?
957 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 20:44:29.22 ID:MPXX1X60.net] >>937 どのコントロールでもMouseDown/Move/UpイベントとSize指定ができればいくらでもできる
958 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 22:39:46.16 ID:zzbs2RRz.net] 解釈の原因は解釈者が持つ自分ルール。解釈の自由は責任を伴う 言葉風紀世相の乱れはそう感じる人の心の乱れの自己投影。人は鏡 憤怒は一時の狂気、無知無能の自己証明。中途半端な知識主ほど激昂 「真実は一つ」は錯誤。執着する者ほど矛盾を体験(争い煩悩) 他人に不自由(制約)を与えれば己も不自由(不快)を得る 問題解決力の乏しい者ほど自己防衛の為に礼儀作法マナーを要求 情報分析力の低い者ほどデマ宗教フェイク疑似科学に感化洗脳 自己肯定感の欠けた者ほど「己の知見こそ全で真」に自己陶酔 人生経験の少ない者ほど嫌いキモイ怖いウザイ憎い想定外を体験 キリスト教は世界最大のカルト。聖書は史上最も売れているト本 全ては必然。偶然 奇跡 理不尽 不条理は思考停止 視野狭窄の産物 人生存在現象に元々意味価値理由目的義務使命はない 宗教民族領土貧困は争いの原因ではなく口実動機言訳(原因帰属錯覚) 虐め差別犯罪テロ紛争は根絶可能。必要なのは適切十分な高度教育 体罰は指導力問題解決力の乏しい教育素人の独善甘え怠慢責任転嫁 死刑は民度の低い排他的集団リンチ殺人。「死ねば償える」は偽善 核武装論は人間不信と劣等感に苛まれた臆病な外交素人の精神安定剤 投票率低下は社会成熟の徴候。奇人変人の当選は議員数過多の証左 感情自己責任論 〜学校では教えない合理主義哲学〜 m9`・ω・)
959 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 23:16:17.88 ID:VPR2x1c1.net] 2chビューワのスレ欄のように、listViewでマウスオーバーするとその行の文字にアンダーラインが入るようにしたいです。 やってみると、以下のサイトにそれに近い方法がけいさいされていたのですが、サイトに指摘があるように画面がちらつきます。 ListViewのアイテムがポイントで選択、シングルクリックでアクティブにできるようにする - .NET Tips (VB.NET,C#...) https://dobon.net/vb/dotnet/control/lvpointselection.html そのため、ちらつきを抑制する方法を探したところ、いろいろ出てきましたが、どこにどのコードを記述すればいいのかさっぱりわかりませんでした。 下記サイトが一番丁寧な気がしましたが、これを参考にしてもフォーム上にlistviewが出てきません。 ListViewを更新したときのちらつきを抑制する(C#メモ): amongの雑記 どうすれば、ちらつきを抑えたlistviewを作成することができるのでしょうか?教えてください。
960 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 23:17:15.94 ID:VPR2x1c1.net] すいません、 >ListViewを更新したときのちらつきを抑制する(C#メモ): amongの雑記 についてはNGワードとなってしまいました 下記のURLのスペースを抜いたものです。 amonution.sb lo.jp/article/45398035.html
961 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 23:31:51.83 ID:MPXX1X60.net] >>940 これもどのコントロールでも同じなんだがコントロールにダブルバッファのプロパティを付け加えた新しいコントロールを作ってそれを使う おなじdobonのサイトに「リフレクションを使って、DoubleBufferedプロパティにアクセスする」もある https://dobon.net/vb/dotnet/control/doublebuffered.html
962 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 23:50:34.23 ID:VPR2x1c1.net] >>942 返
963 名前:信ありがとうございます。 初心者なもので >ダブルバッファのプロパティを付け加えた新しいコントロールを作ってそれを使う これの方法がよくわからないのです。 そのページも見たのですが、 >public class DoubleBufferingListView : ListView 以下の部分を全体のコードのどこに記述ればいいのか、記述したあとそれをどうやって使うのか、というのがそもそもわからないのです。 [] [ここ壊れてます]
964 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 23:53:34.69 ID:6Vp1brVM.net] >>938 すみません、もう少し詳しくおしえていただけないでしょうか? もとの文では分かりづらかったかもしれませんが、コントロール中の左右の幅(比率)を変更したいです。 (デザイナ上でやるように、つまみを掴んで左右に動かすイメージです)
965 名前:デフォルトの名無しさん mailto:sage [2018/04/02(月) 23:54:11.10 ID:VPR2x1c1.net] とりあえず、namespaceの直下に貼り付けてみてビルド→うーん、エラーか public partial class Form1 : Formの下に貼り付けてみる→動いたが、じゃあ次に何をすればいいのかわからん。 こんなレベルです。
966 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 00:03:03.60 ID:BdcH2dSM.net] >>943 クラスとして記述してデザイナに表示されなければ新しく作ったコントロールを含めたアセンブリを一度ビルドする dobonのどこかにもやり方あるんじゃないの >>944 MouseDown: マウスが押されたe.Location(をスクリーン座標に変える)を変数に記録する 決められた位置で押された場合にフラグをセットする MouseMove: フラグがセットされていれば現在の座標と記録していた座標の差分を計算してSizeを変更する MouseUp: フラグを破棄する
967 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 00:16:48.21 ID:Bkifwxhh.net] >>946 public partial class Form1 : Formの直下に記述して、F7を押してビルドして、form1.cs[デザイン]タブを開いてみましたが、 特に何か増えたような様子はありませんでした。 ご指摘事項を正しく実行できてますでしょうか?
968 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 00:25:08.53 ID:h9dQUiAD.net] >>946 >>937 です。 分かりやすく説明ありがとうございました。明日すぐ実装してみます。
969 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 10:13:42.24 ID:Bkifwxhh.net] すいません、これで解決しました。 System.Windows.Forms.Control のダブルバッファリングをさくっと有効にする - kawanon d.hatena.ne.jp/m_kawanon/20100708/1278587297
970 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 21:10:02.31 ID:tN12x087.net] リッチテキストボックスのスクロールバーだけ、ドラッグしてもバーがついてこないのですが、 私だけでしょうか?
971 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 21:29:32.68 ID:vN2mpw+F.net] 業務用アプリをオサレな画面にしたいんだけどWPF使ってそこらのテーマ拾ってくるのが手っ取り早いかね
972 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 23:35:42.00 ID:VCT3rU1H.net] >>951 WPFのテーマなんてクッソ古臭いデザインの10年近く前からメンテされてないのしかないぞ WebかUWPで今風のフラットデザインにしましょう
973 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 23:39:30.70 ID:LPfCppd2.net] デザインパターンって大事ですか?
974 名前:デフォルトの名無しさん mailto:sage [2018/04/03(火) 23:42:17.43 ID:TkuXyycY.net] 普通は大事じゃない メジャーな一部の奴だけなぞっておけばいい
975 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 00:15:51.60 ID:Lt0+eORa.net] >>951 Material Design In XAML Toolkitが今風で良い感じだよ。 タブが必要なら同じ作者のDragablz Tab Controlも併せてどうぞ。
976 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 00:29:06.64 ID:scqJAZTy.net] >>953 全身シングルトンで武装して備えろ
977 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 01:35:51.04 ID:gGAYD4mI.net] ざっと知っておくに越した事は無い 使うかどうかは別としてね むしろ、「これはやるな」っていうアンチパターンを覚えた方が良いかもだ
978 名前:デフォルトの名無しさん [2018/04/04(水) 02:58:58.46 ID:3/OGlZbi.net] バグってハニー
979 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 07:59:24.78 ID:ClxMGJax.net] material designとかタッチメインならいいけど、マウスメインのデスクトップアプリならmaterial designはスペースが無駄すぎる
980 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 20:33:02.49 ID:n4eM316R.net] excelファイルを操作する必要があり、いろいろ調べたらclosedXMLを使うのが良さそうという 結論に達したのですが、詳しい解説のあるサイトや書籍はないでしょうか。 ファイルの開き方、セルの参照方法などは普通に見つかるのですが、提供されている メソッドの一覧とか、発生する例外とか、実用上知っておくべきことを知りたいのです (主にエラートラップをするためです) 公式ドキュメントがどこにあるかすら発見できなかった程度の英語力ですが、ドキュメントの ありかを教えていただければ、辞書を引きながらでも調べてみます
981 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 20:50:20.08 ID:K+0BZuJc.net] Excel操作はCOM Automation以外には手を出すな 地獄を見ることになる
982 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 20:53:47.86 ID:Uk0C/m1f.net] ClosedXMLはマジ大変
983 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 21:05:58.11 ID:Ft6CGKk+.net] 村の禁忌に触れたような言い様だなw
984 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 21:27:26.09 ID:mQqkiub7.net] 泣く子はいねかー
985 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 21:30:08.25 ID:PCVfDfH6.net] ExcelのCOMオートメーションはサーバーでの動作保証が無い時点でゴミなんすよ
986 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 21:32:26.97 ID:BmbE00Mi.net] >>960 https://github.com/closedxml/closedxml/wiki 使ったことないけどExcelDataReaderも速さの面ではいいってどっかの記事で見た https://github.com/ExcelDataReader/ExcelDataReader
987 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:21:19.70 ID:noE6VTyE.net] エクセルファイルなんてグレープシティのスプレッド買えば一瞬で終わるだろ
988 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 22:50:52.54 ID:OrTn2AQm.net] WPFってどういう用途なら使うべき? 文献やネット検索が少なくて使えん
989 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 23:00:46.54 ID:T8BktjHU.net] EPPlus
990 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 23:21:00.13 ID:Lsgd0/8M.net] >>968 いかなる用途でも使うべきではない MSの推奨はElectronとASP.NET
991 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 23:34:42.99 ID:Lt0+eORa.net] やたらElectron推す人いるけど、言うほどMSが勧めてるかなぁ
992 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 23:42:42.72 ID:9CBA0Lmr.net] Electronは縦書きエディタすら作れない駄目なやつ 表示はどうにでも出来るが入力が機能的に絶対無理とか俺が費やした半日を返せよ
993 名前:960 mailto:sage [2018/04/04(水) 23:46:48.80 ID:n4eM316R.net] >>961-966 触れてはいけないものに触れてしまったかのような反応ですが、なんとかドキュメントを 読んで頑張ってみますわ・・・ >>967 趣味で書いてたVBAマクロをスタンドアロンに書き直したい(データだけexcelファイルから 流用したい)という用途なので、万円単位の買い物は無理です、残念
994 名前:デフォルトの名無しさん mailto:sage [2018/04/04(水) 23:48:56.91 ID:v0eOpRGB.net] >>969 EPPlusは早いし使いやすいよね
995 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 02:05:31.70 ID:G4evJUNh.net] >>972 縦書きはWPFも非対応だろ
996 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 08:55:29.27 ID:3wDwo2/L.net] MSがPWAに手を出したから、類似技術のElectronは始まる前にMSでは終わった
997 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 10:13:54.51 ID:c77DGTlb.net] コンソールとフォームしか作ったことないけどまだまだ
998 名前:「けますか? [] [ここ壊れてます]
999 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 11:09:05.32 ID:796HNo8s.net] 趣味ならどうでもいい 職業ならWebできないと仕事ない
1000 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 12:00:33.19 ID:D2y+fK6k.net] てっきり今後はWPFが主流になると思って使ってみたけど、 情報がネットに少なすぎてまいったわ
1001 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 14:16:56.73 ID:+3oTwv9E.net] 趣味で作ってるから問題ないわ
1002 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 21:48:57.38 ID:2ZtD67QF.net] 例外処理について教えてください 簡単な例で、キーボードから数字を入力させて処理するとして、非数字が入力されたら 数字が入力されるまで、正しい入力をするよう促したいとします (これだけなら例外を使わなくても簡単ですが、あくまで例として) bool flag = false; string str; int i=0; while(flag != true) { try { Console.Write("enter a number = "); str = Console.ReadLine(); i = Int32.Parse(str); flag = true; } catch { Console.WriteLine("incorrect number."); } } Console.WriteLine("your number is : " + i); こんな感じで、try-catchの間をループで囲んで、脱出フラグを用意するのが正攻法 なのでしょうか? なんかもっとスマートな方法がありそうなのですが
1003 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 21:57:03.35 ID:dUUr3xK4.net] >>981 いや、例だと 回答してもこれは違う実は書いてないけど こういう問題があって駄目だの 小出しでどんどん出るから ピンポイントでこの問題を解決したいってのを書いて
1004 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 21:58:19.97 ID:M7HPB+1x.net] do while int.TryParse
1005 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 21:59:25.26 ID:IVUDpQN0.net] var i = 0; while (true) { Console.Write("enter a number = "); var str = Console.ReadLine(); try { i = Int32.Parse(str); break; } catch (FormatException) { Console.WriteLine("incorrect number."); } } Console.WriteLine("your number is : " + i);
1006 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 22:04:19.96 ID:IVUDpQN0.net] iを0で初期化するのもやめたほうが良かったな
1007 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 22:11:00.58 ID:2ZtD67QF.net] >>982 すいません、ピンポイントで課題に直面しているのではなくて、勉強中で疑問に思ったので 質問しました 例えばファイルオープンで存在しないファイル名を掴まされたとか、テキストファイルを想定 しているところにバイナリを噛まされたとか、そういうケースのリトライをどうやって実装するのかと 疑問に感じたのです
1008 名前:981 mailto:sage [2018/04/05(木) 22:19:06.91 ID:2ZtD67QF.net] >>984 このソースは理解できましたが、>>985 はどういう意味でしょう? 私は921でもあるのですが、この時指摘いただいたとおり、iを初期化しておかないと 未割り当てとしてコンパイル通りませんが
1009 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 22:24:09.13 ID:dUUr3xK4.net] >>986 ファイル読み込みに失敗しました。 Windowsを終了します。
1010 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 22:36:19.31 ID:7xCMhR6w.net] 気持ちは分からんでもないが、抽象的な質問しても抽象的な答しか返ってこないと思うw static void Main(string[] args) { var number = 0; Func<bool> tryAskNumber = () => { Console.Write("enter a number = "); return int.TryParse(Console.ReadLine(), out number); }; while (!tryAskNumber()) Console.WriteLine("incorrect number."); Console.WriteLine($"your number is : {number}"); }
1011 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 22:36:33.86 ID:796HNo8s.net] >>986 そんなもん具体的に何をどうリトライしたいのかによる それが明確になってるならそれをそのまま実装するだけだ ネットワークエラーのようにそのまま自動的にリトライ可能なエラーならある程度決まったパターンがあるけど、 >>986 のように条件を変えない限りリトライしても必ず失敗するケースでは個別に考えるしかない
1012 名前:デフォルトの名無しさん mailto:sage [2018/04/05(木) 23:38:35.52 ID:IVUDpQN0.net] >>987 この場合は while を抜けたときは必ず i に値が代入されているとコンパイラが判断できるので通る https://ideone.com/kUpXYh
1013 名前:981 mailto:sage [2018/04/06(金) 06:10:19.26 ID:e2Dy7HRM.net] >>989 私の学習では、まだ Func<bool> tryAskNumber = () => この書き方が理解できていないのですが、これでやっているのは例外の処理ではなくて boolでメソッドの戻り値を評価して処理を繰り返しているのですね? 抽象的な質問だと言われればそのとおりなのですが、エラーが発生したときに例外を 返してくるメソッドを使っているときに、正常処理ができるようになるまで同じ処理を繰り返す、 というケースの質問でした 条件を変えるとかは本質的な話ではなくて、「例外が発生しなくなるまで繰り返す」という 処理フローそのものの質問です >>984 で、break文でtryの中からwhileブロックを抜ければよい、と理解できたので十分です (tryブロックから、その外側のwhileを抜けられると思ってなかったので躓いてました) 数字入力を取り上げたのは、例として単純で、言わんとすることがすぐに伝わるかと思った だけです >>991 >>984 の var i=0; を var i; にしただけだとエラーになりましたが、int i; なら通るんですね
1014 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 11:09:07.04 ID:iz5pUoek.net] >>981 例外が出たらアプリケーションを止める ファイルオープンだとしてもそれは変わらず、存在しなくてリトライしたいなら以下のような事前チェックをするべき if(存在していない)continue; ってのが理想だけどファイル系のエラーってたくさんあるし、確認しずらいのもあるからtry-catchを使わないのが現実的じゃないことも メソッドが例外を出すのは使ってはいけない使い方をしているということなので、使っていい状態か確認してから呼び出すよう心がけるべきかな
1015 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 11:31:23.65 ID:KffLTaJD.net] foreach(var a in XXX) { みたいなことを可能にするためには XXX はどんなクラスを継承してないといけませんか? (何が必要か) たとえば、XXX がDataRowCollection 型だったら foreach(DataRow a in XXX) とやらないと怒られてしまいます。 DataRow[] だったら、var が使えます。 この違いは一体なんだろう(なにが必要なのかと)、と
1016 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 11:39:53.65 ID:QmpxvPzQ.net] ジェネリックインターフェイスを実装してるから
1017 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 11:44:13.58 ID:19AXhYIg.net] IEnum〜だっけ
1018 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 11:54:13.71 ID:KffLTaJD.net] つまり、DataRowCollection は IEnumerable を継承しているから、foreach の in に使えるけど IEnumerable<T> は継承してないから foreach(var は許されない ということですか
1019 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 12:11:24.19 ID:78uF6QEL.net] >>992 ラムダ式を使わずに書くとこう static void Main(string[] args) { var number = 0; while (!TryAskNumber(out number)) Console.WriteLine("incorrect number."); Console.WriteLine($"your number is : {number}"); } static bool TryAskNumber(out int number) { Console.Write("enter a number = "); return int.TryParse(Console.ReadLine(), out number); } プログラミングの基本は一気にすべてを解決しようとしないこと。 問題を小さな問題に分割すること。 「○○が成功するまで繰り返す」なら、○○の部分と成否を判定してリトライ する部分は分けた方が基本的に分かりやすくなる 抽象的な質問に対して何か言えるのはこの程度だと思うけど....
1020 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 12:42:38.82 ID:bxzO13cU.net] >>994 継承は関係ない GetEnumeratorってメソッドがあればok
1021 名前:デフォルトの名無しさん mailto:sage [2018/04/06(金) 15:01:40.67 ID:Mgh91ASd.net] へー
1022 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 新しいスレッドを立ててください。 life time: 33日 23時間 52分 35秒
1023 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています