dupchecked22222../cacpdo0/2chb/345/57/tech152005734521734240086 ふらっと C#,C♯,C#(初心者用) Part136 ->画像>4枚 ◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

ふらっと C#,C♯,C#(初心者用) Part136 ->画像>4枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1520057345/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん2018/03/03(土) 15:09:05.75ID:SBEkwl3H
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

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

■関連スレ
C#, C♯, C#相談室 Part95
http://2chb.net/r/tech/1508180530/
C#, C♯, C#相談室 Part93
http://2chb.net/r/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part135
http://2chb.net/r/tech/1517749348/

■コードを貼る場合は↓を使いましょう。
http://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
http://referencesource.microsoft.com/
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured

2デフォルトの名無しさん2018/03/03(土) 18:09:05.02ID:T0Do3u+2
>>1
放置してると落ちるんでね?

3デフォルトの名無しさん2018/03/03(土) 19:55:41.98ID:kXsLgfSK
いちおつ!

4デフォルトの名無しさん2018/03/04(日) 08:49:14.26ID:Jnf3+hM1
invokeの意味がよく分からない。
別のスレッドからUIのコントロールを触るには、手順が必要でそれをInvokeを通すとちゃんとやってくれる
ということらしい。
疑問1:手順を踏まないと駄目なのはFormに貼り付けたコントロールだけなのか?
これは「コントロールはスレッドセーフじゃない」と同義のことか?

疑問2:一般的なクラスやListデータはスレッドセーフなのか?
 例えば、100kバイトの受信データが常時更新されているとする。これをメインスレッドにコピーするときに
半分程度コピーしたときに、次の受信割り込みでスレッドが切り替わって上書きされるなんてことは起きないのか?
スレッドの切り替えはOSが勝手にやるんだから、これは当然起きてしまいそうな気がするんだが、防ぐ手立ては
あるんか?

5デフォルトの名無しさん2018/03/04(日) 09:32:08.73ID:fUFxJxoP
>>4
>手順を踏まないと〜
いいや、作成したコントロールすべて
>これは「コントロールは〜
スレッドセーフ性についてはリファレンスに書いてあるのでお読みください
勝手に判断していいことは何もない
https://msdn.microsoft.com/ja-jp/library/system.windows.forms.control(v=vs.110).aspx

6デフォルトの名無しさん2018/03/04(日) 09:37:54.15ID:fUFxJxoP
>疑問2
個々のクラスのスレッドセーフ性については、使用するクラスのリファレンスを参照
スレッドセーフなコレクションクラス群というのも提供されている
https://docs.microsoft.com/ja-jp/dotnet/standard/collections/thread-safe/

スレッドセーフでないクラスをスレッドセーフに扱いたいのであれば自分でその機能を実装する必要がある
その際はlockステートメントやAutoResetEventクラスなどが役に立つだろう

7デフォルトの名無しさん2018/03/04(日) 09:43:21.26ID:fUFxJxoP
どうやって実装するかに関しては
一般的なスレッドセーフプログラミングのガイドに従うが
あまりにも広範すぎるのでここには記載しない

手っ取り早くはラッパクラスを書き、
ラッパクラスのプライベートなインスタンス変数にロックオブジェクトを確保し
すべてのメソッドの入り口でロックを取ってしまうことである

8デフォルトの名無しさん2018/03/04(日) 10:16:01.96ID:Jnf3+hM1
>>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に渡すDelegateにガッサリとほりこんでやれば絶対に
安全ってことでいいのだな。
 それなら別にLockもへったくれもいらない。なんも難しくないな。

9デフォルトの名無しさん2018/03/04(日) 10:18:39.61ID:Jnf3+hM1
>一般的なスレッドセーフプログラミングのガイドに従うが あまりにも広範すぎるのでここには記載しない

いったいどう広範なんだ? Lockしたら終わりだろ。変数の書き換え中に切り替わらんなら何も問題ないはずだよな。

10デフォルトの名無しさん2018/03/04(日) 10:21:36.77ID:kbKww4G0
頭悪そうだから死んだ方が早いよw
頑張って

11デフォルトの名無しさん2018/03/04(日) 10:26:47.18ID:P1djYTMd
ID:Jnf3+hM1は例のアホだろ。相手すると有害

12デフォルトの名無しさん2018/03/04(日) 10:27:55.49ID:Jnf3+hM1
Lock(object)
馬鹿っぽいのはこっちだな。なんでObjectでロックする必要があるんだよ。単にラベルでいいだろ。
Lock(name)
なんかサンプルにしろ説明にしろ難しそうに見せたがるんだよな。賢そうに見せたいんだろうな。要するに
賢くないってことだな。

13デフォルトの名無しさん2018/03/04(日) 10:28:25.45ID:fUFxJxoP
ああ一昨日くらいにTaskでギャーギャー喚いていた人でしたか
気付かず相手をしてしまいました
申し訳ありませんでした

14デフォルトの名無しさん2018/03/04(日) 10:31:50.77ID:Jnf3+hM1
素人の簡単な質問に答えられないで、解った振りをするのは良くないぞ。

15デフォルトの名無しさん2018/03/04(日) 10:35:45.11ID:1sQ1Awq8
なんでワッチョイにしなかったの?
今更IDでNGとか面倒だわ

16デフォルトの名無しさん2018/03/04(日) 10:58:16.52ID:AyWkuyS0
>>15
忘れてた
次スレ作成機能でワッチョイ引き継がれないんだよ

17デフォルトの名無しさん2018/03/04(日) 11:02:22.21ID:Jnf3+hM1
スレッドセーフについては
http://www.atmarkit.co.jp/ait/articles/0505/25/news113_3.html
ここが詳しい。これは頭のいい説明だからすぐわかる。
要するにロックすればいいのだが、あたりかまわずロックするとかなり負荷が
かかるので少し工夫がいるということだな。別に難しいことはなにもない。

18デフォルトの名無しさん2018/03/04(日) 11:47:26.08ID:ARj8S9qu
>>12
お子様なら他へ行った方がいい
成人なら本当の意味でコミュニケーション障害
はっきりいうとおまえとは会話ができない

19デフォルトの名無しさん2018/03/04(日) 14:20:47.53ID:WBzCvYNu
どーせ、下でSendMessage, PostMessageがアドレス渡してるだけ

20デフォルトの名無しさん2018/03/04(日) 14:42:13.81ID:uAAm/7vQ
質問です。

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を生成することはできないのでしょうか?

21デフォルトの名無しさん2018/03/04(日) 15:00:25.90ID:TuLIeqFr
>>20
if(this is B){return B}
みたいな感じでできると思うよ
普通はvirtualメソッドにして派生先でoverrideするのが普通だと思うけど

22デフォルトの名無しさん2018/03/04(日) 15:27:46.44ID:uAAm/7vQ
>>21
ありがとうございます。
クラスが増えるたびにAに分岐を追加するより、派生先で実装しようと思います。

23デフォルトの名無しさん2018/03/04(日) 19:13:35.42ID:u0JZMqVO
>>12
多分Lockを誤解してる

わざとどうでもいい名前にしてあると言うことを理解してないな

24デフォルトの名無しさん2018/03/04(日) 19:59:17.54ID:nPEAVJyb
触るなって言ってんだろテメーも脳に障害おってんのか可哀想にな

25デフォルトの名無しさん2018/03/04(日) 20:04:25.17ID:u0JZMqVO
老害のお爺さんがかわいそうだ

26デフォルトの名無しさん2018/03/04(日) 23:57:01.35ID:WQz+5Gha
質問があります。
.NET標準のChartコントロールなんですけど、
大量のデータ(50000件くらい)を表示してから
そのChartの上をブラウザとかエクスプローラとかを横切らせたら
Chart上に残像みたいなのができて(ちょっと時間が経ったら正常に表示される)
物凄い重いんですけど直す方法ってあるんですか?

27デフォルトの名無しさん2018/03/05(月) 03:26:06.68ID:FmqsFfvf
>多分Lockを誤解してる
>わざとどうでもいい名前にしてあると言うことを理解してないな

そこだな。「どうでもいい」のが名前の性質だ。ここは「どうでもいい」ということが重要だ。だからこそどうでもいい
名前にしないといけない。Objectである必要はないし、そういう制約をつけるのは間違いだ。そこのところを理解していないと思う。

28デフォルトの名無しさん2018/03/05(月) 03:31:44.01ID:FmqsFfvf
>>26
Chartなんてそんなに大量に表示する物と違うだろ。だったら代表値にしてデータ量を
圧縮するとか見せ方を工夫すればいい。

29デフォルトの名無しさん2018/03/05(月) 03:47:59.98ID:FmqsFfvf
田舎者は総じて優しいが、村にそぐわないと判断すると突然ブチ切れて仲間を募って村八分を宣告する。
ネット上に田舎者が多いのはやむえない。ああもう朝だ。寝よう。

30デフォルトの名無しさん2018/03/05(月) 10:31:47.99ID:g6xeuprT
>>29
何一人でブチ切れてるんだ
田舎者か?

31デフォルトの名無しさん2018/03/05(月) 10:53:45.02ID:NW7TavUN
>>28
なるほど
どうもです^^

32デフォルトの名無しさん2018/03/05(月) 13:58:03.66ID:cH/DYV+T
>>30
触るなって言ってんだろ田舎者のバーコードハゲ

33デフォルトの名無しさん2018/03/05(月) 14:29:39.76ID:LOGBc36P
すまんが、.netってパスワードを安全に保管するためのストアは用意されてるの?

34デフォルトの名無しさん2018/03/05(月) 15:12:32.80ID:kyU90biE
パスワードをローカルに保管するという発想そのものが本質的に間違っているからそんなものはないよ
ハッシュ値だけ平文で保管して、パスワード原本は速攻で捨てろ

35デフォルトの名無しさん2018/03/05(月) 15:27:45.97ID:VUFW/DdR
別に間違っちゃいないw

多少のリスクより利便性を選択する人がいてもいいし、そういう人に倒して
「お前は意識が低い」なんて言うのは独善的で傲慢だ

36デフォルトの名無しさん2018/03/05(月) 15:45:24.35ID:JEjkThv5
原本のパスワード保存しちゃうのは流石に行儀が悪いにゃ

37デフォルトの名無しさん2018/03/05(月) 15:56:42.33ID:VUFW/DdR
それはただの思い込み

そんなこと言ったらローカルどろろかクラウドにパスワードするChromeやFirefoxは
もっとお行儀悪いよ

現実問題、個人のPCがハッキングされる可能性なんか交通事故よりはるかに低いし、
その上暗号化されたパスワードがたまたま見つかってたまたま解析される可能性なんかもっと低い

38デフォルトの名無しさん2018/03/05(月) 16:25:46.24ID:ThW050h/
FFFTP「だよね〜」

39デフォルトの名無しさん2018/03/05(月) 16:52:28.49ID:1eWHTsKF
どういう脅威に対してどの程度の安全性が必要なのか次第で対策が違う
PasswordValutだってある意味では安全なストア

40デフォルトの名無しさん2018/03/05(月) 17:33:52.91ID:JEjkThv5
ローカルなのかクラウドかの話ではではく、
原本のパスワード(平文のパスワード)をそのまま保存するのは行儀が悪いと言いたかったにゃ

41デフォルトの名無しさん2018/03/05(月) 17:35:03.97ID:Pse13c5G
またテンプレも読めないクソどもか

42デフォルトの名無しさん2018/03/05(月) 18:54:38.72ID:M+sV1Obo
MessagePackでバイナリ化してAES暗号じゃダメなんか?

43デフォルトの名無しさん2018/03/05(月) 18:57:06.18ID:M+sV1Obo
もしかしてWPFのPasswordBoxコントロールのSecureStringの事かいな?

44デフォルトの名無しさん2018/03/05(月) 19:28:47.91ID:s8qQLejn
>>37
行儀の問題じゃないよ。
パスワードを保管することに意味があるか無いか。
極一部の例外を除いて、一般に開発者がユーザーの入力したパスワードを保管したいと考える(勘違いする)のは、
ほとんどが簡易的なパスワード認証を実装したいケースだ。
その場合、パスワードを復元可能な形で保管する必要はまったく無い。ハッシュを使えばハッシュ値の保管方法に気を使う必要はなく、
遥かに簡単でセキュアな認証情報管理が実現できる。

45デフォルトの名無しさん2018/03/05(月) 19:38:50.95ID:6kird9PE
お互いに違うことについて話しているんだからどこまで言っても平行線

46デフォルトの名無しさん2018/03/05(月) 19:53:33.34ID:VUFW/DdR
ちょっと何言ってるのかわかんないねw

47デフォルトの名無しさん2018/03/05(月) 20:04:06.08ID:TmlQrbi9
>>46
ハッシュを使ったパスワード認証ってセキュアプログラミングの基本中の基本だぞ
ほんとに分からないの?ちょっと危機感持ったほうがいいよ

48デフォルトの名無しさん2018/03/05(月) 20:05:40.69ID:1eWHTsKF
>>44
>極一部の例外を除いて、… ほとんどが簡易的なパスワード認証を実装したいケースだ。
これは完全に思い込みだよね
用途を聞く前からパスワード保管を全否定はいただけない

49デフォルトの名無しさん2018/03/05(月) 20:07:37.44ID:NU3s1WzP
入力したパスワードをそのまま持っておくというのは、作り手側の危機感が足りないようにみえるね
大昔の yp からそんなことはしないものと決まっていたと思っていたが

50デフォルトの名無しさん2018/03/05(月) 20:08:13.42ID:NU3s1WzP
>>48
用途にかかわらずパスワード保管は薦められないですね

51デフォルトの名無しさん2018/03/05(月) 20:08:48.06ID:/FfNoiRb
いいから死ねよ
ころすぞ

52デフォルトの名無しさん2018/03/05(月) 20:12:36.88ID:1eWHTsKF
>>50
平文で保管しろっていってんじゃないよ
それともパスワード管理ソフトも全否定?

53デフォルトの名無しさん2018/03/05(月) 20:20:35.48ID:VUFW/DdR
やっぱりちょっと何言ってるのか分からないけど、
>>47の人は認証するのが自分のコードだと思い込んでる気がするw

だからChromeとかFirefoxとか具体名出してるのに

ちなみに、FXとか株とかのトレードアプリでもパスワード保存機能がついてるのが普通ですよw
場合によっては億単位の金が絡むんだけどね。

54デフォルトの名無しさん2018/03/05(月) 20:22:44.40ID:6kird9PE
だから言っただろ

お互いに違う話してるから平行線だって

55デフォルトの名無しさん2018/03/05(月) 20:32:50.58ID:NU3s1WzP
>>52
保存するならキャッシュで、というのが安全ですね

>>53
ブラウザのパスワード入力支援の話でしたか…そりゃ違う話ですねえ…

56デフォルトの名無しさん2018/03/05(月) 20:46:48.34ID:ThW050h/
普通pinだよね〜

57デフォルトの名無しさん2018/03/06(火) 17:22:21.13ID:40kaWQRT
結局、Javaみたいなパスワード用のストアってないわけ?
証明書のストアがあるぐらいならあるのかと思っちゃったよ

58デフォルトの名無しさん2018/03/06(火) 17:47:30.00ID:dl9PBnAI
そうだな、キーコンテナも面倒だから。

59デフォルトの名無しさん2018/03/06(火) 18:20:52.64ID:/9uChD8X
用途とか細かく書かないと質問者そっちのけでマウント合戦始めるスレだからな

60デフォルトの名無しさん2018/03/06(火) 19:27:25.91ID:XG2njCd+
>>59
なんか気付いてないみたいだけど、それ一番やりたがってるの君じゃないの?w
ずっと思ってたけど単細胞だよねお宅。
この単細胞な幸せ回路、ネトウヨだったりもしそうw

61デフォルトの名無しさん2018/03/06(火) 21:11:51.62ID:PPL1W7N6
ワッチョイ無くてもいつもの奴らが書いてるのが分かるの笑える

62デフォルトの名無しさん2018/03/07(水) 00:46:04.16ID:E/AkTCwB
グラフ書くってなったらchart使うんだよね?

63デフォルトの名無しさん2018/03/07(水) 06:54:10.77ID:dyn70F+X
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型だと型変換できなくてエラーになるのですが
どのように書いたらいいでしょうか?

64デフォルトの名無しさん2018/03/07(水) 08:17:43.90ID:WEJ0//C3
構造体だからってオチ?

.TotalHourだったらどうなんのよ

65デフォルトの名無しさん2018/03/07(水) 08:26:40.93ID:of1Kc4NS
>>63
合計 = B.sum(a => a.時間.ticks)
として合計出して
TimeSpan.FromTicks(C) でTimeSpan型に戻せばいいんじゃね?

66デフォルトの名無しさん2018/03/07(水) 09:27:56.48ID:Rfc91YM1
>>57
MS的には資格情報マネージャを使えということになっているので
プラットフォーム独立な奴はない

67デフォルトの名無しさん2018/03/07(水) 12:38:55.21ID:2wkHBkDf
同じソースを Framework 3.5 / 4.0以降 で使い回ししたいのですが、
コンパイル時にバージョンを識別させることできますか。

C言語ぽく書くと

#ifdef FRAMEWORK35
  // 3.5用のソース
#else
  // 4.0用のソース
#endif

的なことがやりたいのですが。

68デフォルトの名無しさん2018/03/07(水) 13:50:23.04ID:pfa4Uwxk

69デフォルトの名無しさん2018/03/07(水) 14:03:40.77ID:500OxlyC
それ、いいと思ってるのは本人だけシリーズ
んなコード、ソース中に散りばめたこと想像するだけでゾッとするわ

70デフォルトの名無しさん2018/03/07(水) 20:08:03.89ID:kqlcBDmo
MSからしてみればさっさと最新のFramework入れろよとイライラしてそう

71デフォルトの名無しさん2018/03/07(水) 20:17:39.78ID:UA5KKOmp
>>69
良し悪しの問題じゃなく、好むと好まざると>>67みたいないことが必要な場合は実際にある。
質問者が言ってもいない前提まで加えてくだらないいちゃもんつける奴の方がよほどぞっとするよ

72デフォルトの名無しさん2018/03/07(水) 20:21:03.26ID:KHQlD0En
社内共有のコアライブラリとかなら全然アリでしょ

73デフォルトの名無しさん2018/03/07(水) 20:36:32.77ID:dyn70F+X
>>65
ticks使えばいけそうです。
ありがとうございます。

74デフォルトの名無しさん2018/03/07(水) 21:33:11.25ID:500OxlyC
>>71
は?ねーよ
ちょっと考えてみ
それさ、ソースのどっかにあったらアプリの挙動変わるんだぜ
いちいちそんなの確かめてらんねーよ
んでそれがあちこちにあったらもうプロジェクト終わるね
そこでやるべきものじゃないし
もうバージョン管理レベルで変更するものであってそこに書くもんじゃねーよ

75デフォルトの名無しさん2018/03/07(水) 22:35:50.64ID:jL/wX1y0
>>74
>バージョン管理レベルで変更するものであってそこに書くもんじゃねーよ

複数の.NETバージョンのサポートが必要なライブラリなんかを作る時に
新バージョンにしかない機能も使えるようにしたい場合
どういう風にバージョン管理レベルで変更すればいいの?

76デフォルトの名無しさん2018/03/07(水) 22:39:29.37ID:kbPu74AY
神エクセルの読み取りで使えそうな典型的処理をまとめたライブラリとかない?
100種類ぐらいの神エクセルファイルがあるんだが今月中に読み取りを全部自動化しなければならない
時々フォーマット間違ってるものもあってもう心が折れそう

77デフォルトの名無しさん2018/03/07(水) 22:45:02.00ID:N0djvhnX
>>74
濫用すべきでないのは当たり前だが、意義を完全に否定できるものでもない

78デフォルトの名無しさん2018/03/07(水) 23:05:12.13ID:Zg+bx7i1
>>76
詳しく

79デフォルトの名無しさん2018/03/07(水) 23:25:58.56ID:500OxlyC
>>75
全部別にフォルダきって個々で管理

80デフォルトの名無しさん2018/03/07(水) 23:58:33.00ID:ydf/SLRs
>>79
クソワロタ

81デフォルトの名無しさん2018/03/08(木) 00:03:36.21ID:QLJ7X/Ow
>>80
と思うだろ?
お前が節約してる手間なんて実装だけだろ
テストや動作確認は各バージョン全部やらなきゃいけない上に
バージョン番号での分岐のテストも各バージョン毎全部しなきゃならん

分けた方が楽だぞ

82デフォルトの名無しさん2018/03/08(木) 00:13:13.28ID:3qyzG5H1
バカの壁ってこういうの言うんだねw

83デフォルトの名無しさん2018/03/08(木) 00:33:12.76ID:S1Kk1wSa
>>81
こういうほぼ共通なコードで #if を使わずにファイルを分けたら逆に管理しづらくならない?
https://github.com/Microsoft/referencesource/blob/master/System/sys/system/threading/semaphore.cs

84デフォルトの名無しさん2018/03/08(木) 00:45:24.85ID:3qyzG5H1
だから、バカの壁の向こう側に何言っても無駄w

コメントは二重管理になるからコメントなしで理解できるようなコードを書け、
と言っても問題意識を共有できない人がいるのと同じw

っていうかまさにそういうタイプの人なんだろう

85デフォルトの名無しさん2018/03/08(木) 01:02:06.65ID:deM+QTok
質問者に対する提案ならともかく議論なら議論スレでやってくれ

86デフォルトの名無しさん2018/03/08(木) 01:08:54.44ID:3qyzG5H1
こんな過疎スレでそんな「交通整理」に意味あるの?
スレ違いって自分が言いたいだけだよねw
何よりそういう自己分析ができないってもう絶望的に頭悪いよ

87デフォルトの名無しさん2018/03/08(木) 01:28:30.71ID:QLJ7X/Ow
>>83
それでもやれ
何度も言うけどお前等は実装なんてチンケな工程にこだわり過ぎてる
処理はできるだけ共通化すると幸せになれるという根拠のないルールが呪いになっている
いくら共通化ったってここまで複雑になったコードが管理しやすいわけねぇだろ

88デフォルトの名無しさん2018/03/08(木) 01:37:47.28ID:4UosM8wW
ソースから完全に分けるのと#ifdef使うのとなら
あらゆる状況でどちらかが常に優れてるわけじゃないんだから
状況に応じて選べばいいんじゃん

89デフォルトの名無しさん2018/03/08(木) 06:04:32.53ID:y9tge1zw
>>87
素人かよ

90デフォルトの名無しさん2018/03/08(木) 07:19:52.71ID:QLJ7X/Ow
>>88
それができてるの?
共通化全適用以外の選択肢を取れるの?
馬鹿だから無理でしょ?

91デフォルトの名無しさん2018/03/08(木) 12:01:42.48ID:m1DjBHcg
T where int,long のT a、T bの変数に対して、a+bを実行したいんだけとなんかいい方法ある?

92デフォルトの名無しさん2018/03/08(木) 12:14:51.49ID:KNsyBCN9
where int,longってなに?

93デフォルトの名無しさん2018/03/08(木) 12:55:19.49ID:NNizdivM
その話もうさんざん議論されてるからまずはググってくれ

94デフォルトの名無しさん2018/03/08(木) 13:10:43.66ID:m1DjBHcg
>>93
ダイナミックやリフレクションを使うとできそうって感じかな
どちらも採用したくないので諦めることにするわ

95デフォルトの名無しさん2018/03/08(木) 13:16:29.76ID:wkuTrnYs
int, longならlongだけ用意しとけばいいだろ
ジェネリックにしたくなる気持ちはわかるけど実際ほとんどの場合は結局一つしか使わないよ
YAGNI

96デフォルトの名無しさん2018/03/08(木) 13:25:00.67ID:m1DjBHcg
>>95
将来的にdecimalとかでも使うかもしれないから最初からTで作っときたかった

97デフォルトの名無しさん2018/03/08(木) 13:35:16.73ID:KNsyBCN9
いつのまにかwhereにintやlongやdecimalが指定できるようになったのか?
違うだろ?

98デフォルトの名無しさん2018/03/08(木) 13:38:21.60ID:7fgp1oNf
くだらないいちゃもんつける馬鹿多すぎだなこのスレ
いちいちいちゃもんつけないと死ぬのかねw

99デフォルトの名無しさん2018/03/08(木) 13:46:19.13ID:KNsyBCN9
int,longだとintかつlongだからそんなもの存在しない

100デフォルトの名無しさん2018/03/08(木) 13:54:06.36ID:m1DjBHcg
>>99
確かにそうだ
ビルドするまでエラーがでなかったから気づかなかったよ

101デフォルトの名無しさん2018/03/08(木) 14:17:45.68ID:NNizdivM

102デフォルトの名無しさん2018/03/08(木) 14:44:07.16ID:m1DjBHcg
>>101
演算用の構造体を作る方法もあるのか
結局型ごとに構造体を作らなきゃいけないなら型ごとにメソッドを作る方がいいかな
考え方は面白いんだけど書いてあるとおりちょっと強引な感じがするし構造体の使い方もちょっと気になる

103デフォルトの名無しさん2018/03/08(木) 16:13:44.03ID:q48xQYEj
>>102
まあそうだよね…
どうしてもメソッドを共通化したいときにこれをやるとしても、普通のオーバーロードでラップする感じになると思う

104デフォルトの名無しさん2018/03/08(木) 19:01:36.93ID:8WwTysgF
1週間で身に付くC#言語のページが見られなくなっちゃった

105デフォルトの名無しさん2018/03/08(木) 20:05:36.32ID:uN05qvV/
ドメインが無くなったか。祟りやね

106デフォルトの名無しさん2018/03/08(木) 20:08:59.95ID:4PZLazli
atmarkitとdobonだけでいいよ
ググるとだいたいこの2つがヒットする

107デフォルトの名無しさん2018/03/08(木) 20:25:17.73ID:SCks1g98
WinFormのプログラムで85k超データなんて作ってないのにLargeObjectHeapが増えていくのはなんでなの・・・

108デフォルトの名無しさん2018/03/08(木) 20:34:08.32ID:QLJ7X/Ow
蓮メモリにならないように大きい単位で取るんじゃないだろか?
と尻もしないのにレスしてみる

109デフォルトの名無しさん2018/03/09(金) 00:41:31.37ID:ZGeJbhBv
public static extern bool GetDiskFreeSpace(
string lpRootPathName,
out ulong lpSectorsPerCluster,
out ulong lpBytesPerSector,
out ulong lpNumberOfFreeClusters,
out ulong lpTotalNumberOfClusters);
上記だとビルドが通らない。
これのようなクラスタあたりのセクタ数、及び、セクタあたりのバイト数を取得する方法ってありますか?

110デフォルトの名無しさん2018/03/09(金) 01:15:48.36ID:Ohyjj+7n
>>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
);

111デフォルトの名無しさん2018/03/09(金) 01:50:16.56ID:kxCLXgK0
WINAPI型(__stdcall)じゃないC++の関数を呼ぶ時は
DllImportに CallingConvention = CallingConvention.Cdecl 入れないとメモリ破壊する

112デフォルトの名無しさん2018/03/09(金) 02:03:07.70ID:cJvHUA86
パスカル呼び出し〜♪

113デフォルトの名無しさん2018/03/09(金) 02:37:19.22ID:RRa2zRYk
TextBoxにフォームロードの中で文字列を設定しています。
ウィンドウが表示された時にそのテキストボックスの中の文字列が
全て選択された状態で表示されてしまいます。

どうすれば文字を設定しても選択された状態にならないでしょうか?

114デフォルトの名無しさん2018/03/09(金) 03:49:26.97ID:5QpWky7V

115デフォルトの名無しさん2018/03/09(金) 07:23:53.63ID:jWrPs27H
アクティブコントロールを他にあてれば済む話じゃ?

116デフォルトの名無しさん2018/03/09(金) 07:30:10.43ID:LQK/KvB6
教育系の研究データをとるためのアプリをwindowsベースで開発したくて

「確かな力が身につくC#入門」

を勉強終えた。
次のステップとして

「独習C#」

を終えるべきか、もう自分で調べながらプログラムを書き始めるべきかどっちがいいだろう?

117デフォルトの名無しさん2018/03/09(金) 07:35:01.67ID:LQK/KvB6
教育心理系で

1. タッチパネル上に×を表示させて学習者に触らせる
2. ×とタッチの座標を記録して、二つの距離を計算

1,2を数十回実施して結果のデータをテキストで吐き出す。
が実走したい最低限の仕様。
可能であればネット経由で結果のテキストデータをサーバーに送信したい。
です。
「独習c#」
ぐらいは終えてからの方が、急がば回れで効率いいのかな?

ちなみにプログラム経験は20年前にCで人工知能の研究してたぐらいでほぼど素人。

118デフォルトの名無しさん2018/03/09(金) 07:40:46.98ID:Bccqo4ev
ランサーズとかのクラウドソーシングで募集したら?
一万も出せば一瞬でできるでしょ

119デフォルトの名無しさん2018/03/09(金) 07:54:26.29ID:S6tyjFC3
>>117
もうさっさと作ったらいいと思う

120デフォルトの名無しさん2018/03/09(金) 08:04:10.76ID:LQK/KvB6
>>119
実際に組み始めて分からないことは調べる方式のほうが習得早いのかな。
あまりに恥ずかしいコードにならないように、基本は身に着けたいと思ったんだけど
「独習C#」
のページ数にひるんで、これは辞書的に使う本なのかと・・・。

121デフォルトの名無しさん2018/03/09(金) 08:05:34.00ID:LQK/KvB6
>>118
そういう手もあるのか・・・。
いやでも、実験しながら仕様は変えてくだろうから、やはりプログラミングの技術ももっておかないと。

122デフォルトの名無しさん2018/03/09(金) 08:13:16.82ID:a01q5dZ9
Encoding.UTF8

UTF8Encoding.UTF8
の違いって何ですか?

123デフォルトの名無しさん2018/03/09(金) 08:26:28.70ID:Bccqo4ev
>>121
作ってさよならじゃなくて同じ人に継続的に依頼できるよ
お前はプログラミングで遊ぶより他にやるべきことがあるだろ
お前の時間はそんなに安いのか?
手段と目的をごっちゃにしてはいけない

124デフォルトの名無しさん2018/03/09(金) 08:43:48.76ID:UzKVOjRn
>>122
おんなじ
UTF8EncodingはEncodingを継承してて、
継承元.静的メンバ
派生先.静的メンバ
どっちを書いても継承元.静的メンバを指す

125デフォルトの名無しさん2018/03/09(金) 11:56:27.06ID:a01q5dZ9
>>124
なるほど、同じなんですね
使い分けするようなケースってあるんですか?

126デフォルトの名無しさん2018/03/09(金) 12:17:04.55ID:fyExTngt
>>125
無い
君自身が疑問を感じたように、実際紛らわしくて誤解の元になるので、常にそのメンバが本当に定義されているクラス(つまりこの場合はEncodingの方)を通して参照するべき。

127デフォルトの名無しさん2018/03/09(金) 12:49:19.65ID:ZvjLaJPv
>>121
学んでおいて損はないな
仕様次第だけどサーバー抜きで1時間あればできると思う

128デフォルトの名無しさん2018/03/09(金) 13:25:03.80ID:Ys6dLiAA
>>121
コメント&ソースコード付で納品してもらうという手もある。おれは初心者のころ、金を払って自分が実現したいことの定石を学んだ。

129デフォルトの名無しさん2018/03/09(金) 15:04:45.21ID:WqdE+VIZ
ssh.netのドキュメントってどこにあるのか知っている人います?

130デフォルトの名無しさん2018/03/09(金) 15:15:33.91ID:jFFmu6Vz
僕らはgoogleさんじゃないので

131デフォルトの名無しさん2018/03/09(金) 16:16:50.85ID:Vu9joQUd
2つのアプリ(win form)で情報をやりとりするとき、データベースを介してやるのって一般的ですか?
ソケット通信とどちらがいいでしょうか?あるいは、もっといいやり方がありますか?
情報といっても、数字や数文字の文字列をトリガーに動作する程度です。

132デフォルトの名無しさん2018/03/09(金) 16:20:24.75ID:ZvjLaJPv
一般的かと聞かれたら一般的じゃない
DB増えると管理対象が増えるだけだし

通知を監視するためにずっとDBポーリングするってことは無駄だよ

自分ならプロセス間通信のどれかを選んで使う

133デフォルトの名無しさん2018/03/09(金) 16:46:01.78ID:RRa2zRYk
ぶっちゃけここで質問するよりランサーズで外注して
教えてもらった方がはやいよ

俺もよくつかってる。

たまーに超人的なPGがいる。

134デフォルトの名無しさん2018/03/09(金) 17:23:23.24ID:mUWfUl6D
>>131
キューに溜めたいならDBを
そうじゃなければソケットでやるかな

135デフォルトの名無しさん2018/03/09(金) 17:38:57.35ID:a01q5dZ9
>>126
そうします
回答ありがとうございました

136デフォルトの名無しさん2018/03/09(金) 17:39:37.72ID:XwDpFLle
>>131
DBでも競合に弱いのもあるからな(SQLiteとか)
通信量が少ないのなら、ソケットでいいかと

137デフォルトの名無しさん2018/03/09(金) 18:22:06.08ID:5QpWky7V
>>117
windowsベースで開発したい理由って何なの?

そのレベルなら言語の基礎文法を学んだあとに
GUIフレームワークを学びながら作れば十分だと思うが
window固有のGUIフレームワークを学ぶ価値がどの程度あるのかわからない

138デフォルトの名無しさん2018/03/09(金) 18:28:41.57ID:nugpn9wm
また始まった
アホは人に突っ込む前に自分に突っ込むことをいい加減覚えろ
いちいち下らん突っ込み入れないと死ぬのかw

139デフォルトの名無しさん2018/03/09(金) 18:31:19.37ID:S6tyjFC3
>>133
俺も副業できるかな?と思って見てみたけど
一つも理解可能な案件が無かったw

140デフォルトの名無しさん2018/03/09(金) 19:07:43.72ID:LQK/KvB6
>>127
現場で表示時間のパラメーター等を変更するなどあると思うので、
勉強がてら独習c#をリファレンスに組んでみます。

141デフォルトの名無しさん2018/03/09(金) 19:08:45.19ID:LQK/KvB6
>>128
人のソースコード読むのも勉強になるよね。
今の環境は周りにコーディングする人いないので、物によっては外注もありですね。

142デフォルトの名無しさん2018/03/09(金) 19:11:12.05ID:LQK/KvB6
>>137
外部施設でコンピューターについて何もわからない人たちにデータを取ってもらう協力をお願いするため。
Linuxとか使ったらそれだけで強力拒否される。

なるべく多くの施設に手軽に参加してもらうには、一番普及してるOSがいいかなと。

143デフォルトの名無しさん2018/03/09(金) 19:31:36.94ID:jFFmu6Vz
OSに縛られたくないならhtml+javascript(typescript)という手もあるな

144デフォルトの名無しさん2018/03/09(金) 19:47:58.15ID:Vu9joQUd
>>132 >>134 >>136
ありがとう。やはりちょっと変ですよね。
いつの間にか決まってたのですが、一応異議を申し立ててみます。

145デフォルトの名無しさん2018/03/09(金) 19:48:10.97ID:41ngztg2
>>114
この発想は無かった

146デフォルトの名無しさん2018/03/09(金) 19:51:06.10ID:Ys6dLiAA
>>139
理解できるレベルになると安い料金で要求だけ高い地雷だらけでエントリーしたくなくなるぞw

147デフォルトの名無しさん2018/03/09(金) 20:06:29.84ID:S6tyjFC3
>>146
っていうかやりようが無いようなクソ案件ばっかりじゃね?
そんなインターフェース提供されていないのに〇〇アプリと連動する〜とか
不可能なレベルの要求ばっかり

148デフォルトの名無しさん2018/03/09(金) 20:26:38.72ID:QuBAH4JX
ランサーズの案件見てると、なめてのか?
てめーでやっとけってなるな

149デフォルトの名無しさん2018/03/09(金) 23:52:59.10ID:5QpWky7V
>>142
なるほど

タッチパネル端末で一番普及してるOSかどうかは怪しいけど
windows端末を使う前提で決まってるのならいいのかもね

150デフォルトの名無しさん2018/03/10(土) 10:21:46.47ID:lWKHEJ9v
>>149
C#だとwindows、android、ios全部範疇に入ってくるのでいいかなと。
Linuxとか使いたいけど、普通の人に教育する手間考えるとWindowsがやはり無難なんだよね。

151デフォルトの名無しさん2018/03/10(土) 10:33:40.72ID:/EdGBq5J
だったらWebでいいでしょ

152デフォルトの名無しさん2018/03/10(土) 10:33:56.77ID:8DmJsdyc
WinFormsとWPFに新しいコンポーネントが登場するらしいね
WebViewって言うEdgeエンジンのブラウザ

153デフォルトの名無しさん2018/03/10(土) 10:40:46.17ID:X48XHq+4
WebViewはブラウザ作るためじゃなくてUIにWebコンテンツを組み込むためにあるんやで
WinFormsやWPFで取り残されてる可愛そうな羊たちにもWeb移行のチャンスをあげようという、MS様の粋なはからい

154デフォルトの名無しさん2018/03/10(土) 10:59:22.28ID:AHBDXxkZ
いらねーなぁ

155デフォルトの名無しさん2018/03/10(土) 11:07:31.46ID:WYKTGawe
ありがてぇ

156デフォルトの名無しさん2018/03/10(土) 11:28:57.91ID:8DG95oz+
win10でしか動かないEDGE

ついにwin7,win8の切り捨てがはじまったのか

157デフォルトの名無しさん2018/03/10(土) 12:00:36.06ID:8DmJsdyc
コレがソースhttp://www.atmarkit.co.jp/ait/articles/1803/09/news079.html
MSの正式発表らしい

158デフォルトの名無しさん2018/03/10(土) 12:20:10.83ID:9KQiOEH7
大学生だけどこれとか俺でもできそうなんだが本当にできるのかな。
https://www.lancers.jp/work/detail/1876846

159デフォルトの名無しさん2018/03/10(土) 12:29:04.63ID:mmvBcDOg
そんなことまでここで聞くのかよ

160デフォルトの名無しさん2018/03/10(土) 12:34:31.33ID:mzuiLpki
これで高単価ってタグ付けるとか舐めてるな
間違いなく、割に合わないだろ

161デフォルトの名無しさん2018/03/10(土) 12:38:56.33ID:9KQiOEH7
学生のワイにはこれで本当に1万円貰えるなら最高なんだが本当に貰えるのかな

162デフォルトの名無しさん2018/03/10(土) 12:39:14.85ID:OtR0XgI+
>>158
ガキの小遣いかよw

163デフォルトの名無しさん2018/03/10(土) 12:41:42.56ID:gfz1jyyQ
そのサイトがスクレイピングNGにしてるかどうかが一番の問題

164デフォルトの名無しさん2018/03/10(土) 12:42:27.86ID:dOb3Zb1K
この価格じゃどう考えても割に合わない
保守も考えたら最低でも10倍以上はないと話にならんぞ

165デフォルトの名無しさん2018/03/10(土) 12:54:04.27ID:mmvBcDOg
>>163
動作テストと称してデータ抜いて渡してもらい逃走

166デフォルトの名無しさん2018/03/10(土) 13:10:29.96ID:AY0LzIsz
>>158
追加でいくらでも変更依頼が来るし
最終的に目的を達成できないとして支払い拒否
しかもキレながらな

いい社会勉強になると思うわ

167デフォルトの名無しさん2018/03/10(土) 13:21:42.55ID:f+B2oLbA
>>164
あの金額だと仕様を詰めるだけでも無理だと思う

168デフォルトの名無しさん2018/03/10(土) 13:46:50.93ID:xj7f+MUR
今日から勉強始めました、ってバカじゃなければ仕様があいまいな時点で拒否反応が出る

169デフォルトの名無しさん2018/03/10(土) 14:09:52.14ID:DtuniYws
そんなもん後から詳細を教えて貰えばいいだけやん

170デフォルトの名無しさん2018/03/10(土) 14:11:44.37ID:xj7f+MUR
>>169
御託はいいから早くコード書け

171デフォルトの名無しさん2018/03/10(土) 14:18:47.15ID:mzuiLpki
>>169
この手のは依頼主自身が良く分かってないパターン。
詳細なんか出てこないと思った方が良い。

172デフォルトの名無しさん2018/03/10(土) 14:24:44.51ID:DtuniYws
今見たら出ててワロタ

173デフォルトの名無しさん2018/03/10(土) 14:25:36.62ID:HMj/39DU
1本1万円って、ベーマガの原稿料ぐらいか...

174デフォルトの名無しさん2018/03/10(土) 15:41:18.55ID:SGC3RsHk
>>158
地雷だな

175デフォルトの名無しさん2018/03/10(土) 15:50:55.96ID:f+B2oLbA
>>172
マジかよ、って思ったらほんとに出てたわ
このスレ見てたりして w

176デフォルトの名無しさん2018/03/10(土) 16:39:21.24ID:e/SHdYnW
そもそもスクレイピングって合法なのか?
国内でスクレイパーが逮捕された事件あったよねたしか

177デフォルトの名無しさん2018/03/10(土) 16:50:08.79ID:8DmJsdyc
>>176
図書館のやつは結局無罪だったと思ったが

178デフォルトの名無しさん2018/03/10(土) 16:59:10.67ID:ummNhzTo
サーバー攻撃と見なされるような頻度でのアクセスがダメってことじゃね?
あと著作権や引用のルールとか

179デフォルトの名無しさん2018/03/10(土) 18:16:32.48ID:CYNPOxqI
>>177
不起訴になったが起訴猶予だったと書かれていたな
相手方とは後に和解して共同声明出してるけど
MDISも警察も検察も到底容認出来る対応ではない

赤の他人ながら未だに腸が煮えくりかえるわ

180デフォルトの名無しさん2018/03/10(土) 18:16:34.41ID:32LTkPVU
>>150
Xamarinのこと言ってるんだろうけどそんな簡単じゃないよ
それぞれの環境に合わせた実行ファイルの用意と配布だけでも相当な手間だから

Windowsに限ってもOSバージョンや.NETバージョン別にテストが必要
ブラウザと違って環境用意するのも大変

仕事で使う物ならアプローチの仕方から相談できる人間を雇ったほうがいいと思うよ

181デフォルトの名無しさん2018/03/10(土) 18:18:17.62ID:32LTkPVU
>>179
あれな
起訴猶予とかあり得んよ

182デフォルトの名無しさん2018/03/10(土) 18:31:18.81ID:OvdmWYI0
C#といっこも関係ないけど、5年ぐらい前にちょっと流行ったような気がするNUIって
結局一過性のブームで終わった?

それとも実は俺が知らんだけでじわじわ普及してる?

183デフォルトの名無しさん2018/03/10(土) 18:55:58.97ID:OboHG4Gl
kinectは生産終了したよ

184デフォルトの名無しさん2018/03/11(日) 01:08:34.06ID:RWekHsjv
はまった時にはランサーズに外注

Super Programmerがたまーにいるので
金払ってでも教えてもらった方が早いぞ。マジ。

185デフォルトの名無しさん2018/03/11(日) 01:21:20.70ID:/f5l5HiP
結局Windows10用アプリはWindows10でしか作成できないってことか

186デフォルトの名無しさん2018/03/11(日) 02:17:10.20ID:QwNvBvJi
揚げ足取るようだけどコーディングは出来るでしょ
開発環境で実機デバッグが出来ないだけでは?
リモートならデバッグも可能なはず

187デフォルトの名無しさん2018/03/11(日) 02:36:42.01ID:dxsKvpqu
UWPとかか?UCRTのお仲間かと思いきや消沈した事を思い出すな

188デフォルトの名無しさん2018/03/11(日) 02:37:40.34ID:wjY1+kiE
確かUWPはWin7だとSDKのインストールすらできないんじゃなかったっけ

189デフォルトの名無しさん2018/03/11(日) 07:30:18.04ID:xf8GjCk5
>>184
NGワード「ランサーズ」余裕でしたw

190デフォルトの名無しさん2018/03/11(日) 18:22:20.07ID:+qdItvv1
起動時にファイル等を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は閉じることになるので、これでいいかと思ったのですが。

191デフォルトの名無しさん2018/03/11(日) 18:45:57.52ID:xH7ziL+Z
本当にファイルを開きっぱなしにしたいの?

192デフォルトの名無しさん2018/03/11(日) 19:00:54.30ID:v3WfRQw8
局所的にusingでいいんじゃね

193デフォルトの名無しさん2018/03/11(日) 19:06:58.01ID:dxsKvpqu
>>190
IDisposeインターフェイスを実装したオブジェクトならusingを使う、ILになれば結局同じ様なコードだけど
Formで持つなら保険はvoid Dispose(bool)で行う、VSフォームデザイナーだと*.Designer.csでoverrideされてる
開くのはFormShownなら例外ダイアログ設定後だしコンストラクタより良さそうだが…しかし開く対象は固定なんかな

194デフォルトの名無しさん2018/03/11(日) 20:27:46.27ID:KWlCmpPd
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

以上です

195デフォルトの名無しさん2018/03/11(日) 20:38:13.04ID:PLvoLZo8
>>190
落ちる前にストリームを閉じるのはたぶん無意味なので
無理してusuingやtryのブロックで囲う必要はないと思う。

open/closesするタイミングは教条主義的に考える必要はないでしょう。
要は必要になる前にopenして必要なくなった後にcloseすればよいだけ

196デフォルトの名無しさん2018/03/11(日) 20:44:38.34ID:lvju0XX+
>>195
たぶんで答えるな
てか知らん事に答えようとすんな

197デフォルトの名無しさん2018/03/11(日) 20:53:10.61ID:dF1Cj7yy
>>190
そのフォームを開く Program.Main だっけでやればいいんじゃない?

using( var stream = (ファイルを開く)) {
Application.Run(new Form1( stream )); // フォームのコンストラクタの引数にでも渡してやる
}

ただ本当にファイルを開きっぱなしにする必要があるのかとか、きちんと検証する事をおすすめ。

198デフォルトの名無しさん2018/03/11(日) 20:57:33.66ID:PLvoLZo8
>>196
たぶんは婉曲表現で本当は確実に必要ない
お前くそくだらない突っ込みではなく意義のある発言をしろ馬鹿

199デフォルトの名無しさん2018/03/11(日) 21:07:56.85ID:lvju0XX+
>>198
確実にお前の理解が足りてない
意地張るな、な?

200デフォルトの名無しさん2018/03/11(日) 21:16:59.78ID:xf8GjCk5
運用中にファイルの中身を確認できないファイルとな?
開いたらアプリもろとも死んでもらうまさに漢の中の漢よ

201デフォルトの名無しさん2018/03/11(日) 22:34:52.34ID:Aj3DuHB+
>>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) 知らん

202デフォルトの名無しさん2018/03/11(日) 22:41:38.87ID:baL9gt0u
別に普通でしょ。例えば、アプリのローカルフォルダにある設定ファイルは基本アプリの1インスタンスにのみ有効であるべきで、アプリ起動時に設定ファイルを書き込み権限でオープンして他は読み取りのみにしておけば、二重起動防げるし。
むしろ、設定ファイルを他から勝手に変更されないようにそうすべきであるし。

フォルダ変えれれば厳密な二重起動は防げんけど。

203デフォルトの名無しさん2018/03/11(日) 23:09:46.06ID:G7UGiphU
>>201

ありがとうございます。
教えていただいたURLを調べてみます。

204デフォルトの名無しさん2018/03/11(日) 23:15:47.74ID:gqF9MiU9
>>202
どこの国の普通?おじいちゃん?

205デフォルトの名無しさん2018/03/11(日) 23:25:00.03ID:gqF9MiU9
おじいちゃんのやり方がことごとく常識外れ過ぎる
なのにドヤ顔で間違った事ばかり書いてくる

2061902018/03/11(日) 23:46:06.06ID:+qdItvv1
>>191-193
ログ出力と、あまりOpen/Closeを連続でしたくない外部機器を考えています。
void Dispose(bool)調べてみます。

>>195-199
繋がっている外部機器を出来る限りCloseしたく、usingが使えないので下を試したのですが、
こういう事はダメなようで、定石みたいなものがあればと質問させて頂きました。
try{
  Open
  Application.Run(new Form());
}finally{
  Close
}

207デフォルトの名無しさん2018/03/12(月) 00:45:48.96ID:Ok4d75rJ
>>206
open/closeがデバイスハンドルの取得/破棄のことを指してるなら
やはり通常はアプリが異常終了する場合のことを考える必要はないと思う
(プロセスが落ちれば勝手に閉じられる)

そういう話ではなく、例えば232Cとかから何か送信する必要があるとかなら、
http://www.atmarkit.co.jp/ait/articles/0507/01/news134.html
これを利用するのが普通じゃないかな

208デフォルトの名無しさん2018/03/12(月) 00:46:52.39ID:Ok4d75rJ
っていうか、ファイルじゃなかったのかw

209デフォルトの名無しさん2018/03/12(月) 01:52:29.42ID:uqwSBh4C
VS2010使ってます。

/// と入力した時のコメントの色を変更したいんですけど

/// <summary> ← この部分

Tool→Option→Environment→Fonts and Colors→ Display items
の中のどれのフォントを設定すればよいのでしょうか?

背景色を黒、文字色を黄色にしたです!

210デフォルトの名無しさん2018/03/12(月) 01:58:56.52ID:P6b6g7+Q
>>209
自分で1つずつ設定するのは大変だから、設定済みのスタイルをインポートするのがおすすめ
お気に入りの色の組合せダウンロードしたら、「ツール」→「設定のインポートとエクスポート」とかで出来たはず
https://studiostyl.es/schemes

211デフォルトの名無しさん2018/03/12(月) 09:27:50.49ID:uqwSBh4C
>>210
自分の好みの色に変えたいんですよね。
例えばコメントの類は黄色
といった具合です。

212デフォルトの名無しさん2018/03/12(月) 11:15:09.08ID:wJJ3vVe4
XML ドキュメント コメント - テキスト

このへん

213デフォルトの名無しさん2018/03/12(月) 13:07:46.38ID:uqwSBh4C
>>212
サンキュー

214デフォルトの名無しさん2018/03/12(月) 13:40:31.58ID:wJJ3vVe4
>>213
どういたしまして

215デフォルトの名無しさん2018/03/13(火) 00:20:52.15ID:Odo9QKBD
コンストラクタの引数に型を渡して中で利用したいのですが
どのようにすればいいでしょうか?

public class Hoge
{
 public Hoge(MyClass)  ←引数にMyClass型を渡したい(MyClass型の他にも様々な型を渡せるようにしたい)
 {
  new Fuga<MyClass>(); ←MyClassをこのように利用したい
  ...

216デフォルトの名無しさん2018/03/13(火) 00:26:24.49ID:ddUI/fLh
>>215
ジェネリクス

217デフォルトの名無しさん2018/03/13(火) 00:26:57.35ID:Odo9QKBD
自己解決しました

218デフォルトの名無しさん2018/03/13(火) 00:27:13.56ID:Odo9QKBD
>>216
すみません、ありがとうございます

219デフォルトの名無しさん2018/03/13(火) 00:57:32.21ID:/h3xSJ+X
>>215
まあ、インターフェースだな

220デフォルトの名無しさん2018/03/14(水) 01:01:17.69ID:m+3G+xXH
unity上で人間の視覚を表現することってできるでしょうか?
人型のモデルの頭に2台のカメラを搭載して、その映像をもとに
別窓でリアルタイム3Dモデリングをさせたいのですが

221デフォルトの名無しさん2018/03/14(水) 02:19:45.27ID:FlaHjwms
それは、このスレではないな

222デフォルトの名無しさん2018/03/14(水) 10:10:35.96ID:dHyAKo2T
視差とかステレオカメラで検索すれば原理はいくらでも出てくるが、
実装となるとがんばれとしか

223デフォルトの名無しさん2018/03/14(水) 11:12:27.04ID:ROGqoRwU
Intel RealSenceはC#でのサンプル開発例がネットに転がってると思う

224デフォルトの名無しさん2018/03/14(水) 14:05:02.41ID:x3Fz4Pwf
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);

225デフォルトの名無しさん2018/03/14(水) 14:24:14.78ID:dHyAKo2T
ユーザーの下だから、アクセスする権利が無いとか
試しにC:\testとかフォルダ作って、その中でやってみたらどうかな?

226デフォルトの名無しさん2018/03/14(水) 14:31:30.29ID:tgt6PWyO
C#以前の話だけどProcessにcmd指定するの禁止なの?

227デフォルトの名無しさん2018/03/14(水) 15:44:35.53ID:9afmhkEC
最近使ってないから怪しいものだが、確かProcessに標準エラー出力をみるプロパティーかメソッドのようなものが有った気がするので
エラー見たら判るかもしれんね

228デフォルトの名無しさん2018/03/14(水) 16:09:22.74ID:x3Fz4Pwf
>>225 >>226 >>227
海外サイトに同じ質問してる人がいた。
みてみまーす

229デフォルトの名無しさん2018/03/14(水) 17:51:15.29ID:m+3G+xXH
>>222,223
ありがとうございます

230デフォルトの名無しさん2018/03/14(水) 22:03:23.06ID:o9PP0UYA
>>224
ユーザー名違うけどユーザーフォルダ直下で普通に起動する
https://dobon.net/vb/dotnet/process/shell.html
>ProcessStartInfo.UseShellExecuteプロパティがTrueである必要があります
あとはC#以外の要素、例えばtest.batの中身に因るのか
関連付けに頼らず本来の方法であるCMD.EXEと引数に変えてみるとか

231デフォルトの名無しさん2018/03/15(木) 17:01:20.38ID:OFI+/e24
visual studio 2015を使ってます
Nugetでいくつかのパッケージを導入したのですが、ビルド時にパッケージだけを/debug/vendorフォルダへ移動させて/debug直下をスッキリとさせたいのですが、そういうことは出来るのでしょうか。

232デフォルトの名無しさん2018/03/15(木) 17:43:33.35ID:hfQcS2x0
ずっと2010使ってるけどさすがに2015あたりに俺も
乗り換えたほうがいいのかな?

233デフォルトの名無しさん2018/03/15(木) 17:46:24.44ID:m1Pb8szy
インテリセンスの利き方が違うし、やっぱり新しいIDEの方が洗練されてるのねん

234デフォルトの名無しさん2018/03/15(木) 17:58:50.65ID:UhGUJU8S
UIがモダンな感じになっていいぞ

235デフォルトの名無しさん2018/03/15(木) 17:59:31.07ID:hfQcS2x0
じゃ、そろそろ乗り換えるか。

236デフォルトの名無しさん2018/03/15(木) 18:10:48.50ID:LOd8Ik0+
個人なら2017でいいだろ
アホみたいにアグレッシブにアップデート入れてくるから時々動かなくなったりするけど

237デフォルトの名無しさん2018/03/15(木) 18:14:24.77ID:hfQcS2x0
昔は有料だったけど今VSは無料だよね?

238デフォルトの名無しさん2018/03/15(木) 18:16:17.46ID:vwwhEuwP
Community エディションは無料

239デフォルトの名無しさん2018/03/15(木) 18:22:29.26ID:Nomi5wj3
>>231
IDEの機能の話は専用スレでやれ。その方が早い
Visual Studio 2015 Part8©2ch.net
http://2chb.net/r/tech/1484855822/
>>237>>238
2017まではExpress editionもある

240デフォルトの名無しさん2018/03/15(木) 18:24:12.93ID:wy9qzwcH
>>239
2017のExpressはDesktop版だけだけどね

241デフォルトの名無しさん2018/03/15(木) 18:25:28.67ID:OFI+/e24
>>239
返信ありがとうございます。
質問先のリンク助かります。
スレ違い失礼しました。

242デフォルトの名無しさん2018/03/15(木) 21:37:17.95ID:lQYzxnHH
ここで質問で合ってるかわかりませんが、質問です
WPFのNuGetでTesseractを入れて使ってるんですが、
DLLをEXEに埋め込みたくなって、いろいろ試したのですが、うまくいきませんでした

一つはcsprojをいじってDLLを埋め込み、スタートオブジェクトを変えてアセンブリを読み込む方法
これはDLLがないと言われてエラーが出ました
もう一つはCostura.Fodyを使った方法で、TesseractEngineのコンストラクタの引数がおかしいと言われます

いずれも埋め込まずに普通に作ると動くので、何かしらが悪さをしてる感じです
DLLからDLLを呼んでいる場合などにマージがうまくいかないとネットに書いてありましたが、それかもしれませんが確証はありません
なにかうまいやり方があったら教えてほしいです

243デフォルトの名無しさん2018/03/15(木) 21:39:04.95ID:8s0v/J9G
>>242
ILMerge

244デフォルトの名無しさん2018/03/15(木) 21:41:26.54ID:lQYzxnHH
>>243
ILMergeはWPFでは使えないとネットに書いてあったので試してなかったのですが、
一応調べてみますありがとうございます

245デフォルトの名無しさん2018/03/15(木) 21:43:34.26ID:8s0v/J9G
あ、Xamlかごめん

246デフォルトの名無しさん2018/03/15(木) 22:38:11.69ID:9PNbTFft
マシンがポンコツだったらVS2010のままがいいと思うけど

247デフォルトの名無しさん2018/03/15(木) 22:41:12.85ID:i5gA+aI/
>>246
VS2015は辛いけど、2012や2013はそこそこ軽いと思うが

248デフォルトの名無しさん2018/03/15(木) 23:02:51.90ID:564IsbOI
俺環の割とポンコツなWindows10のPCで数万行のソース扱うのにVS2015よりもVS2017は軽い
更新が頻繁なので不具合が怖いのなら勧めない

249デフォルトの名無しさん2018/03/15(木) 23:14:46.01ID:eOZcuNU1
うちでも 2017 の方が軽かったので 2015 は削除しちゃったな。
2015 は仕事で3年くらい前のハイスペックノートPC で使ってるけど、こっちでは快適に動いてる。
たぶん SSD の有無の違いだと思う。

250デフォルトの名無しさん2018/03/15(木) 23:14:54.49ID:G4lYZ6Ln
うちは自社サービスのベンチャー企業だけど、そんなところですら2017のアップデートはヤバいから即更新はやめろと言われてるわ
それくらいヤバイ

251デフォルトの名無しさん2018/03/15(木) 23:17:53.56ID:xYxZI4zx
>>250
cuda が突然コンパイルできなくなってしまった…

252デフォルトの名無しさん2018/03/15(木) 23:18:27.31ID:OyYl/4tP
プレビュー版せっかく提供してくれてるのに使ってないの?

253デフォルトの名無しさん2018/03/16(金) 00:19:13.55ID:UGxuTSYH
VS2010は、

Corei7で今のところサクサク

ゲーミングマシンだからね。

254デフォルトの名無しさん2018/03/16(金) 01:46:06.61ID:4NPyRaAF
>>253は初心者さんのフリした上級者の釣りなのかそれとも本当にnoobなのかどっちなんだろう・・・

255デフォルトの名無しさん2018/03/16(金) 01:46:48.12ID:YQujD0/w
さすがに今時async/awaitすら使えない2010に固執してるのは老害を自覚すべき

256デフォルトの名無しさん2018/03/16(金) 07:27:51.70ID:j2EKGffa
まだ人間に進化してないだけだから許してやれ

257デフォルトの名無しさん2018/03/16(金) 07:36:24.07ID:YQujD0/w
2017これだけアップデートしまくってて次のバージョンどうするんだろうな
どこかで打ち切って今後の更新は2020買ってねにしたとしても、十分に差が開くまでだいぶ時間がかかりそう
MS的にはVSの売上ってほとんどがサブスクリプションらしいから、このままローリングアップデート&サブスクリプションモデルに移行するのかな

258デフォルトの名無しさん2018/03/16(金) 10:09:27.69ID:UGxuTSYH
>>254
初心者ではないかな。
ただ、道具が古いから宮大工と化してる。

259デフォルトの名無しさん2018/03/16(金) 20:53:41.08ID:nemrSVup
>>250
別に珍しくないだろ
製品作る環境と最新版のお試し環境を分けてるって普通じゃね?

260デフォルトの名無しさん2018/03/16(金) 20:58:16.26ID:nemrSVup
>>258
なんで宮大工が出てくるのかわからんけど、宮大工ってスーパーエリートだぞ

261デフォルトの名無しさん2018/03/16(金) 21:40:09.64ID:xjOcwCvy
>>253
Core i7っていつのだよ
10年位前のから現行のまで沢山あるぞ

262デフォルトの名無しさん2018/03/16(金) 21:51:33.66ID:MNSKZY2x
>>261
未だに3桁ナンバーのi7だけど流石に2015以降は参照表示でもたつきあるな

2632422018/03/16(金) 23:07:21.34ID:hJQANr44
なかなかうまくいかないですが、諦めも肝心なので

264デフォルトの名無しさん2018/03/16(金) 23:58:39.77ID:ObjPIdw2
>>260
だからEクラスなんでしょ?
5段階評価で

265デフォルトの名無しさん2018/03/17(土) 00:27:17.49ID:RBvH9ws3
宮大工は一般の大工が持っていない技能を有しているから価値があるんだろ
きっと258の周りには、自分の使ったことのあるバージョンよりも古いバージョンのVSを使わせたら
ストレスで気が狂ってしまう特殊な人が集まっているのだろう

266デフォルトの名無しさん2018/03/17(土) 00:45:38.67ID:81xIwi7x
宮大工が高層ビル建てるわけじゃねーし
いらねーだろ

267デフォルトの名無しさん2018/03/17(土) 00:57:29.49ID:AFPHSGxF
>>61
まじか。
3念位前のやつや

そこそこいいCPU思ってたのに。
スレッドりっぱー言うヤツかおうかな。

268デフォルトの名無しさん2018/03/17(土) 02:49:21.97ID:Ci5roxTl
いやいや、CPUの世界はムーアの法則が成立しなくなって10年以上経つ
もうPCが2,3年で旧式化するような時代じゃない
買い換えても体感できる差なんか生じないはず

269デフォルトの名無しさん2018/03/17(土) 02:54:05.45ID:qzfhHg+K
xeon phi意味無いのけ?(泣)

270デフォルトの名無しさん2018/03/17(土) 02:55:49.69ID:AFPHSGxF
スレッドリッパーに乗り換えるでぇ!!!

Core i7 でもVS2010は結構サクサクなんやでぇ〜〜〜!!!

271デフォルトの名無しさん2018/03/17(土) 09:12:19.89ID:Y0/A+N6A
>>264
F欄乙

272デフォルトの名無しさん2018/03/17(土) 11:29:52.43ID:CNXWa26n
なんだこのアホな流れ
ム板なのに池沼おおすぎ

273デフォルトの名無しさん2018/03/17(土) 12:23:47.36ID:Y3xdMG3N
池沼?猿が一匹いるだけだって

274デフォルトの名無しさん2018/03/17(土) 15:46:46.56ID:M3SRgPTg
おじいちゃんは無自覚

275デフォルトの名無しさん2018/03/17(土) 22:53:57.33ID:OInIw7xo
>>255
async/awaitってGOTO並みにバグの温床じゃね

276デフォルトの名無しさん2018/03/17(土) 22:55:06.66ID:RxkyGAdz
>>275
流石にawaitのスレッドがどう動いているか知らずに作っている人は居ないだろ




居ないよな?

277デフォルトの名無しさん2018/03/17(土) 23:11:42.27ID:9trEGhAn
>>275
ねーよ

278デフォルトの名無しさん2018/03/17(土) 23:30:53.21ID:r9/bjmm+
>>275
勉強しましょうねおじいちゃん

279デフォルトの名無しさん2018/03/18(日) 00:01:00.32ID:0OkoAdUr
>>275
負け惜しみ乙

280デフォルトの名無しさん2018/03/18(日) 00:05:42.06ID:LfFBDSxt
最近非同期あんまり必要ねぇな

281デフォルトの名無しさん2018/03/18(日) 00:36:08.73ID:EuAIJOKr
ちゃんと原理を知っていれば問題ないと思うけど
ちゃんと教えてくれる親切な存在が非常に少ない

GUIがそこでメソッドの終了を待機しますなんてクソみたいな解説は死ねばいい

282デフォルトの名無しさん2018/03/18(日) 00:47:54.07ID:LfFBDSxt
>>281
っていうかどっちかっていうと
必要になるときの仕様と機能にズレがあるような

283デフォルトの名無しさん2018/03/18(日) 08:41:34.51ID:loIla1VR
uwpは非同期前提でライブラリ組まれているから
ファイルとか通信弄ったら強制的にasync使わされるな

284デフォルトの名無しさん2018/03/18(日) 09:23:43.99ID:LfFBDSxt
>>283
マジで?

ファイル弄ってる間何しろって言うんだろうねw
@ファ
Aファ
Bファ
Cファ
Dファイルオープン!
ってユーザが押したら
デフォルトで@〜Cも実行されんの?

285デフォルトの名無しさん2018/03/18(日) 09:40:47.42ID:CHE7gnWF
>>284
@のオープン処理のawaitで待つのでオープン処理が排他で開きっぱなら、@のオープンが終わった後にA〜Dでオープン失敗で例外吐くんじゃね

286デフォルトの名無しさん2018/03/18(日) 09:49:55.53ID:LfFBDSxt
>>285
いや、await使わなかったとき

287デフォルトの名無しさん2018/03/18(日) 10:08:23.31ID:CHE7gnWF
>>286
待機せずに実行ならどれか一つがオープン処理が終わって他が失敗で例外やね、まず@が最初に終わるだろうけど
非同期当たり前だと、待機中の操作で悪さできないようにに考えないといけないのがまた面倒だわな

288デフォルトの名無しさん2018/03/18(日) 10:15:30.86ID:LfFBDSxt
>>287
100個処理ある内のあって2〜3個ぐらいの動作をデフォルトにしたのか
気が狂ってるな

289デフォルトの名無しさん2018/03/18(日) 11:28:06.55ID:loIla1VR
>>284
ファイル弄る前にボタンを無効化するだろうが・・・

290デフォルトの名無しさん2018/03/18(日) 11:32:15.68ID:MxU9Q35+
>>289
処理中はWinFormだろうが入力無効にするな
そういう安全策とらずに文句言うのが初心者らしくていいじゃん

291デフォルトの名無しさん2018/03/18(日) 13:30:49.36ID:MzxPx1yb
個人的にはあんまりよい方法と思わんが、UIじゃなく
処理の再入を無効にするってアプローチもあるよ

292デフォルトの名無しさん2018/03/18(日) 13:49:17.89ID:DhSuPqdW
async/awaitがリリースされたときはヘルスバーグも耄碌したかと思ったな
今ではJavaScriptやPythonにもパクられているという

293デフォルトの名無しさん2018/03/18(日) 14:02:41.35ID:A9lQ6oik
>>292
移植するとき不便だからだろ

294デフォルトの名無しさん2018/03/18(日) 16:08:33.34ID:HvANmpx3
コーディング速くて正確な人って入力補完とかリファレンス見なくても頭の中で全部関数把握してるのかな

295デフォルトの名無しさん2018/03/18(日) 16:29:33.93ID:OEQy6gR7
VB職人みたいな人の中にはそういう人もいるね
頭使わず手癖でコピペコードを量産するタイプ

296デフォルトの名無しさん2018/03/18(日) 23:24:54.10ID:LfFBDSxt
>>294
そんなの無理だからちゃんと確認してるんだよ
正確じゃ無い人は覚えてると思い込んでてテキトーにやるんだ

297デフォルトの名無しさん2018/03/18(日) 23:58:03.91ID:Yx6XHCxq
>>296
本当に速くて正確な人を知らないんだな
まともな仕事をしてれば割とよく居るぜ

298デフォルトの名無しさん2018/03/19(月) 00:00:52.15ID:M6jv9Llf
ならその本人に聞けよ
馬鹿じゃなかろうか

299デフォルトの名無しさん2018/03/19(月) 00:32:04.41ID:ySbEw7Dl
>>297
だから確認するのも速いんだろ
暗記なんかしてねぇよ
馬鹿じゃあるまいし

300デフォルトの名無しさん2018/03/19(月) 00:52:11.24ID:LTn7thRp
過去に自分が速いって言われてたときは、
・普段から出来るだけ汎用的なコードを書くように心がける
・上のをテンプレートとして頭の中やソースファイルに保存しておく

結果迷いがないから「手が止まらなくて気持ち悪い」とか言われてたなぁ。。。
それにだんだんと洗練されていくからか、同じような機能を持ったコードを書いたときに自分の方が行数が明らかに少なかった。

つまり考えてる時間が短くて、打ち込みも少なかった。
そういう例もあると言う事で。

301デフォルトの名無しさん2018/03/19(月) 01:11:37.71ID:oS5ZVaWO
レスも気持ち悪いね

302デフォルトの名無しさん2018/03/19(月) 01:24:30.62ID:ySbEw7Dl
じゃあ、次は俺の番だな

ゴレイヌ「まずゴリラを具現化しようと決めてからはイメージ修業だな
最初は実際のゴリラを一日中いじくってたな。とにかく四六時中だよ
目をつぶって触感を確認したり、何百回何千回とゴリラで射精したり
ずーっとただながめてみたり、なめてみたり、音を立てたり、嗅いでみたり
ゴリラで遊ぶ以外何もするなと師匠に言われたからな
しばらくしたら毎晩ゴリラの夢を見るようになって、その時点で実際のゴリラをとりあげられた
そうすると今度は幻覚でゴリラが見えてくるんだ
さらに日が経つと幻覚のゴリラがリアルに感じられるんだ
重さも冷たさもすれあう音も聞こえてくる
いつのまにか幻覚じゃなく自然と具現化したゴリラが出ていたんだ」

で?何の話だっけ?

303デフォルトの名無しさん2018/03/19(月) 01:33:55.53ID:kUTGmwsL
>>297
それっていつも同じような処理を書いているからじゃなくて?

304デフォルトの名無しさん2018/03/19(月) 08:04:31.57ID:cKcZNHNu
別にいいじゃん速いやつ居たってw
てか普通に居るわw
悔しいんかおまいら?w

305デフォルトの名無しさん2018/03/19(月) 09:16:26.83ID:qo8Tft6w
そういう議論があること自体初心者からすると絶望だわ
調べる時間、確認する時間が段々短くなっていって最終的には何も見なくても
なんでもできるようになるもんだと思ってたが

306デフォルトの名無しさん2018/03/19(月) 11:20:24.08ID:HDkAdp56
>>305
何も見てないのは確認してないだけじゃん

307デフォルトの名無しさん2018/03/19(月) 11:30:07.90ID:Cjts25jg
英語でも辞書引くのは大事だしな

308デフォルトの名無しさん2018/03/19(月) 11:41:39.96ID:glrdUuh3
インテリセンスのなかった頃は、普通にviやmifesで書いていたわけで
当たり前のようにライブラリの関数名など記憶していた
何もなければ人間はそうやって順応するものだよ

309デフォルトの名無しさん2018/03/19(月) 12:42:56.69ID:rLxDQnm9
便利になるほど人間は退化するな

310デフォルトの名無しさん2018/03/19(月) 12:58:25.76ID:umuusKk5
くだらない話だけど、ライブラリに登場する識別子の数はその牧歌的な時代から何倍ぐらいになってるのかと。
100倍じゃきかないと思うけどね

311デフォルトの名無しさん2018/03/19(月) 14:13:40.38ID:74Z4r7y/
ちょっと聞いてみたいんだが、株の予測でぼろ株を当てるのに利用するとして、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#で本当にできる?

312デフォルトの名無しさん2018/03/19(月) 14:38:24.41ID:qo8Tft6w
21日前の価格-14日前の価格
14日前の価格-7日前の価格
7日前の価格-現在の価格
---の銘柄

313デフォルトの名無しさん2018/03/19(月) 14:40:08.64ID:qo8Tft6w
あ、+++だたw

314デフォルトの名無しさん2018/03/19(月) 14:57:45.70ID:74Z4r7y/
>>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未満にすればいいのか?

315デフォルトの名無しさん2018/03/19(月) 15:06:09.56ID:74Z4r7y/
x-(i*3)>1 か わかんねーw

316デフォルトの名無しさん2018/03/19(月) 15:39:22.39ID:qu0U5IXL
どっかにあったスクリプトをコピペして、自分のやりたいように改良したいんだろうけどさ
そう言うのはクラウドソーシングかどこかでお金を払ってやってもらったら良いんじゃないかな、話さえきちんと伝えられれば大してお金もかからないでしょう
C#を勉強中の人の邪魔にならないだけでなく、初心者の小遣い稼ぎにもなるだろうし、あなたもちゃんとしたプログラムが手に入る、良いことづくめだよ

317デフォルトの名無しさん2018/03/19(月) 15:44:50.75ID:74Z4r7y/
>>316  ま、そうだよね これで商売してる人いるんだわ
知恵○でぶくったら重回帰分析だのモンテカルロ・シュミレーションだの難しいこと知ってる人いたわ
キャリア積まないとわかんない話だってことは理解した さんくす

318デフォルトの名無しさん2018/03/19(月) 19:49:40.93ID:ukVABN43
たぶん何も理解してないとみた

319デフォルトの名無しさん2018/03/19(月) 19:59:31.14ID:I0s4BSGD
>>311
作ってあげようか? 
もとになるデータは何処からとりだしてくるの? 
チャンとしたソフトにするには80hくらいはかかるんじゃないだろうか?
その程度の費用で。

320デフォルトの名無しさん2018/03/19(月) 19:59:46.65ID:DSOIiGwJ
何も理解していなくてもスレ的にはいいけど、仕様・設計の段階で来られてもどの言語スレでもスレ違い

321デフォルトの名無しさん2018/03/19(月) 21:43:11.78ID:oS5ZVaWO
>>311
「週足のダウン」をどう定義するのか知らんが
仮に陰線ならダウンってことにすると、週ごとの始値・終値を比較して
値上がりしてるなら0、値下がりしてるなら1とすれば
3週間なら[0, 1, 1]みたいな配列ができる
[1, 1, 1]になってれば連続3回ダウン
(>>312の内容と意味は同じ)

プログラミングは難しそうだからExcelスレをオススメする

322デフォルトの名無しさん2018/03/19(月) 22:16:33.20ID:cxVTwmnS
>>311
プログラミングの基本は分割統治。

まず落ち着いて、

(1) 〇足(週足、日足、n時間足...)のローソクを表すCandle型を定義する
(2) 任意の期間の時系列の株価データを受け取って、その期間の〇足のCandleの配列を返すメソッドを書く

ここまで出来たら後は簡単でしょ

323デフォルトの名無しさん2018/03/19(月) 22:57:58.05ID:csFbH6Mx
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]]

324デフォルトの名無しさん2018/03/19(月) 23:03:11.50ID:URbJ5Q30
chunk_whileはNugetに落ちてそう

325デフォルトの名無しさん2018/03/19(月) 23:05:04.51ID:dKLVd5g6
ここで聞くべきかわからないんだがiis+asp.netで webapi作ったとして
リクエストをサーバーで処理してレスポンスをクライアントに返して届かなかった場合にaspでその失敗ってわかる?

326デフォルトの名無しさん2018/03/19(月) 23:33:49.94ID:CLhJZa33
すみません、どなたかにお聞きしたいのですが
intやshortのような整数型同士のキャストはどのくらいの負荷があるんでしょうか?

出来る限りメモリを切り詰めたいので常に最小の整数型を使っているのですけど
計算や引数を渡す過程で頻繁にキャストを書かなければいけないのはどうなのかなと思いまして

327デフォルトの名無しさん2018/03/19(月) 23:49:28.14ID:yTa9+1wL
>>326
気にしなくて良き。負荷気にするには数年速いわ

328デフォルトの名無しさん2018/03/19(月) 23:51:19.72ID:yZrCIvE9
>>326
大体の場合負荷は限りなく低い
でも局面によって違うから自分で試す以外答えはでない

普通に作ったのと切り詰めたのを比べるといい
DateTime.Nowの値を保存しておいて差分でどのくらい時間がかかるか見る

差が小さすぎるなら何万回もループさせて差分を見る

329デフォルトの名無しさん2018/03/19(月) 23:53:36.83ID:cxVTwmnS
>>326
もうPC-98の時代じゃないんだからw

330デフォルトの名無しさん2018/03/19(月) 23:55:45.93ID:6h1rUneg
>>326
データをストックする場所を最小にしたいのならともかく計算の過程で頻繁にキャストしていたらムダでしかない
キャストのコストが0でも保守が面倒になるだけ

331デフォルトの名無しさん2018/03/19(月) 23:57:09.07ID:glrdUuh3
>数年速いわ
音速の貴公子と言うより天文学レベルカー

と、微妙なtypoが何故か気になった

332デフォルトの名無しさん2018/03/20(火) 00:00:01.48ID:cgEg6Dwj
つーか、整数のキャストなんてHWが自動でやってくれない時代だって
符合拡張するか上位バイトを捨てるだけだよw

333デフォルトの名無しさん2018/03/20(火) 00:04:07.89ID:qVb9KqM8
4バイト整数に、1バイト型を4つ詰め込んだりするのは、組み込みC とか

GC もある、C# でやるだけ、ムダ! ムダ! ムダ!

334デフォルトの名無しさん2018/03/20(火) 00:08:35.20ID:iiZhLnn/
単純な話で32bitCPUで動いているとすると計算の基本単位が32bitなんだから
コンパイラ上で16bitに切り詰めて計算したところで意味がない
メソッドの引数でメモリの節約とかの発想なら根本的に間違い

335デフォルトの名無しさん2018/03/20(火) 00:21:28.36ID:yw1jUUMF
>>325
TCPなんだから届かなかったら確実にエラーになるよ

336デフォルトの名無しさん2018/03/20(火) 10:30:10.37ID:uUCQMwFd
>>326
メモリを切り詰めるために最小の整数値にしても
32ビットだと32ビット単位のほうが効率的だから
コンパイラがパディングを詰めて32ビット単位にしてしまうから無駄だよ

組み込みなら話は別かもしれんが

337デフォルトの名無しさん2018/03/20(火) 17:23:02.62ID:Cboi/qMX
もしかして、boolとかもintにしたら2倍早くなるのかな?

bool b = true; //1bit分メモリ確保
if(b){}//メモリから読み出され、論理演算を2回を挟み、trueと比較

int i = 1; //32bit分メモリ確保
if(i==1){}//メモリから読み出されたら、そのままtrueと比較

338デフォルトの名無しさん2018/03/20(火) 17:41:09.07ID:VwQ1GHDU
boolはビットフィールドじゃないってw
論理演算なんか入りませんw

x86の機械語知らんけど、普通に考えればboolの評価は変数の値がゼロかどうかだけだが、
intの==演算子はコンペアが入るから、そっちの方が遅いことはあっても早いことはありえない

339デフォルトの名無しさん2018/03/20(火) 17:58:42.62ID:Cboi/qMX
でも32bitなりなんなりの単位で読み出されて、ビット演算無しでどうやって取り出すんでしょう

340デフォルトの名無しさん2018/03/20(火) 18:38:01.62ID:xhlF0RWj
boolは1byteだよ

341デフォルトの名無しさん2018/03/20(火) 19:59:58.73ID:FFuoeUFR

342デフォルトの名無しさん2018/03/20(火) 20:28:46.02ID:u8SMuE25

343デフォルトの名無しさん2018/03/20(火) 20:35:28.68ID:mQ4Ew50n
なんでアンマネージ型の話を始めたの?ガイジだから?

344デフォルトの名無しさん2018/03/20(火) 20:42:56.66ID:FWy6f5Yk
>>341
StructでPack指定すればパディング詰めない

345デフォルトの名無しさん2018/03/20(火) 23:14:52.88ID:QgeO599U
その手の話をするなら、とりあえずILとスタックを確認できるようになってから
可能ならRyuJITで吐かれるアセンブラまで見るべき

346デフォルトの名無しさん2018/03/20(火) 23:53:34.58ID:97GClaUH
sizeofが1で出てるものを勝手に変えたりするものなのか?

347デフォルトの名無しさん2018/03/21(水) 00:01:57.15ID:1NDr7Usm
-1から1の範囲を分岐無しでビットに詰めるのってどうやるんだっけ?
aabb ccddみたく4つの数値を1byteに詰める小技を昔見た気がするが思い出せない

348デフォルトの名無しさん2018/03/21(水) 00:06:22.20ID:wxFTzoek
64bit-CPU なら、8バイトしか無い。
1〜7バイトなんて無い。
使わない部分を、0 and で、マスクするだけ

並列処理で、4 + 4バイトとして使うとか、そういう命令はある

349デフォルトの名無しさん2018/03/21(水) 00:18:19.45ID:h+WMGZtb
>>347
何言ってるのかよくわかんないw
分岐って何だw

350デフォルトの名無しさん2018/03/21(水) 00:19:59.34ID:mIV9xLj7
>>348
俺はそこまで詳しくしらんが普通にあると思うが。
64ビットレジスタを普通に32ビットのEAX,EBX,ECX,EDXなどとしてアクセスできるし。
http://www.zombie-hunting-club.com/entry/2017/10/15/220724

351デフォルトの名無しさん2018/03/21(水) 00:28:21.39ID:mIV9xLj7
それともアドレッシングの話か?
あれアドレッシングってどうなってんだっけか。
SP(スタックポインタ)レジスタとかって64bitCPUなら8バイト単位になるんだけっか?

352デフォルトの名無しさん2018/03/21(水) 00:30:36.35ID:1NDr7Usm
>>349
// aabb 0000
bit |= (a == -1)? 0x80: (a == 1)? 0x40: 0;
bit |= (b == -1)? 0x20: (b == 1)? 0x10: 0;

こうやるのは簡単なんだよ
これを三項演算を使わずビット演算だけでやる方法があるはずなんだよ
入れる方はシフトしてマスクすれば出来そうだが取り出す方法がまるで思い出せん

353デフォルトの名無しさん2018/03/21(水) 00:39:01.74ID:ElQ36cp9
また一円の得にもならんことを

354デフォルトの名無しさん2018/03/21(水) 00:42:35.73ID:fRVIOADe
>>352
マスクしてシフトするだけだろ

355デフォルトの名無しさん2018/03/21(水) 00:52:49.07ID:h+WMGZtb
>>352
-1を0b10じゃなく0b11に割り当てれば>>354の言う通りだね

356デフォルトの名無しさん2018/03/21(水) 01:00:25.75ID:wxFTzoek
>>350
>64ビットレジスタを普通に、32ビットのEAX,EBX,ECX,EDXなどとしてアクセスできる
8バイトよりも小さい用途には、マスクして使っているだけ

実際に、8バイトよりも小さいレジスタを作るのは、場所・回路のムダ。
しかも統一的に扱えないから、ややこしいし、通信するのにも時間が掛かる

357デフォルトの名無しさん2018/03/21(水) 02:21:45.49ID:dRxp3KxC
>>354-355
ちょっと書いてみてくれよ
俺がやるとキャストの乱れ打ちにしかならん

358デフォルトの名無しさん2018/03/21(水) 03:55:37.74ID:wxFTzoek
bit shift で、bitの桁をずらせば?

359デフォルトの名無しさん2018/03/21(水) 04:02:03.10ID:AUzNmz0G
ALレジスタ「・・・」

360デフォルトの名無しさん2018/03/21(水) 05:26:14.92ID:w6+mXCSB
byte bit = (byte)(((a & 0x3) << 6) | ((b & 0x3) << 4) | ((c & 0x3)<< 2) | (d & 0x3));

361デフォルトの名無しさん2018/03/21(水) 11:03:58.94ID:6oHAbJm9
1. 「確かな力が身につくC#「超」入門」

を勉強し終えて

2. 「独習C# 新版」

を読み始めたんだけど、この本厚すぎて通読には分量有りすぎる・・・。
1を読み終えてもう少しレベルアップしたい人におすすめな薄めの本ってありませんか?

362デフォルトの名無しさん2018/03/21(水) 11:17:28.93ID:ElQ36cp9
もう十分だよ
さっさとモノ作れよ

363デフォルトの名無しさん2018/03/21(水) 11:21:15.82ID:ElQ36cp9
勉強という言い訳でいくらでも足踏みできるから
ノロノロしてるとそれだけで終わっちまうぞ
時間かけた割には何にも身についてなかったりする
経験と知識のバランスが大事だ
一つ本読んだらせめて一つはプログラム作れよ

364デフォルトの名無しさん2018/03/21(水) 11:21:24.54ID:04sPI9mV
いや一生本読んでいればいいよ
自由度の高い分野で「レベルアップしたい人におすすめな薄めの本」ってもう発想が「楽してレベルアップ」で無理だから

365デフォルトの名無しさん2018/03/21(水) 11:37:51.55ID:0twXSax5
言語が趣味なんだろ

366デフォルトの名無しさん2018/03/21(水) 12:07:16.84ID:8gJoz83s
言語仕様だけ知ってても実力は上がらない
でもやみくもに手を動かしても得られるものは少ない

c#向けじゃないけど昔は脱初心者レベルのソフトを作りながら学べる本があったけど
今はそういった需要は薄いのかあまり見かけない
初級者と上級者の差を埋める本大事だと思うけど

プログラマー的思考を身に着けるために
初歩のアルゴリズム系の本でもじっくり読んで将来に備えよう

367デフォルトの名無しさん2018/03/21(水) 12:07:22.75ID:ElQ36cp9
>>365
言語博士とか
使えない奴筆頭だな

368デフォルトの名無しさん2018/03/21(水) 12:09:17.71ID:ElQ36cp9
>>366
闇雲に動いた方がいいよ
この業界、〇〇体系とか超クソだし
単純に作成したアプリの数が力になっていくと思う

369デフォルトの名無しさん2018/03/21(水) 12:12:58.59ID:8gJoz83s
>>368
昔は今よりできることが少なかったから
やみくもにやっても到達する範囲は広かった
今は広すぎるのでやみくもにやると割に合わない
ずっとググってるだけになりがち

370デフォルトの名無しさん2018/03/21(水) 12:15:23.53ID:lgzIOdqb
何か作って公開しろ

371デフォルトの名無しさん2018/03/21(水) 12:15:55.18ID:cg6C3pEJ
やりたいことをググれば、だいたい答えが出てくるのがC#のいいところ

372デフォルトの名無しさん2018/03/21(水) 12:16:13.75ID:8gJoz83s
その当時流行りのライブラリの使い方なんてすぐに陳腐化する
本質的に長く使えるのはプログラマ的思考

基本的なアルゴリズムがわからないのにプログラマを名乗るのははずかしい
問題解決の手段はググってライブラリをみつけるだけじゃない

373デフォルトの名無しさん2018/03/21(水) 12:20:46.76ID:hwVPx/8e
御託はいいから

374デフォルトの名無しさん2018/03/21(水) 12:20:49.36ID:8gJoz83s
○○をやりたい

c# ○○ で検索

ヒットしないのでやめる

じゃなくて

○○をやりたい

本やwebで○○について学習

c#でコーディング

375デフォルトの名無しさん2018/03/21(水) 12:25:58.88ID:pPz9oHRt
>>372
> プログラマ的思考
怠惰は美徳
明日出来る事は今日やらない
アルゴリズムを学ぶよりはライブラリをググる

376デフォルトの名無しさん2018/03/21(水) 12:27:30.38ID:Y56bN0nz
>>372
こういうこと言う人間って結局何も出来ないやつのコンプレックスなだけ
プログラミングで一番大事なのは動機。何かを作りたいという情熱だけ

377デフォルトの名無しさん2018/03/21(水) 12:30:24.92ID:8gJoz83s
IDころころの情熱

378デフォルトの名無しさん2018/03/21(水) 12:31:08.99ID:pL77RIW6
真逆の思考の人が両方ともプログラマーを名乗る
それでも全然問題ない

379デフォルトの名無しさん2018/03/21(水) 12:32:13.16ID:lgzIOdqb
ID真っ赤の情熱

380デフォルトの名無しさん2018/03/21(水) 12:37:21.23ID:pPz9oHRt
>>378
>>372のような初心者に教えたがる初心者は居ない方が良い

381デフォルトの名無しさん2018/03/21(水) 12:38:22.30ID:MDnOXZZh
基礎的な姿勢と応用思想にも見える

382デフォルトの名無しさん2018/03/21(水) 12:42:14.57ID:pL77RIW6
>>380
しかし376のような方が情熱で作るのをコピーするのもプログラマ

383デフォルトの名無しさん2018/03/21(水) 12:45:50.02ID:whSpFtiD
というより、現場の土方も橋の構造の設計者も同じ「建築関係者」ってことでしょw
ただ、土方が「構造力学なんて必要ねえ!」って吠えるのはその通りだけど滑稽ではあるねw

384デフォルトの名無しさん2018/03/21(水) 12:46:24.05ID:QTwxh18R
Qiitaみたいに公共領域であるWebにゴミを棄てないなら何でもいい
勝手にやってろ

385デフォルトの名無しさん2018/03/21(水) 12:53:26.69ID:8gJoz83s
やりたいことを言語仕様を学んだだけではコーディングできないことがある
やみくもに手を動かすだけでは目的を達成できないことが出てくる

過去の確立された手法を学ぶことで徐々にこうすべきだとが体が覚えていく

そして内部で何が行われていてどれだけの計算コストがかかりメモリなどが消費されるのか
正確じゃなくてもそれが多いか少ないかを何となく雰囲気がつかめるようになると大成功

386デフォルトの名無しさん2018/03/21(水) 12:53:34.97ID:pPz9oHRt
>>384
QiitaはWeb用ゴミ箱やぞ

387デフォルトの名無しさん2018/03/21(水) 12:54:06.43ID:pPz9oHRt
>>385
初心者はもう黙れ

388デフォルトの名無しさん2018/03/21(水) 13:00:13.20ID:/SLykQ97
何かを作って問題にぶちあった時に発揮する問題解決能力に勝るものはない
くそみたいなネットゲーム作ってる会社が最先端のライブラリを生み出してる現状がそれ

389デフォルトの名無しさん2018/03/21(水) 14:09:56.04ID:x2r2V1ra
>>387
ここには初心者しかいないw
>>374
の上が全く納得できなかったけどコピペプログラマの考え方だと合点がいった
>>361
そもそも何のための勉強なのか
就活のための勉強なら読んだ本が多い人と簡単でも実績のある人がどちらが有利なのかはわかる
趣味のための勉強ならここで聞かずに好きにしたらいい
>>363の下の2行を否定できる人はまずいないだろうな

390デフォルトの名無しさん2018/03/21(水) 14:23:27.49ID:5e+TVXSM
今時、本を読んでコードの勉強する奴なんているの?
いんたーねっとを知らんの?

391デフォルトの名無しさん2018/03/21(水) 14:30:18.38ID:x2r2V1ra
>>390
スレまであるじゃないか
推薦図書/必読書のためのスレッド 82
http://2chb.net/r/tech/1493844476/
自分では一冊も読んだことないけどな

392デフォルトの名無しさん2018/03/21(水) 14:34:11.32ID:ElQ36cp9
>>390
まあ、どっちも一長一短だよね

393デフォルトの名無しさん2018/03/21(水) 14:57:19.22ID:0twXSax5
>>367
趣味に使えるも使いないも関係あるかよ(´・ω・`)

394デフォルトの名無しさん2018/03/21(水) 15:20:09.30ID:8gJoz83s
プログラム歴およそ35年
c#歴およそ16年

395デフォルトの名無しさん2018/03/21(水) 15:27:35.75ID:5e+TVXSM
>>394
いまは何をされてるんですか?
代表作は何でしょか?

396デフォルトの名無しさん2018/03/21(水) 15:30:53.70ID:FUlwWtP3
>>390
インターネットの情報もすべて書籍から生まれてるわけだが

397デフォルトの名無しさん2018/03/21(水) 15:39:11.17ID:5e+TVXSM
>>396
そんな事ねーだろw
むしろ逆なんじゃないの?
ブログから書籍なら分かるけど

398デフォルトの名無しさん2018/03/21(水) 15:49:39.72ID:x2r2V1ra
>>396
MSDNのリファレンスは書籍が元になってんのか?

399デフォルトの名無しさん2018/03/21(水) 15:52:34.67ID:PUZ7K5bP
PSVRでもやればいいのに(´・ω・`)

スクエニ、「結婚指輪物語 VR」を5月25日配信--漫画の世界に入る新しいVR表現
https://japan.cnet.com/article/35116459/

400デフォルトの名無しさん2018/03/21(水) 15:58:17.79ID:OlOe5UzE
書籍が情報の原点だという意味では
まぁそんなこと言い出したら知識伝播の原点は壁画時代にまで遡る

401デフォルトの名無しさん2018/03/21(水) 16:08:01.93ID:Rl1NS7de
>>398
せめてdocsにしとけよ

402デフォルトの名無しさん2018/03/21(水) 19:42:34.12ID:k50DXUVk
>>394
そんなにやっていて初心者のスレで真っ赤になった上にバカにされるんだ
こんなプログラマにはなりたくないな
そして忘れ去られる元の質問者

403デフォルトの名無しさん2018/03/21(水) 20:08:29.59ID:1JiLJjJR
努力で解決しちゃう奴がプログラミングをやると>>394みたいになりがち

404デフォルトの名無しさん2018/03/21(水) 20:11:51.61ID:zVVJT8mf
永遠の初心者よりいいと思うけどw
コピペしかできない人間にはなりたくない

405デフォルトの名無しさん2018/03/21(水) 20:19:04.30ID:ElQ36cp9
>>404
それで食えるならそれでもおk

406デフォルトの名無しさん2018/03/21(水) 20:20:02.58ID:1JiLJjJR
いや、その永遠の初心者が>>394なのだが

407デフォルトの名無しさん2018/03/21(水) 20:31:38.84ID:mIV9xLj7
いちいち、僻み発言はしなくていいから

408デフォルトの名無しさん2018/03/21(水) 20:33:38.71ID:cPEv79wC
そんな真新しくプログラム作ることってなくないか?
自分のライブラリ使うのもコピペに入るならほとんどコピペみたいなもんやろ
ネットから拾ってただコピペは知らん

409デフォルトの名無しさん2018/03/21(水) 20:46:37.97ID:zVVJT8mf
彼はコピペしかできない人達の何かを刺激してしまったんだなw

410デフォルトの名無しさん2018/03/21(水) 20:47:32.26ID:mPtLWMTP
コピペって言えばQiitaやHatenaの記事は酷いもんがあるよな
間違ったテクニックや誤魔化す技が一度紹介されたら、そのコピーブログが量産されてくんだ

411デフォルトの名無しさん2018/03/21(水) 21:53:57.93ID:1JiLJjJR
>>410
酷くていいんだよ
ああいうのは>>394みたいな努力系プログラマーが排出するゴミの受け皿なんだから

412デフォルトの名無しさん2018/03/21(水) 22:10:14.55ID:YzH/Qu94
マ板でやれよ...

413デフォルトの名無しさん2018/03/21(水) 22:55:56.39ID:zVVJT8mf
初心者のベテラン叩きかっこええ

414デフォルトの名無しさん2018/03/21(水) 23:04:09.39ID:/A9S8Tke
ここでいいかな。
分かる人いたら教えてください。

C# で作成する webアプリで、web.config の appSettings セクション?の下の add には
通常では key と value の組で設定の名称と値を保存していますが、key と value の他に独自のプロパティを追加して、たとえば

<appSettings>
<add key="名称" value="設定値" explanation="この項目の説明"/>
</appSettings>

みたいな事をしたいのです。
ずっと前に appSettings の拡張クラスを定義する事によって可能になるというような記事を読んだ記憶があったような気がするのですが
いまは見つけられませんでした。

上のようなやり方の是非はともかく、実現の可否と、やり方を教えてください。

415デフォルトの名無しさん2018/03/22(木) 00:08:52.98ID:/twRZ4qU
>>414
Custom Configuration Section とかでググるといいと思う
https://msdn.microsoft.com/ja-jp/library/2tw134k3.aspx

416デフォルトの名無しさん2018/03/22(木) 00:15:01.17ID:/twRZ4qU

417デフォルトの名無しさん2018/03/22(木) 00:24:24.25ID:G0SZ4nh0
できるけど面倒くさいぞそれ
設定は別のファイルにしたほうがいい

418デフォルトの名無しさん2018/03/22(木) 02:52:41.51ID:R5Phquw0
exeというのはCやC#をコンパイルしたものですか?
PyhronやRubyをコンパイルすると拡張子は何になりますか?

419デフォルトの名無しさん2018/03/22(木) 02:58:58.59ID:R5Phquw0
参考にしたい実行ファイルがあるんですがexeはどれもCやC#にデコンパイルできるんでしょうか?
構文の勉強をするにはどうすればいいですか?

420デフォルトの名無しさん2018/03/22(木) 04:12:18.59ID:JQhOGY5j
exeはWindowsの実行ファイル
PythonやRubyはインタプリタが実行することが多いけど、exeにする方法もある

簡単にでコンパイルできるとは限らない
必要に応じて逆アセンブルを読む

421デフォルトの名無しさん2018/03/22(木) 04:47:45.97ID:tdHViWJs
1. 各言語 → 実行ファイル
2. 各言語 ← 実行ファイル

1. のように、各言語をコンパイルして、実行ファイルを作ることはできるが、
2. のように、実行ファイルを逆コンパイルして、
各言語のソースコードに直すことは、無理

特に、他人が作ったものは、年十年も研究しないと無理

1. のように、まず自分でプログラムする事を、勉強した方が速い

422デフォルトの名無しさん2018/03/22(木) 07:06:16.48ID:dIG91/vu
>>419
C#で作られたものならILSpyなどのデコンパイラを使えばかなり高精度でソースを復元できる
でも他人のソース見て勉強したいならGithubでOSSを読むのが一番だと思う
上の人はこの板の名物基地外だから無視するように

423デフォルトの名無しさん2018/03/22(木) 08:16:03.10ID:Cb8k5JAF
ていうかc#って難読化しないとソースが丸々実行ファイルに入ってるよね

424デフォルトの名無しさん2018/03/22(木) 09:00:19.19ID:Yz4YgUU6
>>423
難読化しても丸々入るやろ

425デフォルトの名無しさん2018/03/22(木) 09:04:15.42ID:Cb8k5JAF
>>424
読まれちゃうよね

426デフォルトの名無しさん2018/03/22(木) 14:56:38.14ID:fyCa2g0B
読まれたら困るような技術やマルウェアでも仕込んでんのか?

427デフォルトの名無しさん2018/03/22(木) 15:38:32.20ID:Cb8k5JAF
>>426
僕たちの技術が安売りされておる!

428デフォルトの名無しさん2018/03/22(木) 17:44:35.45ID:s6EbUNWz
>>419
CとC#が同じように見えるレベルででデコンパイルで勉強とか無理
それ以前に言語スレで質問するときは最低限その言語で「Hello World!」実行できるようになってから

429デフォルトの名無しさん2018/03/22(木) 19:07:00.07ID:JQhOGY5j
Cで書いても逆アセンブルすればだいたい読めるじゃん

430デフォルトの名無しさん2018/03/22(木) 19:12:37.50ID:2OJ71Hoj
>>429
それは質問の要件に合う話?

4314142018/03/22(木) 19:18:29.35ID:+BApurZo
>>415-416
ありがとう。
調べてみます。

>>417
茨の道っぽいかもですね。
まあ先の用例のケースなら <!-- --> でコメントを入れてもいいので、適宜、工数を考えてみます。
でも <!-- --> でコメント入れると、行挿入したときとかに勝手に改行が入ったりするので。。

432デフォルトの名無しさん2018/03/22(木) 19:41:14.86ID:cv696+3f
読み込んだ画像を縦横に連結して新しく出力したい。
横への結合はあるけれど、縦・横並べるにはどうしたらいいんだ



■■■
■■■

こういう風にしたい

433デフォルトの名無しさん2018/03/22(木) 19:45:29.56ID:kZrJsqkn
読み込んだ画像を上下にずらしながら描画すればいいんじゃねーの?

434デフォルトの名無しさん2018/03/22(木) 19:59:53.87ID:52tkzdW9
>>432
C#以前に画像の大きさと座標を考えるだけじゃないの
横に連結できるのに縦横ができない方が意味不明

435デフォルトの名無しさん2018/03/22(木) 20:05:24.46ID:T2vZ1xLC
>>432
どこに出力するのかぐらい書けや

436デフォルトの名無しさん2018/03/22(木) 20:47:55.73ID:ni48WVgw
class TypeA: IType{}
class TypeB: IType{}
IType[] table;

こんな感じの構成で配列にI/Fを格納してステートマシンをやりたいのに、
何をnewして配列を初期化したらいいのか分からない誰かたすけて

437デフォルトの名無しさん2018/03/22(木) 21:04:10.32ID:uk+GlZCh
Listを使うようにしたらいいよ

438デフォルトの名無しさん2018/03/22(木) 21:16:31.83ID:/twRZ4qU
>>436
IType[] table = { new TypeA(), new TypeB() }
とか?

439デフォルトの名無しさん2018/03/22(木) 21:17:50.71ID:ni48WVgw
ごめん
IType tmp = new IType[2];
としたら普通に出来た

インターフェースはnew不可能って嘘言ってる奴は死ねばいいのに

440デフォルトの名無しさん2018/03/22(木) 21:26:09.52ID:06GLHVJW
Interfaceはnew出来ないぞ。
それは配列をnewしてるのであってInterfaceをnewしてるわけでは無いんだよ。

441デフォルトの名無しさん2018/03/22(木) 23:23:13.81ID:R5Phquw0
>>421,428
サイト見ながらハイ&ローゲームを作ったけどめっちゃ難しかった
でもマインクラフトなんかよりずっと面白いな!
お前らみたいに長年プログラムを書いてるとソースコードを見ただけで吐き気がしたり嫌になったりすることもあるの?
今でも楽しく書けてる?もうロボットになっちゃった?

442デフォルトの名無しさん2018/03/23(金) 10:18:12.37ID:dRbnJSq+
ソースなんか見なくても
テストが全くない、仕様書はない、前任者が逃亡
のどれかを聞いたら吐く

443デフォルトの名無しさん2018/03/23(金) 15:25:59.96ID:4mHfCYml
好きなことは趣味だけにとどめておけとは良く言うな
まぁ広い世界を見るのと見ないのじゃ、得るものも考えも違ってくるけど

444デフォルトの名無しさん2018/03/23(金) 18:41:53.25ID:K8shiMoF
起動中の任意のウィンドウをクリックスルーさせるアプリを作りたいんですが開発言語は何がいいでしょうか?
C#で作れますか?

445デフォルトの名無しさん2018/03/23(金) 18:48:37.93ID:KCL7rjza
> クリックスルーとはウェブサイト上の広告をクリックすることによって広告主のコンテンツに移動することであり、
> ウェブサイトの広告効果を測る一つの尺度である。

残念ながら意味不明

446デフォルトの名無しさん2018/03/23(金) 19:16:30.96ID:WXYYX9lz
エスパーすると任意のwindowの後ろの座標クリックしたいんじゃね?

447デフォルトの名無しさん2018/03/23(金) 19:16:54.09ID:K8shiMoF
言い方が悪かったですね
クリックスルーとは手前に表示されているウィンドウではなくその奥にクリックイベントを送ることです
私の作った造語です。
クリックをスルーさせる。なら分かったでしょうか?

448デフォルトの名無しさん2018/03/23(金) 19:19:36.49ID:f2Ovt9hj
windowマネージャー次第じゃね

449デフォルトの名無しさん2018/03/23(金) 19:20:07.85ID:K8shiMoF
>>446
そうです

450デフォルトの名無しさん2018/03/23(金) 19:26:06.63ID:oo1PkjPG
WndProcでマウス関連のメッセージが来たらそれを後ろのウインドウに送れ

451デフォルトの名無しさん2018/03/23(金) 19:41:03.71ID:K8shiMoF
関数も知らない初心者なのでよくわかりませんが、
ありがとうございます
頑張ってみます

452デフォルトの名無しさん2018/03/23(金) 20:04:04.89ID:Wu9wrvWh
C#でWindows7や10の通知を検知する方法ありますか?

453デフォルトの名無しさん2018/03/23(金) 20:07:18.14ID:YkCX9UZt
>>450
これだと自分自身のフォームに対するクリックしか対応できないんじゃね?
>>448で自作する話かと思った

454デフォルトの名無しさん2018/03/24(土) 02:01:16.50ID:eOg1kWoS
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が返されたのか?を調べる方法ってないのでしょうか?

455デフォルトの名無しさん2018/03/24(土) 02:12:40.29ID:RAJoRlJs
>>454
var i = ii.Where(x=>x>=11).Cast<int?>().FirstOrDefault();
これならデフォルトはnullになる

456デフォルトの名無しさん2018/03/24(土) 02:22:55.04ID:f2IRc2qS
11以上の0てw

457デフォルトの名無しさん2018/03/24(土) 02:23:26.48ID:eOg1kWoS
>455
ありがとうございます
null許容型にしてしまう技は全然思いつきもしませんでした

458デフォルトの名無しさん2018/03/24(土) 03:52:47.12ID:vYyJGm6o
普通に.Any()みたいのでチェックしたほうがいい気がする

459デフォルトの名無しさん2018/03/24(土) 06:34:16.57ID:kwFJV00Z
普通にanyとFirstでやるほうがいいと思う
null許容型を嫌っている人も多いし

460デフォルトの名無しさん2018/03/24(土) 11:02:27.65ID:nWAEGsYu
forでやればいいと思うけど一行で無理やりやるとしたら

var i = ii.ToList().FindIndex(x => x > 11);

で位置が取れる
見つからなかったら-1が帰る

値はii[i]

※これはLINQじゃない

461デフォルトの名無しさん2018/03/24(土) 11:07:47.22ID:nWAEGsYu
見直したら

var i = Array.FindIndex(ii, x => x > 11);

でも行けた
失礼

462デフォルトの名無しさん2018/03/24(土) 11:54:28.18ID:I8UGP+gf
そういうラムダ式ってぶん回してるとGCガリガリしそうな気がする俺は素直にforで判定してる

463デフォルトの名無しさん2018/03/24(土) 12:07:26.69ID:Y8GXLzWd
GC大量発生しているじゃないか!とGen0と1の数字で大騒ぎしているお客さんみたいなこと言わないでよ

464デフォルトの名無しさん2018/03/24(土) 12:20:02.80ID:qA6u9GtS
俺はRustで書く

465デフォルトの名無しさん2018/03/24(土) 12:36:49.22ID:I8UGP+gf
>>463
VRが90fpsなんて無茶を求めて来なきゃ俺だってLINQとか使いたいよ

466デフォルトの名無しさん2018/03/24(土) 12:42:55.44ID:9NxgdLlD
Listの実装にもよるけどvector的ならインスタンス1つ増えるだけでしかも速やかに回収される
GCからみたらただの良い子だね

467デフォルトの名無しさん2018/03/24(土) 13:07:03.68ID:7/CvCtkV
要件違うんだから争いはしないでよね

468デフォルトの名無しさん2018/03/24(土) 13:12:57.55ID:l0JTVUuX
>>465
お前の自己紹介スレじゃないんで

469デフォルトの名無しさん2018/03/24(土) 14:15:34.65ID:gWAI6lWw
いくらLINQでも探索でGCガリガリなんてするわけないじゃん

470デフォルトの名無しさん2018/03/24(土) 14:17:13.44ID:iw5iXVod
パフォーマンス追求するときは使わなきゃいいだけじゃん
何回目だよ

471デフォルトの名無しさん2018/03/24(土) 14:22:26.64ID:qA6u9GtS
何度でも言うよ

472デフォルトの名無しさん2018/03/24(土) 14:37:03.09ID:8uBzLhlU
>>470
だったら使うの止めてよ
パフォーマンスが要求されるところで使えないんでしょ
普通に組めばいい話じゃん

473デフォルトの名無しさん2018/03/24(土) 15:03:34.89ID:kwFJV00Z
コンパイラーによって最適化された結果リンクの方がパフォーマンスがいいときもある
勝手に使えないと決めつけるんじゃなくてちゃんと調べた方がいいよ

474デフォルトの名無しさん2018/03/24(土) 15:10:01.14ID:FeWoBRlr
>>473
その調査で生じる賃金はどこのどなたが払って下さるんですか?

475デフォルトの名無しさん2018/03/24(土) 15:13:32.64ID:o+lnSplR
今回はLINQ関係ないだろ
Listのメソッド使ったんだから

ラムダが嫌ならPredicateのdelegate渡せばいい

476デフォルトの名無しさん2018/03/24(土) 15:52:30.11ID:kwFJV00Z
リンクだろうとラムダ式だろうとパフォーマンスは実際にやってみないとわからないってのが言いたかった
こんな所でボトルネックなんてでないから好きに書けばいいと思うけど

477デフォルトの名無しさん2018/03/24(土) 16:25:40.93ID:iw5iXVod
>>472
簡単だし楽だから使うよ
おまえは全部C++でやっとけよ

478デフォルトの名無しさん2018/03/24(土) 16:32:05.01ID:7/CvCtkV
どのくらいのパフォーマンスが必要なのかも分からないのにパフォーマンス必要だから止めろって奴何なの?

479デフォルトの名無しさん2018/03/24(土) 16:42:29.03ID:vRs+3qfJ
>>478
でも遅いことは確定なんだよね?

480デフォルトの名無しさん2018/03/24(土) 16:44:31.30ID:o+lnSplR
くだらないことで揉めるんじゃない
ただanyからのfirstは無駄だとは思う

481デフォルトの名無しさん2018/03/24(土) 16:55:19.70ID:dHFi9bQj
またはじまった

482デフォルトの名無しさん2018/03/24(土) 17:05:10.25ID:1VnhiIny
無駄というか作法的にイマイチ
IEnumerableは列挙するたびに結果が変わったり一度しか使えなかったりする実装もあり得るから、
終端操作を二度やるのは一般には良くないね

483デフォルトの名無しさん2018/03/24(土) 17:08:19.43ID:7/CvCtkV
>>479
何に対して何が遅いと言っている?

あと許容出来る遅さと許容出来ない遅さは区別することを前提でお願いね。

484デフォルトの名無しさん2018/03/24(土) 17:12:04.07ID:uMtlf+0x
質問でも回答でもないのなら他でやれ

485デフォルトの名無しさん2018/03/24(土) 17:32:20.25ID:vYyJGm6o
>>480
>ただanyからのfirstは無駄だとは思う

なんでそう思うの?

486デフォルトの名無しさん2018/03/24(土) 17:35:46.41ID:+6yqXiQK
>>485
本来同時に得られるはずの情報をわざわざ二度の処理で求めているからだろ
処理効率は別にしても、マルチスレッドとか考慮するとバグの元になる可能性もある

487デフォルトの名無しさん2018/03/24(土) 17:36:08.58ID:kwFJV00Z
anyで条件付きのループした後にfirstで同じことをするより、2回目は直接該当データを参照する方が早そうって感覚

488デフォルトの名無しさん2018/03/24(土) 17:42:42.62ID:1VnhiIny
列挙元の内容が変更されないことが保証されているのは列挙子が有効な間だけ(変更されたら列挙子が無効になる)
Anyの直後のFirstは新しい列挙子を使用して列挙をやり直すので、
前回から列挙元の内容が変更されていない保証は一般には無い

489デフォルトの名無しさん2018/03/24(土) 17:46:38.61ID:Yt7o4U/B
>>488
正しいよ
でもお呼びじゃないんだカス
静かにしててくれる?

490デフォルトの名無しさん2018/03/24(土) 18:01:34.62ID:kwFJV00Z
>>488
anyは存在確認でfirstはデータ取得が目的だから順序が変わっても問題なし
むしろfindindexからインデクサでデータ取得する時の方が大事になってくるかな
だから、>>461はいいけど、>>460は少し危ない気がする

491デフォルトの名無しさん2018/03/24(土) 18:04:19.15ID:0F1bgfLW
いや正しくないってw
別のスレッドでコレクションが変更される可能性があるならそもそもLINQは使えない。

LINQのメソッドが返す列挙子はオリジナルのコレクションのコンポジションに過ぎないことを
忘れちゃダメよ

492デフォルトの名無しさん2018/03/24(土) 18:06:03.71ID:0F1bgfLW
>>490
問題あるとかないとか以前に、同じコレクションを2回スキャンするのは
無駄だなと思うことはプログラマの最低要件だと思う

493デフォルトの名無しさん2018/03/24(土) 18:13:37.30ID:kwFJV00Z
>>492
別にそこは否定してないんだけど
また、リストや配列のメソッドはスレッドセーフじゃなかったと思うからanyがとか以前にロックしなきゃ駄目かな
それはまた別の話だから別に触れないけど

494デフォルトの名無しさん2018/03/24(土) 18:14:09.89ID:9NxgdLlD
こんな場合には使えないんだ!←わかる
だから絶対にどんな場合にも使うな!←キチガイ

495デフォルトの名無しさん2018/03/24(土) 18:16:14.46ID:vYyJGm6o
>>486
うーん、考え方としては理解できるんだけど、
現実問題としてintみたいにdefault値に0を返す型の場合で
whereでフィルタした結果に要素があるかないかで処理を分けたいときにどうしてるの?

>>455みたくnull許容型にキャストするのは一案だけど読みやすさは低くなるよね

496デフォルトの名無しさん2018/03/24(土) 18:41:22.21ID:RopZoVkn
>>495
場合によっては Enumerable.DefaultIfEmpty 使うものあり

497デフォルトの名無しさん2018/03/24(土) 18:45:31.61ID:Jt5uczDI
>>495
whereでフィルタかけたならそのリストを作って、countで判別でもよさそう

498デフォルトの名無しさん2018/03/24(土) 18:55:23.66ID:o+lnSplR
いやそれこそ無駄だよ

499デフォルトの名無しさん2018/03/24(土) 19:02:00.05ID:vYyJGm6o
>>496
例えば Where(…).DefaultIfEmpty(-1).First() みたいなこと?

>>497
それは遅延評価のメリットを完全につぶしてるよね
扱ってる型によってはcountでもO(1)で性能的な問題はない場合もあるだろうけど

500デフォルトの名無しさん2018/03/24(土) 19:29:35.04ID:RopZoVkn
>>499
> 例えば Where(…).DefaultIfEmpty(-1).First() みたいなこと?
そう。元のコレクションに -1 があったら使えないけど

501デフォルトの名無しさん2018/03/24(土) 20:06:30.63ID:WPuMsPfE
>>494
プログラマなんざ99%キチガイだから正しいだろ?
根拠あげろって?皆さんが根拠だろうにご冗談を

502デフォルトの名無しさん2018/03/24(土) 20:49:58.95ID:emfSYqOj
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);
}
}

503デフォルトの名無しさん2018/03/24(土) 22:39:25.79ID:eOg1kWoS
俺、そんな大ごとになるようなことを聞いちゃったのかな・・・・・

504デフォルトの名無しさん2018/03/24(土) 22:41:42.98ID:Y93sH5Wg
このスレはlinqを異常に嫌っているおじいちゃんが生息してるから注意してね

505デフォルトの名無しさん2018/03/24(土) 22:43:55.34ID:Y8GXLzWd
>>503
週末よくある光景だから気にすんな

506デフォルトの名無しさん2018/03/24(土) 22:49:20.91ID:NMOsnRxi
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

507デフォルトの名無しさん2018/03/24(土) 22:57:42.79ID:ADnClyNC
>>506
コードも張らないとアドバイスできんがな

508デフォルトの名無しさん2018/03/24(土) 23:01:20.44ID:NMOsnRxi
>>507



WebRequest req_1 = null;
req_1 = WebRequest.Create(str_url);
res = req_1.GetResponse();

でWEBサーバに設置したデータを取得しています。

509デフォルトの名無しさん2018/03/24(土) 23:03:09.08ID:S2nO/hPq
>>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に文字列設定したら普通にビルド通るけど、他に何やってる?

510デフォルトの名無しさん2018/03/24(土) 23:04:36.74ID:NMOsnRxi
>>509
ありがとうございます。
凡ミスしてました!

using System.Net.Cache;

を別のソースファイルに書いてました、、、

511デフォルトの名無しさん2018/03/24(土) 23:07:50.50ID:bzBaKL6p
なぜいまどきWebRequest?

512デフォルトの名無しさん2018/03/24(土) 23:11:22.61ID:NMOsnRxi
エラーは消えましたが、WEBサーバ上で書き換え前の値が取得されてしまいます。
うーん、キャッシュポリシーの設定はあっているはずなのですが。
HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
request.CachePolicy = noCachePolicy;

513デフォルトの名無しさん2018/03/24(土) 23:13:30.74ID:NMOsnRxi
>>511
今ナウいのは何に使うんですか?


WEBサーバ上にはというファイルをおいてます。
[ hoge_status.dat ]
1,aaa
2,bbb
3,ccc

そして、サーバ上で「2,bbb」→「2,babaa」に
書き換えて、クライアント(C#)から上のコードを実行した時に
「2,bbb」が取得されてしまいます。

514デフォルトの名無しさん2018/03/24(土) 23:16:00.40ID:rHDBuOYV

515デフォルトの名無しさん2018/03/24(土) 23:24:46.34ID:NMOsnRxi
ありがとうございます。
サイトに記載の内容を参考に↓のコードを書きました。


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が見つからないというエラーがでます。
何か間違っていますか?

516デフォルトの名無しさん2018/03/24(土) 23:27:01.58ID:NMOsnRxi
using System.Runtime.InteropServices; // DLL Import

これでエラー消えました。

517デフォルトの名無しさん2018/03/24(土) 23:32:05.55ID:NMOsnRxi
解決しました!!
ありがとうございました!

518デフォルトの名無しさん2018/03/25(日) 00:22:20.31ID:30He22WI
How can I view the allocation unit size of a NTFS partition in Windows 10?

519デフォルトの名無しさん2018/03/25(日) 02:55:25.41ID:QkJGWpF+
>>518
fsutil fsinfo ntfsinfo

520デフォルトの名無しさん2018/03/25(日) 02:58:05.04ID:Z3IDZNHN
>>511
>>513
いまだとHAPかな?

521デフォルトの名無しさん2018/03/25(日) 03:08:23.05ID:eoB6ZVmc
特定のクラスのインスタンスを探したり列挙したりすることって出来ないのでしょうか?

A a = A();//オブジェクトの生成をどこかに記録するとか面倒なこと無しに
A b = A();
A c = A();
FindObjects(A).ForEach(・・・・・);//雰囲気としてはこんなことがやりたいんです

522デフォルトの名無しさん2018/03/25(日) 03:09:02.83ID:eoB6ZVmc
嗚呼、今見たらnewが抜けてた・・・・

523デフォルトの名無しさん2018/03/25(日) 06:50:33.94ID:ODva5YKs
コンパイラの選択次第で出来上がりの性能でそんなに変わる?

524デフォルトの名無しさん2018/03/25(日) 07:44:12.53ID:iS73Z4MS
>>521
できない
お前が言ってるのを実現してしまったら、
var a = new Message(text: "うんこ");
a.Print(); //textに渡した内容を出力する
で一行目と二行目の間にaの内容が勝手に他所から書き換えられている可能性を常に考慮しないといけなくなるんだぞ?
初心者ならピンとこないかもしれないけどね
初心者がプログラミング言語を学ぶときは常に以下のように考えることが大切
・これを作った人は自分より遥かに頭が良く経験豊富である
・普通の方法でできないのは、それが悪いことだから

525デフォルトの名無しさん2018/03/25(日) 08:04:35.72ID:vPJlyNvz
>>521
コンストラクタでどこかに記録しときゃいいだけじゃね?
任意のクラスでやりたいならコンパイラに手を入れるなりしないと無理

526デフォルトの名無しさん2018/03/25(日) 09:55:55.34ID:Z3IDZNHN
>>521
生成後、List<A> Alistにaddすれば可能。

527デフォルトの名無しさん2018/03/25(日) 10:33:10.02ID:sIW0PrXb
グローバル変数が大好きなんだな

528デフォルトの名無しさん2018/03/25(日) 10:36:47.24ID:XLrMHO3h
時代はグローバル

529デフォルトの名無しさん2018/03/25(日) 10:37:55.50ID:5WPMat6H
>>521
class A{
 public static readonry List<A> allList = new List<A>();
 public A(){
  allList.Add(this);
 }
 public void Dispose(){
  allList.Remove(this);
 }

自分ならこうやってクラス内のstaticに入れておく

530デフォルトの名無しさん2018/03/25(日) 10:40:15.38ID:BGDDphgd
>>521
参照するだけなら自分に属しているフォームやクラスは列挙できるだろ
あとは名前で探せよ

531デフォルトの名無しさん2018/03/25(日) 10:54:23.63ID:5WPMat6H
明示的にDisposeを呼ぶのが面倒というなら、
リストに入れるのを弱参照にしてデストラクタを実装すれば全自動に出来るよ

532デフォルトの名無しさん2018/03/25(日) 10:57:31.10ID:BGDDphgd
>>531
探して代入したものでDisposeやCloseもできる。インスタンスの書き換えはできない
521が何のためにやりたいかによる

533デフォルトの名無しさん2018/03/25(日) 11:09:02.92ID:Ol/c1EKt
レガシーシステムで一番困るのはグローバル変数
これ以外は簡単にリファクタリング出来るがグローバル変数だけは簡単にはいかない

534デフォルトの名無しさん2018/03/25(日) 11:20:06.56ID:vPJlyNvz
普通の知能持ってたら>>529みたいにクラス内のスタティック変数でやると思う
グローバル連呼してる奴は知能足らなさすぎじゃね?

535デフォルトの名無しさん2018/03/25(日) 11:21:28.40ID:Kz38QhUD
他言語のグローバル変数マンがpublic staticマンになる

536デフォルトの名無しさん2018/03/25(日) 11:31:07.75ID:sIW0PrXb
>>534
ただ、
UnkoWorld-●UnkoArea-●Unko
みたいな関係にしたくなったとき
それでやってると
ウンコみたいにウンコウンコになるんちゃう?

537デフォルトの名無しさん2018/03/25(日) 11:34:42.78ID:Ol/c1EKt
>>534
パブリックなら同じ
最初に書くときにらくだからって堕落して思考停止してグローバルを使うと
だんだん考える力が衰えてこういう判断ができなくなる

538デフォルトの名無しさん2018/03/25(日) 11:40:28.11ID:Ol/c1EKt
パブリックスタティック書くお^q^
グローバル連呼は知能がたらないお^q^
ぼくはかしこいんだお^q^
おっおっ^q^


これがグローバル変数を使う人間の末路です
恐ろしですね

539デフォルトの名無しさん2018/03/25(日) 11:42:06.07ID:hyW7/lyL
末期やな>>538のグロ厨

540デフォルトの名無しさん2018/03/25(日) 11:42:40.12ID:sIW0PrXb
俺も一瞬いいかな?
とか思ったけどpublicにされた時点ですべてが駄目なことに気づいた

541デフォルトの名無しさん2018/03/25(日) 11:45:41.52ID:/CvrewET
具体的にどういうときにそうしたくなるか書いてあればヒントがでてくるかもしれないけど
一般的になんでもかんでもそうしたいと言うのはNGだと思う

542デフォルトの名無しさん2018/03/25(日) 11:53:10.41ID:yM5ntbb+
>>529のケースだとpublicにする必要ないよね

543デフォルトの名無しさん2018/03/25(日) 11:58:50.34ID:/CvrewET
ローカルで使い捨て目的でAを作ったとしても
明示的にdisposeしないと消えない
c++のnew deleteのメモリリーク問題を回避するためにガベージコレクションの仕組みができたのに
また逆戻りするだけ

544デフォルトの名無しさん2018/03/25(日) 12:01:37.82ID:Ol/c1EKt
privateならOKってのも短絡的だよな
独立に生成したはずのオブジェクト同士が外から見えない部分で密かに連携し合っているとか破滅の臭いがプンプンするぜ

545デフォルトの名無しさん2018/03/25(日) 12:02:42.33ID:sIW0PrXb
>>542
>>529はNG
こうやって使いたくないときもこうなっちゃうじゃん
static抱えちゃうのは悪手

546デフォルトの名無しさん2018/03/25(日) 12:10:21.24ID:/CvrewET
public じゃなかったらどうやって要素を列挙するんだよ

547デフォルトの名無しさん2018/03/25(日) 12:15:08.82ID:sIW0PrXb
>>546
多分仕様がウンコ
客と詰めきれてない
コードばっかり見てるとバカになるやつの典型
外の空気でも吸ってきたらよい

548デフォルトの名無しさん2018/03/25(日) 12:16:49.43ID:vPJlyNvz
>>546
えっ? w

まあパブリックにしても外部から書き換えられないなら大抵は問題ない
>>537とかはパブリックと言うだけで思考停止してる老害なんだろうな

549デフォルトの名無しさん2018/03/25(日) 12:20:32.55ID:/CvrewET
>>548
えじゃねーよ
考えてなかっただろ

550デフォルトの名無しさん2018/03/25(日) 12:22:41.04ID:yM5ntbb+
>>545
フレームワーク側でstaticをガンガン使ってるけどそれには文句言わないの?

551デフォルトの名無しさん2018/03/25(日) 12:26:42.83ID:eoB6ZVmc
そうか、>>521で書いちゃったのが実現できるようにすると、いつまでもインスタンスへの到達可能性が残ってGCが機能しなくなるのか
全然わからなかったわ

552デフォルトの名無しさん2018/03/25(日) 12:27:48.76ID:/CvrewET
>>551
そういうこと
目的を絞った特殊な状況でしか使えない

一般的に使うのはNG

553デフォルトの名無しさん2018/03/25(日) 12:29:14.40ID:hyW7/lyL
>>551
ならんわw

554デフォルトの名無しさん2018/03/25(日) 12:42:56.52ID:PVODPgu2
いつもそうだけど、本質を少しも突かない頭の悪いやり取りしかないねw

論点は>>521,>>529的な仕組みが必要になるケースがあるかどうか。
俺はないことはないと思う。

ただ、揚げ足取りかもしれんが、>>529はList<T>をそのまま公開してるのはまずい

555デフォルトの名無しさん2018/03/25(日) 13:09:44.61ID:5WPMat6H
>>554
実際やるときはさすがにprivateにしてstatic ForEachを実装するし、
ライブラリ化するならセーフティとしてリストをWeakReference<T>にしてデストラクタで自動削除するよ
ただ掲示板でそこまで長々と書く気はないだけで

556デフォルトの名無しさん2018/03/25(日) 13:13:01.00ID:Tb46nDVy
指定の時刻を過ぎたらbackgroundworkerを止める仕組みを作りたいのですが
なにかおすすめの方法はありますでしょうか?

557デフォルトの名無しさん2018/03/25(日) 13:27:59.98ID:lVxRvEma
>>555
クラスの扱いの話がクラス自身を変更しちゃってる実装に違和感

558デフォルトの名無しさん2018/03/25(日) 13:51:57.79ID:JPEij3S4
>>556
それだけだとどこで時間を確認するべきかすらわからん
仕様きちんと決めてから質問して

559デフォルトの名無しさん2018/03/25(日) 13:55:31.94ID:5MzIJnBg
>>549
はあ?
そう言うイテレーター作るだけだろ w

560デフォルトの名無しさん2018/03/25(日) 14:09:46.22ID:5MzIJnBg
>>551
デストラクタでリストから外せばいいだけ
もしくはIDisposableにしてdispose( )で外すとかでもいい

561デフォルトの名無しさん2018/03/25(日) 14:39:30.42ID:HUiARVtR
>>560
参照が残った状態でデストラクタが働くの?

562デフォルトの名無しさん2018/03/25(日) 14:41:03.20ID:5WPMat6H
>>561
世の中には弱参照というものがあってな

563デフォルトの名無しさん2018/03/25(日) 15:22:13.04ID:Ol/c1EKt
そういやここ初心者スレだったか
>>548みたいなのも居るか

564デフォルトの名無しさん2018/03/25(日) 15:29:41.34ID:Zk7ZAw6P
また元の質問者蚊帳の外に置いて盛り上がっている
オレオレ仕様で議論されても誰の役にも立たないんだよ

565デフォルトの名無しさん2018/03/25(日) 15:39:34.96ID:vPJlyNvz
>>563
グローバルガーって知ったかして恥ずかしいからって粘着するなよ w

566デフォルトの名無しさん2018/03/25(日) 15:40:34.61ID:Ol/c1EKt
>>565
は?

567デフォルトの名無しさん2018/03/25(日) 15:48:44.21ID:XJO2spvZ
初心者スレでマウントするイキリオタクにはなりたくないね

568デフォルトの名無しさん2018/03/25(日) 16:05:42.72ID:vPJlyNvz
グローバルガーでマウント取ろうとして失敗したID:Ol/c1EKtをそこまでバカにしてやるなよ w

569デフォルトの名無しさん2018/03/25(日) 16:28:46.20ID:n/bZLhLz
インスタンス生成と生成されたインスタンスをコレクションに追加するのは別のクラスの役割

>>521はコレクションの要素を型でフィルタリングできたらいいわけだから素直に実装したほうがいい

570デフォルトの名無しさん2018/03/25(日) 16:28:46.85ID:rmzLSBrs
よう分かりませんけど、このスレをプリントアウトして明日朝一番で精神科にかかることをお勧めします
このIDが僕です!って正直に言うんだよ

571デフォルトの名無しさん2018/03/25(日) 16:46:03.35ID:TrFdb9nA
>>569
わざわざクラスを増やす必然性はないだろ

572デフォルトの名無しさん2018/03/25(日) 16:50:54.77ID:5WPMat6H
>>569
クラス単体で閉じてる機構をわざわざ外部に別けて何がしたいんだよ
メンテナンス性が下がるだけじゃん

573デフォルトの名無しさん2018/03/25(日) 16:55:50.35ID:sIW0PrXb
>>572
いや、この仕組みが入っているがために使えない状況が出てきちゃうんじゃね?

574デフォルトの名無しさん2018/03/25(日) 16:57:56.62ID:sIW0PrXb
本来クラスAがクラスA足る為に必要な処理じゃないんだよ
リストに追加なんてのは

575デフォルトの名無しさん2018/03/25(日) 17:00:09.33ID:n/bZLhLz
>>571
>>572

きみたちマジか!!
オブジェクト指向設計原則の基礎だぞ
それを破るだけのメリットがあるユースケースなのかな?

576デフォルトの名無しさん2018/03/25(日) 17:11:36.39ID:5WPMat6H
>>573-575
そこまで言うなら実際に書いて見せてみろ?

577デフォルトの名無しさん2018/03/25(日) 17:19:41.51ID:sIW0PrXb
>>576
普通にlist外に出せよ

578デフォルトの名無しさん2018/03/25(日) 17:27:26.70ID:+wly4/Cl
>>577
グローバルがだいしゅきなの?

579デフォルトの名無しさん2018/03/25(日) 17:35:09.99ID:vPJlyNvz
>>577
へっ?
外出ししてグローバルにしろとでも言うのか? w

580デフォルトの名無しさん2018/03/25(日) 17:37:41.15ID:+wly4/Cl
>>575
型として絶対使わない機能を分離してどうするの?
オブジェクト指向の目的もしかして理解してない?

581デフォルトの名無しさん2018/03/25(日) 17:38:38.10ID:sIW0PrXb
>>579
誰もグローバルなんて言ってないけど
どっから出てきたん?

582デフォルトの名無しさん2018/03/25(日) 17:44:59.40ID:+wly4/Cl
>>581
どこの誰がどんなスコープでList持つ想定でいるの?

583デフォルトの名無しさん2018/03/25(日) 17:45:57.80ID:sIW0PrXb
>>582
まあ、それ次第だよな

584デフォルトの名無しさん2018/03/25(日) 17:49:26.15ID:+wly4/Cl
>>583
A.ForEachでアクセスする変数をA以外に持たせたら漏れなくグローバルになるけど、何を思ってAの外に出せと言ったの?

585デフォルトの名無しさん2018/03/25(日) 17:50:30.14ID:sIW0PrXb
>>584
ならねーよ
死ねよ

586デフォルトの名無しさん2018/03/25(日) 17:50:49.15ID:vPJlyNvz
>>581
なら
> 普通にlist外に出せよ
のlistをどこに置くのか言ってみろよ

587デフォルトの名無しさん2018/03/25(日) 17:52:11.71ID:sIW0PrXb
>>586
使うやつが勝手に作ればいいじゃん
クラスAにはなんの関係もないことだ

588デフォルトの名無しさん2018/03/25(日) 17:52:42.22ID:vPJlyNvz
はい、逃げた w

589デフォルトの名無しさん2018/03/25(日) 17:53:06.16ID:sIW0PrXb
>>588
は?どこが?

590デフォルトの名無しさん2018/03/25(日) 18:04:31.71ID:5WPMat6H
>>587
自身の生成したインスタンス一覧を保持するのはclass Aの基本要件だが、
何でお前はそれを無視してclass Aの仕様そのものを変えたがるんだよ

591デフォルトの名無しさん2018/03/25(日) 18:11:58.07ID:sIW0PrXb
>>590
え?要件定義でそんなの出てくるの?
頭おかしいからだろ?

592デフォルトの名無しさん2018/03/25(日) 18:12:36.02ID:Vv01uOP7
初心者がマウントのために吠えあうスレになってんなw
>>521は作成したインスタンスをコレクションで持っていれば終わる話なのに

593デフォルトの名無しさん2018/03/25(日) 18:13:47.46ID:+wly4/Cl
>>591
あたまわっるー

594デフォルトの名無しさん2018/03/25(日) 18:16:24.49ID:a4i6A50g
>>591
要件定義クソワロタwww

595デフォルトの名無しさん2018/03/25(日) 18:17:30.34ID:sIW0PrXb
>>592
だよね

596デフォルトの名無しさん2018/03/25(日) 18:17:53.31ID:h+QwjUa5
たった数行のコードなりUMLなり書けば伝わる話なのに、
何十行も日本語書き連ねて言い訳してる時点で初心者以下だと思うのね

俺の考えた設計が最高と思うならC#で書けよ
書けないなら黙れ、素人

597デフォルトの名無しさん2018/03/25(日) 18:18:45.66ID:sIW0PrXb
>>596
でもお前単発じゃん
ご自慢の主張したいコードが付いてないけど?

598デフォルトの名無しさん2018/03/25(日) 18:19:20.14ID:xrxDySNz
しょうもな
一般論を言えば>>587が正しいが、これでは質問者の要件は満たせない。

>587は必要があってシングルトンにしてるクラスについて、
そんなことしなくても使う側が一つのインスタンスだ作ればいいじゃないか、って言ってるのと同じ

599デフォルトの名無しさん2018/03/25(日) 18:23:46.34ID:sIW0PrXb
>しょうもな
>一般論を言えば>>587が正しい
ここで止めろよ
初心者の質問なんだからよ
正しいこと覆して話進める価値あるの?

600デフォルトの名無しさん2018/03/25(日) 19:06:07.44ID:vPJlyNvz
>>592
> >>521は作成したインスタンスをコレクションで持っていれば終わる話なのに
いや、そんなことはみんなわかっててそのコレクションをどこに置くんだって話
老害レベルの知ったかがグローバルとか口走ってごまかすのに必死になってるだけ w

601デフォルトの名無しさん2018/03/25(日) 19:43:00.47ID:Ol/c1EKt
グローバル変数を使うど素人はさっさと転職したほうがいいぞ

602デフォルトの名無しさん2018/03/25(日) 19:50:31.57ID:XLrMHO3h
え?まさかプロがこんな所覗いて浅い知識ひけらかしてる訳じゃないよな?

603デフォルトの名無しさん2018/03/25(日) 20:11:31.70ID:sIW0PrXb
>>602
時代はグローバル

604デフォルトの名無しさん2018/03/25(日) 20:13:55.09ID:XLrMHO3h
>>603
山田くん、座布団一枚!w

605デフォルトの名無しさん2018/03/25(日) 21:08:37.79ID:ntckGCHi
Nugetでdll等をインストールする時にApp.configも一緒に差し替える事って可能なのでしょうか?
無理ならApp.configを書き換える手段を知りたいです

EntityFrameworkをインストールするとプロジェクトのApp.configも一緒に書き換えられてると思います
これと同じことがやりたいです

606デフォルトの名無しさん2018/03/25(日) 21:18:29.22ID:o6f1Dm/5
>>520
しらなんだー
使ってみます!


仕事でプログラム組んでた時にはいろいろと新技術を追いかけて勉強してたんだけど、
仕事じゃなくなるととりあえず、やりたい事を達成する為に
必要な機能をおいかける様になりますな。

607デフォルトの名無しさん2018/03/25(日) 23:07:48.90ID:30He22WI
引数ありで起動した場合はフォームを表示させずに処理させたいんだけど……?(°_ 。)?(。_ °)?

608デフォルトの名無しさん2018/03/25(日) 23:12:48.41ID:B8f0LaKL
出来るよ

609デフォルトの名無しさん2018/03/25(日) 23:48:35.48ID:n/bZLhLz
>>576
>>580

あおりじゃなく君たちがマジだったってのはわかったよ
質問者が明示的に指定した要望を満たす事だけを考えてるから話が噛み合わなかったのね

指定されたwhatが正しい前提でhowを考えるか
正しくない可能性も考慮してwhyを含めて考えるか
視点の違い

610デフォルトの名無しさん2018/03/25(日) 23:59:44.77ID:fmRuNsvM
「○○なことがしたいんだけど…」

「その要望は正しくないから考えを改めるべきだ!」

正しくないからやらない
プログラマとは思えない凄い斬新な発想だな

611デフォルトの名無しさん2018/03/26(月) 00:09:13.21ID:v9FPJIaO
素直に「ぼくにはできましぇん(泣)」って言えばいいのにね

612デフォルトの名無しさん2018/03/26(月) 00:11:47.31ID:YTVmG1TL
質問でも回答でもないレスは他でやれ
>>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;
}
//ここから下に引数があった時の処理
}
}

613デフォルトの名無しさん2018/03/26(月) 00:13:56.74ID:m3Kkye2j
とりあえず初心者用スレで語るの辞めてもらえませんか

614デフォルトの名無しさん2018/03/26(月) 00:16:17.47ID:QH+aPMzj
ヨーダ記法はやめてくれ…

615デフォルトの名無しさん2018/03/26(月) 00:24:06.83ID:cY1aRMKv
>>610
設計しない下請けプログラマー的発想だな

616デフォルトの名無しさん2018/03/26(月) 00:31:10.42ID:XKiwACKR
元請けだと実際>>610は普通にあるね
ほとんど全ての案件において、客の妄想のとおりに作るなんて不可能だし、できたとしても結果的に客の利益にならない

617デフォルトの名無しさん2018/03/26(月) 00:36:48.08ID:PvcYNBhB
>>615-616
よく知恵袋にいる質問者にSEKKYOしてる奴みたいなことしてんのか
お前らさては無職だな?

618デフォルトの名無しさん2018/03/26(月) 00:42:45.85ID:vpzWQp7E
またボケ老人同士のの繰り言合戦が始まった

繰り返すが、論点は>>521,>>529的な仕組みが必要になるケースがあるかどうか。
恐らくないことはない。

一般論としては要件の合理性に疑問を持つことは悪くないが、
上記の通りこの件に関してはただの言い掛かり

619デフォルトの名無しさん2018/03/26(月) 00:50:14.64ID:Dv2PEULu
より素晴らしい設計が本当に頭に浮かんでるならそれを見せればいいのにね
何も開示しない、ただ頭ごなしに否定するだけなら、言っちゃなんだけど何も作れない素人の戯言だよね

620デフォルトの名無しさん2018/03/26(月) 02:26:07.62ID:wzFW36Lw
こういうコントロールの構造なんですが、Buttonがクリックされた時にTextBoxの文字を変更したいんですが、どうするのがベストでしょうか?
今は、Buttonから、ParentでFormまで辿って、そこからTextBoxまで辿り着いてるんですが、凄い非効率な気がします・・・

これと同じ構造のインスタンスが最大70個くらい出来ます。

Form - Panel1 - Panel2 - TextBox
    - Panel3 - Panel4 - TabControl - TabPage - Panel - Button

621デフォルトの名無しさん2018/03/26(月) 02:43:07.18ID:cavhWqCs
直接インスタンスを指定できないの?
private void Button_Click ( ... )
{
  this.HogeTextBox.Text = "hoge";
}

622デフォルトの名無しさん2018/03/26(月) 04:07:03.39ID:AffV6ek/
イベントメソッドの共通化や、自作のボタンクラスの話だったりといった特殊なことをしたいのかな?
普通は上にある通りクリックイベントでテキストボックスの値を変えるだけ70個ボタンがあるなら70個書けばいいだけなんだけど

623デフォルトの名無しさん2018/03/26(月) 07:56:24.40ID:M54ZFy+S
スタートボタンを押すとbackgroundworkerのwhileループを実行し、キャンセルボタンを押すと停止するプログラムを作りました

これを9時になると自動でスタートし、17時になると停止するプログラムにしたいのですがどうすればいいでしょうか?
自動停止時にはキャンセルボタンを押した時と違いそれ専用の処理を行いたいです。

624デフォルトの名無しさん2018/03/26(月) 08:10:40.35ID:DzDpiGFR
コントロールの種類・処理が異なるなら、
各コントロール毎に、イベントハンドラーを付ける

逆に、コントロールの種類・処理が同じなら、
各コントロールの親に、イベントハンドラーを付けて、親で処理する

同じような関数を、たくさん作るのは良くないから

625デフォルトの名無しさん2018/03/26(月) 08:15:42.61ID:DzDpiGFR
>>623
「windows タスクスケジューラ」で検索!

626デフォルトの名無しさん2018/03/26(月) 12:37:28.74ID:KMiayiKp
どういった方法を使えばいいかすらわかりません
タスクスケジューラーはなしでやりたいです。

627デフォルトの名無しさん2018/03/26(月) 12:43:13.71ID:ErqiV+UW
自分で自分を起動するメタプログラムやね

628デフォルトの名無しさん2018/03/26(月) 12:49:56.47ID:ZELYO3P5
>>626
なんで?
それだともうサービスアプリみたいな方法しかないけど
苦労の割にタスクスケジューラと変わんないよ

629デフォルトの名無しさん2018/03/26(月) 12:54:28.04ID:4B0nX6es
>>623
タスクスケジューラなんて関係ないから騙されちゃダメwww

要は今はUIのボタンを押して人が手動で開始/停止してるのを
開始時刻/停止時刻で自動でやりたいってだけでしょ?

そんなのタイマでも使って時計をポーリングするだけ。
何が難しいのよ逆に

630デフォルトの名無しさん2018/03/26(月) 12:59:57.75ID:ZELYO3P5
アプリは起動してる前提でいいの?
終了してると動かないけど

631デフォルトの名無しさん2018/03/26(月) 13:02:31.43ID:oo+qoL1t
何が難しいかと言えば、ボタンが有るだけに「閉じるボタン」押されてアプリが落ちる件

632デフォルトの名無しさん2018/03/26(月) 13:06:38.61ID:PvcYNBhB
また常駐アプリの概念すら知らない初心者が知ったかでアドバイスしてる

633デフォルトの名無しさん2018/03/26(月) 13:13:11.57ID:4B0nX6es
これ前も書いたけど、常駐なんて概念は20年以上前のシングルタスクのDOSの概念
今時何の意味ももたない

何が知ったかだよアホかほんと

634デフォルトの名無しさん2018/03/26(月) 13:17:42.44ID:xJxqYO19
マルチタスクで常駐が意味無いなんて初めて聞いたがどこ情報だよ
ソース出してみ?

635デフォルトの名無しさん2018/03/26(月) 13:18:39.78ID:4UQMW5SP
windowsで○○時にアプリを起動したいという目的に一番かなっているのはタスクスケジューラー
linuxでもcron使う局面

ずっと起動しっぱなしのアプリやサービスでポーリングやタイマー使うこともできるけど無駄

636デフォルトの名無しさん2018/03/26(月) 13:21:52.38ID:PvcYNBhB
>>635
『アプリを起動』なんて言葉は>>623のどこにも書いてないけどな

637デフォルトの名無しさん2018/03/26(月) 13:28:09.86ID:xpW3ZJwT
単に起動するだけならタスクスケジューラーでよいと思うのですが
時間が過ぎたら、それ専用の動きをして停止したいのです
なのでタスクスケジューラーでは難しいかなと
timerで検索したり、同じような悩みの質問を探してみると必ず「タスクスケジューラー!」という回答者がいるのですが、求めているのはそれではないんです!

638デフォルトの名無しさん2018/03/26(月) 13:29:55.97ID:4UQMW5SP
時間が過ぎたらってただ単にDatetime.Nowが指定した時間を経過したかどうか調べるだけだけど

639デフォルトの名無しさん2018/03/26(月) 13:31:09.52ID:xpW3ZJwT
>>629
タイマーを使って時計をポーリング?
という方法で調べてみます
ありがとうございます

640デフォルトの名無しさん2018/03/26(月) 13:32:01.24ID:4UQMW5SP
backgroundworkerのwhileループで指定された時間を超えてるか調べる
もし超えてたら何かをして終了

641デフォルトの名無しさん2018/03/26(月) 13:32:30.43ID:xpW3ZJwT
>>638
その方法を調べてみます

642デフォルトの名無しさん2018/03/26(月) 14:27:09.74ID:oo+qoL1t
>>632
ボタンが有るGUIのあるソフトなんだから、普通にユーザーがウインドウを閉じることを想定すべきだよ
対策は閉じるを無効にするとか、GUIと本体を分離するとか、ユーザー教育でなんとかするとか、パソコン自体をソレ専用にするとか
何処らへんで妥協するか考えないとな

643デフォルトの名無しさん2018/03/26(月) 14:47:34.51ID:PvcYNBhB
「大変!右上の×押したらプログラムが終了しちゃう!」

だから常駐化しろよって話だろ?

644デフォルトの名無しさん2018/03/26(月) 14:51:53.23ID:b4TsAUH3
それでいつ開始すんだ?
朝7:00に起動するとして
前日18:00に閉じて
朝8:00に開いたので起動
でおk?

645デフォルトの名無しさん2018/03/26(月) 14:55:32.88ID:EeYp3eGw
聞かれとこと答えずに必要のないこと聞き返したり聞かれていないこと回答する人たち
oo+qoL1t
b4TsAUH3

646デフォルトの名無しさん2018/03/26(月) 15:04:02.11ID:b4TsAUH3
>>645
いいじゃん
後は質問者が抜けを塞げばいいよ

647デフォルトの名無しさん2018/03/26(月) 15:08:18.93ID:b4TsAUH3
職業柄すべてのケースをマトリックスで表現しないと組ませてもらえないから気になるんだよ

648デフォルトの名無しさん2018/03/26(月) 15:09:01.34ID:DzDpiGFR
ポーリングは、やったらダメなのが常識だろw
素人が助言してる

CPU が動き続ける。
CPU使用率が100% になって、フリーズするだけw

649デフォルトの名無しさん2018/03/26(月) 19:03:18.07ID:Hi5Z0lMV
>>648
1秒タイマーでもCPU負荷なんてゼロも同然だよ
まさかノーウェイト全力ループさせることしか思いつかないとか?

650デフォルトの名無しさん2018/03/26(月) 19:06:27.36ID:lrnbqywH
デスクトップアプリでAzureのデータベースと接続したいのですが、一般的に接続文字列等はどうやって隠蔽するんでしょうか

ハードコーディングしてもリバースエンジニアリングされたらモロバレになるので気になります

651デフォルトの名無しさん2018/03/26(月) 19:12:25.54ID:2N4AiZYB

652デフォルトの名無しさん2018/03/26(月) 19:21:09.66ID:Sl5sXtlN
>>650
FPGAまで落とし込むんだ

653デフォルトの名無しさん2018/03/26(月) 21:20:01.51ID:e5zVULSK
現在の日付時刻が設定した日付時刻より後か前か判断するにはどうしたらいいでしょうか?
datetime同士で引き算とかは可能なのですか?

654デフォルトの名無しさん2018/03/26(月) 21:26:27.62ID:SPNFNX7k
>>653
キーワードわかっているものはさすがにググれ
https://msdn.microsoft.com/ja-jp/library/system.datetime(v=vs.110).aspx
減算・後の数値かどうか。メソッドも演算子も全部書いてある

655デフォルトの名無しさん2018/03/26(月) 21:52:26.85ID:e5zVULSK
ありがとう御座います
datetime同士の計算結果であるtimespanはtimespan>=0やtimespan<0で場合分けしても差し支えないのでしょうか

656デフォルトの名無しさん2018/03/26(月) 21:55:12.57ID:VM7iT5OR
>>655
いや普通にDateTime同士で大小比較できるぞ

657デフォルトの名無しさん2018/03/26(月) 22:00:38.75ID:/1kq2kd6
いや、それ以前に
>>654がせっかく
> 演算子も全部書いてある
って言ってるんだからちゃんと見ようよ
https://msdn.microsoft.com/ja-jp/library/system.datetime.op_lessthan(v=vs.110).aspx

658デフォルトの名無しさん2018/03/26(月) 22:08:40.49ID:e5zVULSK
なるほど、datetimeで大小比較すればいいのですね
ありがとう御座います

msdn分かりにくくありませんか?
難しい(*_*)

659デフォルトの名無しさん2018/03/26(月) 22:18:02.65ID:AHHYeqDL
>>658
分かりにくいよね
俺も前からそー思ってけど言い出しにくかった

660デフォルトの名無しさん2018/03/26(月) 22:36:24.40ID:pJYeIgRu
unixtimeを4.0でDateTime型に変換するにはどうすればよかたい

661デフォルトの名無しさん2018/03/26(月) 22:42:13.90ID:iiFlz3sh
>>660
4.0とは?

662デフォルトの名無しさん2018/03/26(月) 22:56:15.63ID:e5zVULSK
backgroundworker開始時に次の17時になるdatetimeを取得してループ開始、ループ毎に現在のdatetimeと設定のdatetimeを比較して過ぎていたら停止させようと思うのですが
次の17時のdatetimeを取得する方法はありますか?

663デフォルトの名無しさん2018/03/26(月) 23:34:03.76ID:Hi5Z0lMV
c# datetime unixtime

664デフォルトの名無しさん2018/03/26(月) 23:48:44.24ID:lh4NSg1Q
>>662
datetimeそのものじゃなくても時間だけならHourを比較したらいいよ

var h=Datetime.Now.Hour;

if( h>=9 ){ ... } //9時以降なら

665デフォルトの名無しさん2018/03/26(月) 23:56:49.96ID:pJYeIgRu
>>661
.netです

666デフォルトの名無しさん2018/03/27(火) 00:02:34.95ID:RoQzbf+s
>>664
それがすごい気になるんですが
9時以降っていうのは何時までを指すのでしょうか?
極端な話次の日の8時とかになっても条件を満たしますか?

667デフォルトの名無しさん2018/03/27(火) 00:06:42.35ID:5DREL+sj
>>665
.NET Framework4.0のこと?もうとっくにサポート切れてるけど合ってる?

668デフォルトの名無しさん2018/03/27(火) 00:06:43.46ID:1syCFnvF
どこ基準のUNIXTIMEか知らないけど1970年1月1日からの経過秒数だから
var origin =new DateTime(1970,1,1);
var unixtime=DateTime.Now-origin;

タイムゾーンは自分で好きなようにしてください

>>666
Hourはあくまでも時間の部分だけだから0時になったら満たさなくなる
条件はよく考えて自分で設定すること

669デフォルトの名無しさん2018/03/27(火) 00:08:14.05ID:1syCFnvF
ああ抜けてる

var origin =new DateTime(1970,1,1);
var unixtime=( DateTime.Now-origin ).TotalSeconds;

670デフォルトの名無しさん2018/03/27(火) 00:20:12.69ID:RoQzbf+s
なるほど、ではループが30分の場合
終了を23時50分に設定してしまうと止まらず動いたままになる可能性もあるということですね

671デフォルトの名無しさん2018/03/27(火) 00:30:37.92ID:i+K8FLsM
>>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時まで何かする
}

672デフォルトの名無しさん2018/03/27(火) 00:33:39.52ID:1syCFnvF
Datetimeのコンストラクタはいろいろなパターンがあるからどうとでも作れる
DatetimeはTimespanを足して新しいDatetimeもつくれるので

まあじっくり見て勉強することだな

終了条件をどのように設計してるのか知らないけど特定の日付の特定の時刻を設定してたら
途中で休止などして時刻を過ぎた後、再度復帰した場合すぐ終了してしまう
そして、指定時間以降だったらまたすぐ動くことになる

などどういうことを想定するよって何を選ぶかは変わる

673デフォルトの名無しさん2018/03/27(火) 00:34:17.93ID:1syCFnvF
>>671
思いっきりバグコードだけど

674デフォルトの名無しさん2018/03/27(火) 00:36:06.00ID:RoQzbf+s
>>671
これいいですね!
解決しそうです。ありがとうございます。
xの?や:の意味がわかりませんがとりあえずコピペします
ラムダ式みたいなものかな?

675デフォルトの名無しさん2018/03/27(火) 00:36:42.86ID:RoQzbf+s
>>673

676デフォルトの名無しさん2018/03/27(火) 00:38:51.06ID:i+K8FLsM
>>673
えっ!?

677デフォルトの名無しさん2018/03/27(火) 00:40:05.98ID:1syCFnvF
>>675
>>676
勘違いしてた
9時スタートで5時終わりの話を引きずってるのかと思ってた

678デフォルトの名無しさん2018/03/27(火) 00:42:26.00ID:tVuDF99u
>>667
え、ソースは?

679デフォルトの名無しさん2018/03/27(火) 00:43:09.93ID:RoQzbf+s
よかったです
?はifで:はelseみたいなものですかね?
便利ですね

680デフォルトの名無しさん2018/03/27(火) 00:46:08.70ID:1syCFnvF
16時59分スタートなら1分でストップ
17時00分ジャストなら次の日の17時まで24時間でストップ

681デフォルトの名無しさん2018/03/27(火) 00:52:08.65ID:i+K8FLsM
>>671は17時直前に呼び出すと何もしないで終わる可能性があるな
do whileのほうがいいかもしれん

682デフォルトの名無しさん2018/03/27(火) 00:52:53.72ID:dhIDlkWy
終了を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分まで何かする
}

683デフォルトの名無しさん2018/03/27(火) 00:54:52.06ID:dhIDlkWy
>>680
こんな感じでも特に問題はありません。
むしろわかりやすくて希望通りです。

684デフォルトの名無しさん2018/03/27(火) 00:55:47.09ID:7SLvU9BO
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);
}

685デフォルトの名無しさん2018/03/27(火) 00:56:05.12ID:1syCFnvF
>>682
試せばいい
DateTime.Nowじゃなくて自分てnew Datetime()して
自由にnを作って試せばいい

686デフォルトの名無しさん2018/03/27(火) 00:59:24.75ID:1syCFnvF
>>684
AddHours(24)なのはなぜ?
うるう秒があったらずれる(そんな仕組みは多分ないけど)

687デフォルトの名無しさん2018/03/27(火) 01:00:54.28ID:1syCFnvF
AddDaysでもずれるか

688デフォルトの名無しさん2018/03/27(火) 01:04:20.64ID:5DREL+sj
>>678
ググれば一発やろ

689デフォルトの名無しさん2018/03/27(火) 01:05:23.72ID:Q5x4N+CR
無限ループやってる奴はわざとなのかガチなのか

690デフォルトの名無しさん2018/03/27(火) 01:11:21.45ID:t3gWSj15
仕様が全く見えて来ない

691デフォルトの名無しさん2018/03/27(火) 01:13:48.60ID:t3gWSj15
9:00~17:00でいいんだよな?

692デフォルトの名無しさん2018/03/27(火) 01:16:52.17ID:dhIDlkWy
とりあえずその時間帯ですが21時から5時までとかにも対応するようにしたいです。
とりあえず出来そうです助かりました。

693デフォルトの名無しさん2018/03/27(火) 01:17:51.30ID:5DREL+sj
>>669
.NET4.6以降ならBCLに専用のAPIが用意されてるからこんなことしなくていいんだけどね

694デフォルトの名無しさん2018/03/27(火) 01:19:00.55ID:tVuDF99u
>>693
糞会社が4.0止まりなんだ

695デフォルトの名無しさん2018/03/27(火) 01:20:41.65ID:rY6p5Eum
>>694
4.0はもうサポート対象外だし、Windows Server 2012も非対応なのに使わざるを得ないとか同情するわ

696デフォルトの名無しさん2018/03/27(火) 01:24:49.59ID:t3gWSj15
>>692
最大実行時間は何時間なん?
21時〜3日後の21時までなんて可能性は排除できるん?
平日と休日とで違いはないん?
とかね
なんか仕様がモヤっとしてんじゃん

697デフォルトの名無しさん2018/03/27(火) 01:30:08.36ID:dhIDlkWy
>>696
だいたい8から13時間程度の稼動になります!

698デフォルトの名無しさん2018/03/27(火) 01:30:24.22ID:ff4RZBmU
4.X系ならアップグレードのコストはそんなにかからないだろうに
お前が変えさせるか、辞めちまえ

699デフォルトの名無しさん2018/03/27(火) 01:36:06.94ID:t3gWSj15
>>697
最大よ最大
返答に範囲が返って来ると気が狂うん
イレギュラーケースの最大を聞いてん

700デフォルトの名無しさん2018/03/27(火) 01:49:34.53ID:XpaqG/wa
最大13時間です!
すいません!

701デフォルトの名無しさん2018/03/27(火) 03:45:35.94ID:7OwU1Hvz
同期プリミティブ
http://www.tokumaru.org/techterm/primitive.html

ポーリングは、ダメの見本。常識

ランデブーとか、待ち合わせしたいだけだろ。
それか、非同期で、callback してもらえば良いだけw

702デフォルトの名無しさん2018/03/27(火) 04:03:08.18ID:E80vD2cb
task.delay(100)とTheading.sleep(100)ってどう違うの?

703デフォルトの名無しさん2018/03/27(火) 07:45:14.33ID:i+K8FLsM
素人ってやたらとポーリングを嫌うよね

704デフォルトの名無しさん2018/03/27(火) 09:12:45.31ID:8h15hFzc
CPU100%とか言ってるし無限ループと勘違いしてるんだろ

705デフォルトの名無しさん2018/03/27(火) 09:37:19.37ID:84JRCCml
まあ素人さんはしょうがない

706デフォルトの名無しさん2018/03/27(火) 09:39:14.11ID:kmAPzdoZ
>>702
Thread.Sleepは指定した時間自分のスレッドを停止する
Task.Delayは「指定した時間停止するスレッド」を生成する
Task.Delayは単独では意味がないのでawaitなりContinueWithなりする

707デフォルトの名無しさん2018/03/27(火) 09:48:09.70ID:rY6p5Eum
async/awaitの勉強しているんだが、async voidやasync Taskのメソッドをawait無しで呼び出したらそのメソッドの処理は投げっぱなしになるの?

708デフォルトの名無しさん2018/03/27(火) 10:48:57.49ID:fbReATtq
そだよ。

709デフォルトの名無しさん2018/03/27(火) 12:21:35.26ID:7OwU1Hvz
そもそも、MS が、50ms 以上掛かる処理は、同期処理するなって言ってるだろ。
非同期処理にして、callback してもらうようにって

「ポーリング」で検索して、色々な記事を読め

710デフォルトの名無しさん2018/03/27(火) 12:28:13.60ID:xeybzECW
何がそもそもなんだw
>>709の世界ではDateTimeの比較演算に50msもかかるのかw
30年前のPC-98だってそんなにかからないと思うけどww

ネタなのかマジなのか知らんけど、そもそもHW資源を直接触れないOS上で動くコードは
一件コールバックのように見える処理も実態はポーリング

単にそれがシステム側のコードに隠蔽されてるだけ

711デフォルトの名無しさん2018/03/27(火) 12:35:46.40ID:GW1/xmrB
spin lock なんてものは無かったんや
 いやぁ勉強になるなぁ

712デフォルトの名無しさん2018/03/27(火) 12:38:24.18ID:rY6p5Eum
>>708
サンクス

713デフォルトの名無しさん2018/03/27(火) 12:39:38.04ID:nnyxYnJQ
元々タスクスケジューラで十分な話をよくもここまで長々と続けられるな

714デフォルトの名無しさん2018/03/27(火) 12:44:03.80ID:Eb35YKQg
質問にとは関係ない部分で知識をひけらかしたい奴がいるから

715デフォルトの名無しさん2018/03/27(火) 13:12:24.26ID:8gmuwQWV
仮にオレがこのソフトを作るとしたら、NotifyIconのデザインで小一時間悩むところから始まるだろうね

716デフォルトの名無しさん2018/03/27(火) 13:45:19.52ID:7OwU1Hvz
何時間も待つ処理だろ。
50ms を超えてるから、非同期処理を使えって、MS が言ってる

自分でプログラミングで、ポーリングしたらダメ

OS の内部処理とは関係ない

717デフォルトの名無しさん2018/03/27(火) 13:53:27.94ID:Eb35YKQg
思い込み激しい奴だな

718デフォルトの名無しさん2018/03/27(火) 14:12:37.92ID:9YSJ28+H
指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?

c:\test

aaa.txt
bbb.txt
ccc.txt
...etc

指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。

アンパンマン → バイキンマン

といった具合です。

719デフォルトの名無しさん2018/03/27(火) 14:24:49.80ID:zZm0N0X4
スレチ

720デフォルトの名無しさん2018/03/27(火) 14:35:31.77ID:ClOSXPHI
1秒タイマーでタイムアウトするたびに目的の時刻を越えたか
調べるだけでいいじゃないの
違ったら即抜けるだけなのに、50msも掛かる処理じゃねーよ
なんでわざわざタスクスケジューラー使わにゃならんのだ

721デフォルトの名無しさん2018/03/27(火) 15:21:58.88ID:1rmw5Lza
>>709
ぜんぜん理解してないじゃん

722デフォルトの名無しさん2018/03/27(火) 18:28:00.64ID:84JRCCml
コミュ障は病気だからやむを得ないが
読解力は人並みに身につけてから書き込んで欲しいよなw

723デフォルトの名無しさん2018/03/27(火) 19:38:51.59ID:8gmuwQWV
タイマーのインターバルは10秒とか100秒だけじゃなくて、10年でも100年でも設定できるんだから
起動時に開始と停止までの時間を計算してタイマー設定すれば
ポーリングしなくても良いんじゃね?

724デフォルトの名無しさん2018/03/27(火) 19:41:02.82ID:RNGaKb4X
>>723
時刻合わせせずPCの時計を常に基準にするのか
というか仕様や設計の話は他でやってくれないかな

725デフォルトの名無しさん2018/03/27(火) 19:46:25.47ID:a4CYTpTn
>>723
Timerのインターバルはint型でmsec指定
1年の秒数は31536000秒

あれぇ?

726デフォルトの名無しさん2018/03/27(火) 20:12:24.26ID:foR5XOpk
>>724
PCの時刻を基準にしないでどうすんの?
純粋に興味あるから教えてくれ

727デフォルトの名無しさん2018/03/27(火) 20:34:44.17ID:8gmuwQWV
>>725
wpfばかり使ってたんで、DisptcherTimer基準にしていたわ
悪いな

728デフォルトの名無しさん2018/03/27(火) 20:36:49.79ID:D1lCzr9q
初心者の陥りがちなミス

Timeの精度を信用してしまう
途中で時刻修正の入る場合などを考慮しない

729デフォルトの名無しさん2018/03/27(火) 20:40:14.18ID:8gmuwQWV
>>724
今のPCはネットに繋がっていれば時間は自動で合わせてくれる
インターネットに繋がっていない前提ですか?

730デフォルトの名無しさん2018/03/27(火) 20:42:13.82ID:RAm1FIuU
そおです

731デフォルトの名無しさん2018/03/27(火) 20:51:58.53ID:SJRVUf0s
>>710
30年前ってPC9801あったっけ?

732デフォルトの名無しさん2018/03/27(火) 20:56:33.38ID:vavxlF2f
>>731
初代は1982年(36年前)

733デフォルトの名無しさん2018/03/27(火) 20:58:54.08ID:FNmJga7y
こういうインフラの煩わしい制約からコアになる処理を分離したい
ワーカー側は終了再開するためのapiを用意して時間や終了再開するタイミングの事は一切考えない
時間を管理するクラスが適切なタイミングでそれらのapiを実行する

というのが正解な
時間管理クラスが内部でループぶん回そうがシステムコール使おうがそれはどうでもいい

734デフォルトの名無しさん2018/03/27(火) 21:05:37.51ID:D1lCzr9q
c#環境では指定時刻にイベントを起こすAPIは用意されてない

735デフォルトの名無しさん2018/03/27(火) 21:12:23.97ID:9YSJ28+H
指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?

c:\test

aaa.txt
bbb.txt
ccc.txt
...etc

指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。

アンパンマン → バイキンマン

といった具合です。

736デフォルトの名無しさん2018/03/27(火) 21:13:34.93ID:D1lCzr9q
>>735
スレチ

ここはc#のスレ

737デフォルトの名無しさん2018/03/27(火) 21:14:46.44ID:1tsj2UvO
>>701
callbackはどんな条件のものをどうやって作るんだ
>>729
時刻合わせのタイミングでインターバル補正するコードは思いつかないな
時間定期的にcheckするだけのものをどこまで難しくする気だコイツら

738デフォルトの名無しさん2018/03/27(火) 21:22:44.33ID:rY6p5Eum
>>737
お仕事でなんでこの仕様からこんな糞コードが生まれるんだろと不思議に思うことあるけど、このスレの流れ見たらある意味納得だわ

739デフォルトの名無しさん2018/03/27(火) 21:23:33.47ID:8gmuwQWV
>>737
1秒ポーリングでも最大1秒弱の誤差が出るわけだが、内蔵時計ってそこまで精度悪いの?
実用上問題ない誤差に見えるがちょっと気にしすぎじゃね?

740デフォルトの名無しさん2018/03/27(火) 21:30:26.48ID:xeybzECW
どうでもいい
そんな盛り上がるネタじゃないだろうw
いい加減止めたら?

741デフォルトの名無しさん2018/03/27(火) 21:43:38.37ID:RAm1FIuU
他に居場所がないのでしゅよw

742デフォルトの名無しさん2018/03/27(火) 21:44:08.38ID:FNmJga7y
悲しいね

743デフォルトの名無しさん2018/03/27(火) 22:08:17.45ID:t3gWSj15
1秒ポーリングでやろうぜ

現在時刻が開始〜終了時刻の範囲
 起動Flagなし
  起動処理
  起動Flag立てる
現在時刻が開始〜終了時刻の範囲外
 起動Flagあり
  終了処理
  起動Flag下ろす

(*゚∀゚)bできた!

744デフォルトの名無しさん2018/03/27(火) 22:29:48.19ID:FkzRU/Z7
回答者の方は基本情報持ってるもんですか?

745デフォルトの名無しさん2018/03/27(火) 23:11:24.08ID:a4CYTpTn
持ってるけど少し勉強すれば誰でも取れる資格に意味なんてあるの?
精々資格手当で給料が5000円プラスされる程度の価値しかないぞ

746デフォルトの名無しさん2018/03/27(火) 23:19:17.56ID:LCPGZ3qz
5000円の価値も分からないとか働いたことないのかな?

747デフォルトの名無しさん2018/03/27(火) 23:32:40.08ID:FNmJga7y
うちは1万増える

748デフォルトの名無しさん2018/03/27(火) 23:34:25.90ID:zFrY2ZyB
5,000円も上乗せとかウラヤマ過ぎだろ
うちなんて高度取っても報償金30,000円だけ
基本や応用ではなにもでない

749デフォルトの名無しさん2018/03/27(火) 23:42:52.53ID:7OwU1Hvz
10年以上やってる奴でも、基本情報技術者は取れない

大卒の新米が、こんなの簡単に取れますよねって言ったら、
中堅社員は皆、新米をにらみつけていたw

企業の資格取得率は、年1%(100人中1人)ぐらいだろ。
10年いても、9割の社員は、資格を取れない

750デフォルトの名無しさん2018/03/27(火) 23:53:23.07ID:FNmJga7y
申し込みしたけど忙しくて受験できない人は沢山居るけど受験して落ちる人はいない

751デフォルトの名無しさん2018/03/27(火) 23:53:50.72ID:3aWOhLkC
俺は応用情報まで持ってて+1万だなー

>10年以上やってる奴でも、基本情報技術者は取れない
……冗談だろ?

752デフォルトの名無しさん2018/03/27(火) 23:58:15.55ID:3aWOhLkC
さておき、建築士だの医師だの弁護士だのみたいに
「この職務に就くには、○○の資格が必要」とかいう業界じゃないんで
本当に、ただ給料が増えるだけではあるな (採用試験でもまあ有利にはなるかもしれん)

増えたら増えただけ嬉しいもんではあるが
年間で+12万なら、家電の買い替え費用くらい楽に捻出出来るし

753デフォルトの名無しさん2018/03/27(火) 23:58:26.75ID:9YSJ28+H
定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?

c:\test

aaa.txt
bbb.txt
ccc.txt
...etc

指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。

アンパンマン → バイキンマン

といった具合です。

754デフォルトの名無しさん2018/03/28(水) 00:00:54.89ID:02fULCHO
botかな

755デフォルトの名無しさん2018/03/28(水) 00:09:13.46ID:pf/Jvdmo
>>752
普通は資格手当ては基礎賃金扱いだからボーナスや残業計算対象でもっと貰えるよ
基本情報で5000は羨ましいけど資格手当て込みのベースにしてるパターンもあるから一概にいいとはいえないかもね

756デフォルトの名無しさん2018/03/28(水) 00:16:20.41ID:0was1dJs
Ruby の、Dir.glob で書ける

Dir.glob('C:/test/*.txt') do |file|
# gsub(/アンパンマン/, 'バイキンマン')で全部を置換する
end

757デフォルトの名無しさん2018/03/28(水) 00:44:23.36ID:Im6j951B
C# もしくは 既に要件を満たすツールがあれば教えてください。

758デフォルトの名無しさん2018/03/28(水) 01:02:57.21ID:GnpAMkN4
>>753
マジレスするとVisualStudioで可能

759デフォルトの名無しさん2018/03/28(水) 01:13:32.94ID:qs/6O+TS
>>757
WindowsでC#使ってるならVisual Studio使ってるんだろ?
フォルダーを指定して置換でいいと思うが
https://msdn.microsoft.com/ja-jp/library/a40ywt0a.aspx

760デフォルトの名無しさん2018/03/28(水) 07:24:31.11ID:1/4U3eU2
>>753
awkやろ
百歩譲ってRubyとかのP系言語
C#は向いてない

761デフォルトの名無しさん2018/03/28(水) 07:34:12.04ID:NtzDkwr+
powershell

762デフォルトの名無しさん2018/03/28(水) 22:10:34.35ID:LHMXaAz3
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未満の意味がわからないのですが
なぜこんな計算をしているのでしょうか?

763デフォルトの名無しさん2018/03/28(水) 22:12:50.37ID:6nNahb2+
止まるんじゃねぇぞ…

764デフォルトの名無しさん2018/03/28(水) 22:21:23.63ID:Im6j951B
>>759
VS2017にそんな機能があったんですね。便利!

VS2010じゃその機能はないよね?

765デフォルトの名無しさん2018/03/28(水) 22:33:50.78ID:r3METhPg
>>762
そのコードを書いた奴に聞けよ

766デフォルトの名無しさん2018/03/28(水) 22:42:38.68ID:qs/6O+TS
>>764
2008 でもある
https://docs.microsoft.com/ja-jp/previous-versions/visualstudio/visual-studio-2008/a40ywt0a(v=vs.90)
たぶんもっと前からあったような気がする

767デフォルトの名無しさん2018/03/28(水) 22:52:23.87ID:Im6j951B
>>766
知らなんだ。サンクス

768デフォルトの名無しさん2018/03/29(木) 00:01:16.76ID:LDL0rnP5
>>762
その前にMath.Absが付いとるじゃろ
目的の値との差をとって、その絶対値が5未満
つまり、ぴったり一致しなくても±4までの誤差ならOKとしている

7697622018/03/29(木) 00:10:37.10ID:3/dH7jim
>>768
なるほど!誤差の為ですか
ちょっとした技を使ってたんですね
ありがとうございました。

770デフォルトの名無しさん2018/03/29(木) 12:17:07.66ID:48quLBzg
質問です。よろしくお願いします。
http://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)

771デフォルトの名無しさん2018/03/29(木) 12:30:39.81ID:49BUJ49m
諦める

7727702018/03/29(木) 12:50:22.61ID:48quLBzg
IEに開かせればできるかもと思ったのでやってみます。

773デフォルトの名無しさん2018/03/29(木) 14:42:04.00ID:fRxUhejE
すまんが、イベントハンドラーを空っぽにするのってどうやんの?

774デフォルトの名無しさん2018/03/29(木) 15:00:44.15ID:mcXZqOx8
nullから空っぽのラムダ式を入れる
もしそのイベントを持つクラスの外からやりたいと言ってるならそれは無理
無理と言うより、そんなことをしたいと思うこと自体が間違ってる

775デフォルトの名無しさん2018/03/29(木) 19:35:16.02ID:2ivypk2R
>>773
-= イベントハンドラ;

776デフォルトの名無しさん2018/03/30(金) 11:54:45.53ID:LK6mi3V8
ユニットテストについて質問
例えば計算クラスのテストをするときは

[TestCase(-2, 2)]
public void AbsTest(int a, b){
 int n = Math.Abs(a);
 Assert.AreEqual(n, b);

こういう風に正しい値を予め手計算で用意しておくものなの?

777デフォルトの名無しさん2018/03/30(金) 12:24:31.95ID:Aig7x3ki
>>776
一般的にはその通り
間違っても n = a < 0 ? -a : a とかやってはいけない
ちょっと考えたら分かると思うけど、そういうのは全く意味のないオレオレテスト
手計算がどうしても困難なら、デバッガで動かしてその結果が合ってるかを検証してその値をコピペしとけ
少なくとも意図しないデグレの検出には役立つ

778デフォルトの名無しさん2018/03/30(金) 12:34:29.62ID:LK6mi3V8
>>777
ありがとう!
チェック項目が増えると引数が酷いことになるから何か間違えてるのかと思ってた

779デフォルトの名無しさん2018/03/30(金) 12:46:02.45ID:Aig7x3ki
>>778
それはテストの観点を適切に直行化できてないんじゃないか?
引数xが3以上のとき結果は必ず負になることが期待されるとしたら、
テストは3と3を超える値を引数に入れて、それぞれの結果yについて y < 0 が真となることを確認すればいいんだぞ
何を確かめたいのかを明確にしてそれをそのままコードで書くんだよ

780デフォルトの名無しさん2018/03/30(金) 14:10:01.41ID:tnFi4c/U
LinqのJoinメソッドに渡すメソッドなんだけど、ラムダ式で書く方法が全然理解できないぜ・・・・
多分、掲示板で解説するのも難しいと思うので、やさしく解説してるページやら本やらがあったら教えて!!!

781デフォルトの名無しさん2018/03/30(金) 14:45:38.48ID:L1eApEVG
>>780
どれがわかりやすいかなんて人それぞれだから宛にならないよ
ラムダ式でぐぐって良さそうなら熟読してわからない所を質問するといい

782デフォルトの名無しさん2018/03/30(金) 14:48:53.79ID:CpZcazmB
ラムダ式とか正規表現とか、記憶してるやついないから大丈夫
毎回ググればいい

783デフォルトの名無しさん2018/03/30(金) 15:28:55.57ID:87KFZNYL
ラムダ式って、無名関数の構文糖だろ

func (引数1, 引数2) => 戻り値

(a, b) => result

784デフォルトの名無しさん2018/03/30(金) 16:00:30.28ID:BIk3pBCX
λを採用した祖の言語LISPなんてわざわざ(lambda〜)と毎回書いてるのに変な略称=>なんて許されんばい
λと書きんしゃい

785デフォルトの名無しさん2018/03/30(金) 16:46:29.66ID:kajlCXLR
またはじまった

786デフォルトの名無しさん2018/03/30(金) 17:32:32.77ID:+cAt7TAV
ランバダのPVはエロかったなあ
関係ないけど

787デフォルトの名無しさん2018/03/30(金) 18:08:45.57ID:qHFB3R53
>>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

788デフォルトの名無しさん2018/03/30(金) 18:19:24.61ID:LI6oPksr
人脈?

789デフォルトの名無しさん2018/03/30(金) 18:25:17.02ID:QYlpMr10
質問失礼します。
以下のようなプログラムを書いたところコメントに書いたようなメッセージが表示されますが、
このメッセージに従ってインライン化しようにも、どのように修正すれば良いか分かりません。
これは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 変数の宣言をインライン化できます
if (x == 1)
{
getMessage1(out message);
}
else
{
getMessage2(out message);
}

Console.WriteLine(message);
}

790デフォルトの名無しさん2018/03/30(金) 18:42:11.73ID:q+LDJ3nt
そんなもん買っても十中八九忘れる
基本ネットに転がってるコピペで食いつなぐのが一流

791デフォルトの名無しさん2018/03/30(金) 18:44:40.56ID:LI6oPksr
>>789
なんでoutを使うのかが分からないんだけど

792デフォルトの名無しさん2018/03/30(金) 18:49:12.82ID:+cAt7TAV
>>789
"IDE0018"でググったら一発で解説が見つかるんだけどw
何でその長文タイプうする前に検索しないのよw
そこが分からん

793デフォルトの名無しさん2018/03/30(金) 18:57:29.01ID:roepBgfb
>>789
これ、どうしろって言ってん?

794デフォルトの名無しさん2018/03/30(金) 18:57:31.26ID:LI6oPksr
>>792

そういうことを言ってるんじゃないと思うけど…

手元にあるc#7.1じゃ再現しないんだけど

795デフォルトの名無しさん2018/03/30(金) 18:59:03.69ID:LI6oPksr
普通に考えるとスコープから外れるからインライン化できないはずなのにインライン化を進めてくるってことでそ

7967892018/03/30(金) 19:11:19.76ID:QYlpMr10
早速たくさんのレスありがとうございます。
お返事に少し時間がかかってしまいそうなので、上から順に書き込みたいと思います。
お待たせしてしまって申し訳ありません。

>>791
レスどうもありがとうございます。
色々なクラスで定義されているTryParseやIDictionaryのTryGetValueは
使いやすいと感じていて、それを参考に定義したメソッドをifの内側で使おうとしたのが
>789のようなプログラムを書いた経緯です。
しかし確かに複数の情報を返却したければそれ用のクラスを定義すれば良いことですし、
C#7ではタプルも構文化されているので、もはやoutは時代遅れということでしょうか。
C#にはいくつか負の遺産もあるということなので、その辺りについても勉強したいと思います。

7977892018/03/30(金) 19:21:12.54ID:QYlpMr10
>>792
説明が不十分で申し訳ありません。
>>795の方が分かりやすく説明してくださっているので蛇足になってしまうかも知れませんが、
私が検索した範囲では、
string message;
getMessage1(out message);

getMessage1(out string message);
に直せば良いということは分かったものの、変数の定義と関数の呼び出しとの間に
(今回の例のifのような)別のコードがあって、それが移動できないように見えても
メッセージが表示されてしまう場合があるということです。

ただ、「移動できないように見える」という部分に自信がなかったのと、
仮にそれが正しかったとしてもこのようなメッセージをどの様に受け止めれば良いのかが
よく分からなかったので質問させていただきました。

7987892018/03/30(金) 19:31:31.59ID:QYlpMr10
>>793
IDEがなんと言ってきているのか、とういことでしょうか。
サンプルコードを空行も含めて上から数えて7行目のコメント文なのですが、
「IDE0018 変数の宣言をインライン化できます」というメッセージが表示されます。

それとも、私がどのようなお返事を期待しているかとういことであれば、
このメッセージに対処するためのプログラムの修正方法や、
このようなメッセージに対する考え方などを教えていただけないかと考えています。
しかし、私の期待していること自体が見当はずれということもあると思うので、
それ以外でも何か気がつくことがあれば教えていただけると嬉しいです。

799デフォルトの名無しさん2018/03/30(金) 19:34:47.70ID:roepBgfb
msに
これ壊れててん?
ってメール出してみよう

800デフォルトの名無しさん2018/03/30(金) 19:44:57.86ID:DYwliZHB
VSとターゲットのフレームワークのバージョンを書いてないのがいまいち

8017892018/03/30(金) 20:00:44.22ID:QYlpMr10
>>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です。
他に何かお伝えすべきことがあれば教えていただけると嬉しく思います。

よろしくおねがいします。

8027892018/03/30(金) 20:06:29.84ID:QYlpMr10
>>795
分かりやすく補足していただいてどうもありがとうございます。
C#のバージョンについてもそうですが、正確にお伝えするための情報の確認が不十分でした。
これはプログラミング以前の問題だと思うので気をつけていきたいと思います。申し訳ありません。

8037892018/03/30(金) 20:18:53.64ID:QYlpMr10
>>799
アドバイスどうもありがとうございます。一日程度このスレッドを拝見してみて、
私の勘違いという証拠が見つからなければマイクロソフトに報告してみようと思います。

報告する場合、Visual Studio の
「ヘルプ(H)>フィードバックの送信(F)>問題点の報告(P)」を利用しようと考えていますが、
もし他におすすめの連絡先などがあれば教えていただけると嬉しく思います。

804デフォルトの名無しさん2018/03/30(金) 20:21:01.69ID:keCNvJ3G
つまりこう書けるよってことじゃないの?

if(x == 1) getMessage1(out string message);
else getMessage2(out string message);

805デフォルトの名無しさん2018/03/30(金) 20:23:34.69ID:sxHgkaP9

8067892018/03/30(金) 20:32:11.02ID:QYlpMr10
>>800
おっしゃる通りで、大変失礼いたしました。申し訳ありません。
>>801と内容が一部重複してしまいますが、これまでの内容を改めて整理したいと思います。
(これまでいただいたレスの表現を一部お借りしています)

問題の概要:
関数のout引数に関して、スコープから外れるためインライン化できないと思われる場面で
インライン化を推奨するメッセージが表示されることがある

問題を再現するコード及びメッセージの内容:
>>789

問題が再現する環境:
Windows 10 Pro 64bit
Visual Studio 2017
ターゲットフレームワーク:3.5/4.6.2/4.7.1 で確認

備考:
コードのコンパイル後にメッセージを確認

以上です。他に何か書くべきことがあれば教えていただけると嬉しいです。
どうぞよろしくお願いいたします。

807デフォルトの名無しさん2018/03/30(金) 20:37:12.26ID:+cAt7TAV
>>803
何でそうなるw
だから、まずググろうよ"IDE0018"で

そうすればこれはC#7の追加機能に起因する警告であり、不具合ではないとすぐに分かる。
何でそんな長文タイプする手間は惜しまないのにちょっと検索する手間は惜しむのよw
意味が分からん

ちなみに、この警告を無視するにはこうするんだってさ
https://developercommunity.visualstudio.com/content/problem/159716/is-there-a-way-to-disable-ide0018-globally.html
これもググってれあばすぐに自分で見つけられてるはず

808デフォルトの名無しさん2018/03/30(金) 20:40:09.19ID:keCNvJ3G
一行ならブロックスコープ外せるから>>804だと思うんだけど自分の6.0環境では試せなくて悲しい

809デフォルトの名無しさん2018/03/30(金) 20:59:52.66ID:keCNvJ3G
ごめん、無理だね
ブロック外してもスコープはローカルになっちゃうみたい

8107892018/03/30(金) 21:13:54.63ID:QYlpMr10
>>804>>808>>809
修正方法のご提示とご検証どうもありがとうございます。問題は>>809にお書きいただいたとおりです。

ただ、お書きいただいた通り問題はスコープにありますので、
Console.WriteLine(message);をifとelseの両方の中に書けばこの問題は起こりません。
この程度の内容を2回書くことは大した問題になりませんし、
この部分に対応するコードが長くなってしまった場合もメソッドとして切り出せば同じことですので、
いただいたレスを読みながら、>>789のようなプログラムを書くこと自体が筋が悪くて、
やはり>>804に適合するプログラムになるよう全体を修正するべきなのかなとも考えました。
ただ、メソッドとして切り出す方法であらゆる状況に対応できるかどうか自信がないので、
いずれにしても確信は持てていない状況です。

811デフォルトの名無しさん2018/03/30(金) 21:24:37.09ID:DYwliZHB
>>807
いつまでトンチンカンなこと言ってんの?

812デフォルトの名無しさん2018/03/30(金) 21:25:20.49ID:DYwliZHB
例のおじいちゃんかよ
レスして損した

813デフォルトの名無しさん2018/03/30(金) 21:28:28.22ID:+cAt7TAV
>>811
トンチンカンでもおじいちゃんでもないからw
こんなググればすぐに理由も対処法もわかる話でMSにクレーム付けたら
質問者が恥をかくだけ

814デフォルトの名無しさん2018/03/30(金) 21:30:10.03ID:DYwliZHB
NG推奨

815デフォルトの名無しさん2018/03/30(金) 21:30:33.31ID:roepBgfb
>>813
じゃ、どうしろって書いてあんの?
リンクのどこ見ればいいかわかんないよ
対象のコード貼ってくれ

816デフォルトの名無しさん2018/03/30(金) 21:30:33.58ID:+cAt7TAV
>>814
もうした

817デフォルトの名無しさん2018/03/30(金) 21:31:54.48ID:DYwliZHB
おじいちゃんに触れても無駄だよ
いつまでも間違いに気づいてないしレスも読んでないから

818デフォルトの名無しさん2018/03/30(金) 21:32:50.48ID:+cAt7TAV
>>815
無視するか気になるなら>>867で対処する
当たり前でしょう

819デフォルトの名無しさん2018/03/30(金) 21:33:56.46ID:roepBgfb
>>818
じゃ、バグってんじゃんw

820デフォルトの名無しさん2018/03/30(金) 21:34:34.33ID:+cAt7TAV
>>819
だから何でそうなるw
意味が分からない

821デフォルトの名無しさん2018/03/30(金) 21:35:21.33ID:DYwliZHB
>>819
おじいちゃんはまだ何が起こってると言う話なのか判ってないからレスしても無駄
スコープもわからないから

822デフォルトの名無しさん2018/03/30(金) 21:36:16.37ID:+cAt7TAV
>>821
トンチンカンなことを言ってるのは君の方なんだけど、自覚がないってのは幸福でいいねw

823デフォルトの名無しさん2018/03/30(金) 21:37:18.61ID:roepBgfb
>>820
いや、バグでしょコレ
だってこんなん指摘してきた同僚がいたらキチガイじゃん

824デフォルトの名無しさん2018/03/30(金) 21:37:22.84ID:MnRWcQoL
>>810
Visual Studio のバグでしょ
とりあえず頓珍漢野郎の>>807のリンク先に抑止方法書いてあるからそれでしのげばいいかと

825デフォルトの名無しさん2018/03/30(金) 21:38:22.07ID:+cAt7TAV
っていうか、>>789みたいなコードが警告されるのはむしろ当たり前。
outの変数を使いまわしするなんてよい作法とは言えないからだ

826デフォルトの名無しさん2018/03/30(金) 21:39:20.19ID:DYwliZHB
ジジイはトンチンカンすぎてダメだな
いつまでたっても成長しない

827デフォルトの名無しさん2018/03/30(金) 21:40:20.48ID:MnRWcQoL
使い回しとかほんとに意味わかってないんだな w

828デフォルトの名無しさん2018/03/30(金) 21:41:00.76ID:roepBgfb
>>825
使うからoutしてんじゃん
ガイジが過ぎるぞ自重しろ

829デフォルトの名無しさん2018/03/30(金) 21:41:07.53ID:+cAt7TAV
しかし、バグバグいってる連中はちゃんとググって解説記事読んでるのかねw
こんなのが同僚だったら張り倒すよw

830デフォルトの名無しさん2018/03/30(金) 21:41:48.65ID:DYwliZHB
ジジイは失礼なので取り消しておじいちゃんにまた戻す

831デフォルトの名無しさん2018/03/30(金) 21:42:50.83ID:roepBgfb
>>829
ありえねーレベルのアホだなw
outしたの使わないでどーすんだよ

8327892018/03/30(金) 21:45:40.64ID:QYlpMr10
>>805
参考ページのご紹介どうもありがとうございます。
このページは拝見したのですが、問題の解決に至る道筋を見つけることができませんでした。
(確認したページのうち主要なものはあらかじめお伝えしておくべきだったかもしれません。
 申し訳ありません。)

質問させていただいている身でこのようなことをお願いするのは大変心苦しいのですが、
もしお時間に余裕がありましたら具体的な修正方法のご説明をお願いすることはできませんでしょうか。
ご説明の中で私の疑問を理解していただければ幸いですし、
いただいたご説明で問題が解決できれば願ってもないことです。

煽るような文章で答えを引き出すような形になってしまい大変申し訳ありませんが、
私の説明能力の無さゆえの苦肉の策ということで、どうぞ失礼をお許しください。

833デフォルトの名無しさん2018/03/30(金) 21:46:08.85ID:rq+fXpbo
ガイジでいいだろ
本人もそう言ってる

834デフォルトの名無しさん2018/03/30(金) 21:49:29.47ID:DYwliZHB
>>832
とりあえず別のことに時間使ったほうがいいよ
ひまーな時に思い出して修正されたか確かめるといい

うちじゃ全然再現されないからどうしようもない

8357892018/03/30(金) 22:03:34.15ID:QYlpMr10
ID:+cAt7TAV 様
警告の抑制方法についてご案内いただきどうもありがとうございます。
他に解決策が見つからなければマイクロソフトに問題を報告し、
マイクロソフトに修正していただけるまで教えていただいた方法で警告を抑制したいと思います。

ただ、他の方にいただいたレスも拝見し、やはり私としてはこのメッセージが適切であるとは確信できずにいます。
もしお時間に余裕がありましたら、>>832のお願いを ID:+cAt7TAV 様にもさせていただけないでしょうか。
お願いの方法も内容も大変失礼なもので申し訳ないのですが、どうぞお許しください。

836デフォルトの名無しさん2018/03/30(金) 22:06:55.10ID:+cAt7TAV
まあ質問者がここのお馬鹿さんを代表してMSに質問してみたらいいと思う。
恥をかくのも勉強のうちかも

個人的にはちょっと調べてちょっと自分の頭で考えれば分かるはずのことを理解しようとせず、
「このバグどうなってんだコラー」なんて突撃するのは愚の骨頂にしか思えんけど

つーか、ちょっと考えれば、この警告は余計なお世話のように思えて
一定の合理性があることぐらいすぐ分かると思うんだけど、ガチで分からない奴もいるんだね世の中には

837デフォルトの名無しさん2018/03/30(金) 22:10:00.19ID:+cAt7TAV
>>835
だから、警告の意図はout変数を値を戻す以上の目的で使うのはよい作法じゃないよ、
ってことでしょう。

外側のブロックでも値を使いたいなら別の変数にコピーしてねと

838デフォルトの名無しさん2018/03/30(金) 22:14:49.66ID:roepBgfb
は?こんなのバグだろ

8397892018/03/30(金) 22:22:13.29ID:QYlpMr10
たくさんご反応をいただきどうもありがとうございます。
とても勉強させていただいています。
お返事が遅くなってしまい申し訳ありません。

予想以上のレスの多さでこの話題に触れてくださった方すべてにお返事するのが難しくなってきましたので、
大変勝手ながら、これ以降、直接私の書き込みにアンカーを付けてくださった方と
特に教えていただきたいことがある方へのメッセージのみ書き込みたいと思います。どうぞよろしくお願いします。

>>825
皆さんのお話を聞いて、コードの無作法が警告メッセージの直接または間接的な原因なのではということを
かなり感じてきました。ただ、作法に関する私の理解が不十分でどうにも宙に浮いたような感覚なのです。
もしよろしければ、>>810考えについてコメントなどをいただくことはできないでしょうか。よろしくお願いいたします。

840デフォルトの名無しさん2018/03/30(金) 22:29:53.50ID:MnRWcQoL
>>836
どう書けばいいのかを書いてからほざけば? w

841デフォルトの名無しさん2018/03/30(金) 22:30:40.89ID:CA+6T7VZ
トンチンチン

8427892018/03/30(金) 22:32:45.82ID:QYlpMr10
>>824
レスどうもありがとうございます。
やはりバグと考えるのが妥当なのかなという気持ちが強くなってきました。

これだけたくさんのレスをいただき、バグであろうというご意見もいただいているので
もうマイクロソフトに報告を出してしまってもいいかなという気もしているのですが、
一応>>803に書いたとおり一日置いてから報告しようかと思います。

ただバクだとしても、このバグが今まで大した問題にならなかったということは
再現するためのコードに多かれ少なかれ作法の問題があるのではという気持ちもあり、
色々と勉強させていただきたいと考えています。

843デフォルトの名無しさん2018/03/30(金) 22:37:24.89ID:MUNCeVRK
>>842
現象再現するソリューション一式をアップローダにあげたら何か進展あるかもよ

844デフォルトの名無しさん2018/03/30(金) 23:04:09.64ID:L1eApEVG
>>789
以下の書き方ってビルド通るっけ?
ビルドエラーの時は原因と関係ない警告でたりするからmessage=nullみたいに何かいれれば解決したりしない?

string message;
if (x == 1) getMessage1(out message);
else getMessage2(out message);
Console.WriteLine(message);

後outメソッドではなく、戻り値で文字列を返すのが普通
根本的な解決じゃないけどoutキーワードを使わないgetに直せば警告を消せる

8457892018/03/30(金) 23:06:10.14ID:QYlpMr10
>>834
アドバイスとご検証どうもありがとうございます。

再現性の問題については、警告のカスタム規則セットなどは使っていないつもりなのですが、
そのあたりの理解が不十分でお伝えすべきことが不足してしまっているのかも知れません。
念のため、解説ページなどを読むなどしてもう一度確認したいと思います。

また、とりあえず別のことに時間をということについて、お心遣いをとても嬉しく思います。
ただ、せっかくこれだけの反応をいただけたのだからできる限りのことを吸収して…という
殊勝(?)な考え以上に、私が感じた問題に多くの方が興味を持ってくださったことが嬉しく、
娯楽という意味でもう少しこの場にお邪魔させていただきたいと思っています。

8467892018/03/30(金) 23:33:26.14ID:QYlpMr10
>>837
大変勉強になるコメントどうもありがとうございます。この観点はまったく気づいていませんでした。
確かにout変数の使い道をそこまで限定することで警告は表示されなくなりますし、
この制限はプログラムの保守性を高める効果もありそうです。
これで私個人の、警告が表示されて気持ちが悪いという問題は解決したように思います。
どうもありがとうございます。

ただそれはそれとして、今回の警告はやはり意図されたものではないと思うのですが、
もしよければこの点についてもご意見をお聞かせいただけないでしょうか。

私がこのように思うのは、以下のコードで警告が表示されないというところにあります。

8477892018/03/30(金) 23:33:45.21ID:QYlpMr10
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);

8487892018/03/30(金) 23:34:33.28ID:QYlpMr10
>>837の制限に従えば上のプログラムのifの部分は次のように修正されるべきです。
しかしこの例では警告文表示されず、従って警告文は>>837の制限を課すためのものではないと思われるので、
「今回の警告は意図されたものではない」という結論に至りました。

int x = 1;
string message;
if (tryGetMessage1(x, out string message1))
{
message = message1;
}
else
{
getMessage2(out string message2);
message = message2;
}

8497892018/03/30(金) 23:56:19.78ID:QYlpMr10
>>843
アドバイスどうもありがとうございます。
今更ですが、警告が表示されるコードを含むソリューションをアップロードしてみました。
https://dotup.org/uploda/dotup.org1498398.7z.html

8507892018/03/31(土) 00:03:56.30ID:a/TgDl8y
>>844
レスどうもありがとうございます。
お書きいただいたコードでは、ビルドは通りますが>>789と同じ警告文が表示されました。
これは message = null と書き換えても同じようです。

戻り値で文字を返すべきだというのはおっしゃるとおりだと思います。
ただ>>796のような理由もあり、out変数でも警告が表示されずにすまないか思って質問させていただきました。

851デフォルトの名無しさん2018/03/31(土) 00:04:10.00ID:r1Fcmmf3
>>849
えー、このスレで解決しないといけないの?
初心者スレの領域越えてない?

852デフォルトの名無しさん2018/03/31(土) 00:04:41.30ID:r1Fcmmf3
しかも無駄に長文だしちょっと控えてよ

8537892018/03/31(土) 00:25:14.41ID:a/TgDl8y
>>851 >>852
申し訳ありません。
もともと不具合なのかどうかの判断もできずこのスレで質問させていただきましたが、
IDEの不具合であるとすれば、おっしゃるとおりここで解決を目指すことではないと思います。

ただ、もしこの問題に興味を持ってくださる方がいて、問題が再現されないようであれば、
>>849のソリューションファイルでもお試しいただければ嬉しく思います。

これ以降は、「IDEのバグ修正」という方向の話について私の方から書き込むことは控えたいと思います。
しかし、すでに私が書き込んでしまった内容にお返事をいただいた際のレスについてはお許しください。

以上、長々と失礼いいたしました。

854デフォルトの名無しさん2018/03/31(土) 00:25:16.57ID:p9TP05UX
>>806
Visual Studio 2017のバージョンは?
最新版(15.6.4)で>>849のソリューションビルドしたけど、IDE0018は出なかった。

後、ID:+cAt7TAVは頓珍漢な上に指摘を一切聞かない人だから無視した方が良いよ。

855デフォルトの名無しさん2018/03/31(土) 02:11:28.67ID:r7WFMRHn
>> 853
Visual Studio 15.5.7 だけど IDE0018 は出なかった

リファクタリングしたらどうなるの?
https://codezine.jp/article/detail/9861?p=4

8567892018/03/31(土) 08:06:10.45ID:Mw1mdL1r
レスどうもありがとうございます。お返事が遅くなってしまい申し訳ありません。
日中はVisual Studioを使えそうになく、申し訳ないのですがきちんとしたお返事は夜になってしまうと思います。
中途半端な内容になってしまいますが、ひとまずいただいたレスにお返事したいと思います。
後ほど改めて書き込みますので、失礼をお許しください。

>>854
Visual Studio 2017のバージョンについてご報告できておらず申し訳ありません。
恥ずかしいことに最新版を使うという意識も持てていなかったので、古いバージョンを使っているかも知れません。
(ただ、古いバージョンで検証して下さった>>855様もIDE0018は出なかったとのことなので、
 なにか他のところに問題があるのかなとも思っています。)

>>855
ご検証どうもありがとうございます。
>>854様の結果と合わせて2つのバージョンで再現しなかったとのことなので、
私は何かとても基本的なところで間違いを犯してしまっているのかも知れません。
リファクタリング機能については、ご指摘をいただいた上で試したわけではないので後でまた確認しようと思いますが、
問題の箇所では動作しなかったように記憶しています。

857デフォルトの名無しさん2018/03/31(土) 08:08:51.24ID:r1Fcmmf3
>>855
不具合報告スレでも立ててそっちでやれよ

858デフォルトの名無しさん2018/03/31(土) 08:43:46.87ID:+WsDcfNX
別にいいよ
片っ端から透明あぼーんするだけだし

859デフォルトの名無しさん2018/03/31(土) 08:51:48.82ID:OaeapR1O
>>836
> 「このバグどうなってんだコラー」なんて突撃するのは愚の骨頂にしか思えんけど
1年も前にバグと判明して解決してる
https://developercommunity.visualstudio.com/content/problem/8924/ide0018-false-suggestion.html

> 恥をかくのも勉強のうちかも
実践乙 w

860デフォルトの名無しさん2018/03/31(土) 09:03:24.19ID:9aphfiP0
>>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));

861デフォルトの名無しさん2018/03/31(土) 09:07:37.87ID:r1Fcmmf3
>>860
これが恥の上塗りか

862デフォルトの名無しさん2018/03/31(土) 12:42:07.43ID:x9Yyswdb
(結局調べれば分かることで、ググれというレスを罵倒してた奴らは今どんな心境なんだろう)

863デフォルトの名無しさん2018/03/31(土) 12:44:49.99ID:LMRl+wCl
>>860
これは主旨が違うじゃん

864デフォルトの名無しさん2018/03/31(土) 12:45:43.39ID:O8yBke8L
ワッチョイないからNGがタルい

865デフォルトの名無しさん2018/03/31(土) 13:03:27.79ID:9aphfiP0
>>863
もともと修正方法教えろって言ってるんだからこれが正解だよ

866デフォルトの名無しさん2018/03/31(土) 13:09:24.39ID:LMRl+wCl
ワッチョイ必要だな

867デフォルトの名無しさん2018/03/31(土) 13:32:48.06ID:OaeapR1O
>>862
> (結局調べれば分かることで、ググれというレスを罵倒してた奴らは今どんな心境なんだろう)
罵倒されてもしょうがないよね
って感じですけど?
しかも恥の上塗りしてる奴までいるし w

868デフォルトの名無しさん2018/03/31(土) 13:32:50.70ID:IoBwmw2C
>>865
>>789と出力結果が違うのに正解とか何ほざいてんのw

869デフォルトの名無しさん2018/03/31(土) 15:17:13.71ID:G6tH+bWp
FirstOrDefaultについて教えて下さい。
List<T>をFirstOrDefaultで条件のものを返してきた場合、
それは参照先のアドレスが返ってくるのでしょうか?
それとも写像としてコピーされたものが返ってくるのでしょうか
取り出したものの値を更新したときに、元のListは更新されますか?

870デフォルトの名無しさん2018/03/31(土) 15:28:08.82ID:IoBwmw2C
数分で試せることをなぜやらない

871デフォルトの名無しさん2018/03/31(土) 15:34:02.83ID:r1Fcmmf3
List<int>とかとList<MyClass>とかで違うよね的な?

872デフォルトの名無しさん2018/03/31(土) 15:39:45.66ID:UG1yVXDX
やってることは同じ(値をコピーしてくる)だけど結果が違ってくると言うこと

873デフォルトの名無しさん2018/03/31(土) 15:48:48.09ID:feZwED6X
教習所の教官「生徒が減ったので褒めちぎったら運転技術は向上!合格率も事故率も改善!俺はなんで今まで怒ってたんやろう?」 [274141358]
http://2chb.net/r/poverty/1522384054/
5 名前:番組の途中ですがアフィサイトへの転載は禁止です (ワッチョイWW d3e8-gBuS)[] 投稿日:2018/03/30(金) 13:30:33.99 ID:F53Z/ySd0
よく考えたら本当にジャップ案件だよな
初心者に対して怒鳴り散らしてどこが悪いかは一切教えない
部活と一緒だわ

874デフォルトの名無しさん2018/03/31(土) 16:04:38.32ID:fwgHW5nR
>>869
List<T>とかHashSet<T>とか初めから使えるやつはTが値型か参照型かだけ考えればいいよ
あと「Listが更新されるか」という言い方はTが参照型だと意味が曖昧になるから改めたほうがいいかと

ふと↓こんなのが頭をよぎったけど意味が分からなければスルーしておくれ
class MyList<T> : IList<T> where T : ICloneable { ... }

875デフォルトの名無しさん2018/03/31(土) 16:14:25.21ID:UG1yVXDX
IListは実装したことないな
実装例は見かけるけどOSSで実装してるのは見かけない

876デフォルトの名無しさん2018/03/31(土) 16:27:15.53ID:fwgHW5nR
>>875
>>874でIEnumerableでもICollectionでもなくIListを選んだのには深い理由があるのよ
文字数という理由がね
まあIsReadOnlyプロパティとかどうかとは思うよ

877デフォルトの名無しさん2018/03/31(土) 16:49:04.27ID:G6tH+bWp
ご指導ありがとうございます
Tが値型か参照型かというところが意識から抜けておりました
適当に組んで試してみて、その違いも確認できました

878デフォルトの名無しさん2018/03/31(土) 16:55:49.06ID:tzO3VEeA
モニタの解像度によらず実寸A4サイズのウィンドウを開いて2pの×を座標ランダムに20表示
それをクリックするというアプリを開発しようと思ってます。
最初モニタの解像度取得してモニタの実寸をユーザーが入力して、
そこからA4サイズは何ドットになるか計算してというのをフォームで作り始めたんだけど、
これだと×や他のボタンも全て計算して調整しなければいけないのかと気づきました。

WPFで開発するとこういうモニタサイズにかかわらず実寸で表示って簡単に処理できるの?

879デフォルトの名無しさん2018/03/31(土) 17:16:01.57ID:l8CCe9Lg
実寸はモニタ変更するたび変えないと駄目じゃん
フルHDのスマホとモニタじゃちげーし

880デフォルトの名無しさん2018/03/31(土) 17:27:51.62ID:47Bv8u8/
ユーザーが勝手にWindowsのDPI設定を変更してない限りはできるけど、
今更オワコンWPFに手を出すくらいならHTMLで作ることを強くお勧めする
CSSならmm単位で実寸指定できるからWPFよりも簡単だよ

881デフォルトの名無しさん2018/03/31(土) 17:34:37.92ID:FNt76Udy
>>868
お前は返しまでくだらないな

882デフォルトの名無しさん2018/03/31(土) 17:37:43.10ID:GqrQqkMZ
イベント処理でキー読み込むのと、ただ単にキー読み込むのではどう違うの?
実行すると速度が全然違うんだけど...

883デフォルトの名無しさん2018/03/31(土) 17:38:31.40ID:io+mDfEy
例の教育心理系君か
AWS S3にHTML/CSS/JavaScript置いてURL教えるのが一番手っ取り早いだろうな
結果もJavaScriptからS3 APIで保存するようにすれば完全サーバーレスだ
その程度なら料金は月10円もしない

884デフォルトの名無しさん2018/03/31(土) 17:58:49.73ID:tzO3VEeA
ご無沙汰しておりました。
教育心理系のものです。
ようやっとC#の本読み終えて作り始めましたけど、
実世界での用紙とか×とかの大きさを統一しないと実験結果に影響が出るので実o単位で画面表示が必要なことに気づきました。

a. ディスプレイ解像度はC#で取得できたので、後は実モニタサイズをユーザーに入力してもらえば、小学生の算数レベルでA4用紙のウィドウは作れる

でいいかと思ったんだけど、
そうすると×の大きさや当たり判定の範囲まですべて計算しなければいけず、
なんかあほらしいことをやってるのか??
と疑問に思ってきました。

ブラウザ上に表示するとユーザー側でctrl+スクロールで表示の大きさ変えられちゃうんですよね。
実世界でのo単位での大きさを固定したいってあまりなさそうな要求だし、aでやってくしかないのかなぁ。

885デフォルトの名無しさん2018/03/31(土) 18:02:33.45ID:UG1yVXDX
そこまでやるなら被験者とモニターの距離も計測して一定にしないと…

886デフォルトの名無しさん2018/03/31(土) 18:12:00.40ID:NJrC8qba
なぁに網膜に直接書き込んでしまえばw

887デフォルトの名無しさん2018/03/31(土) 18:20:56.75ID:/DPGnFFi
いいね!

888デフォルトの名無しさん2018/03/31(土) 18:35:00.07ID:tzO3VEeA
>>885
その通りですね。
同じような実験で被験者の姿勢によりスコアが変わるらしいので。

889デフォルトの名無しさん2018/03/31(土) 18:42:00.60ID:AhiWvdUc
>>878
WpfにはViewBoxと言う拡大縮小自在なモジュール在るから上手くやりゃなんとかなるよ

890デフォルトの名無しさん2018/03/31(土) 18:59:42.15ID:tzO3VEeA
>>889
ViewBox調べてみます。
少しフォームベースで初めてみたんですけど、
これから勉強するならWpfとフォームどちらで作るのがおすすめですか?

フォームでもゴリゴリやっていけば狙ったものはつくれそうな感じはするんですけど、
wpfのほうがいいというのも聞いたりして悩み中です。

891デフォルトの名無しさん2018/03/31(土) 19:11:47.57ID:AhiWvdUc
>>890
件の用途だとformsは厳しいと思われるのでwpfを奨めるが、情報少ないから習得は簡単じゃないと思うよ
もし、不特定多数への配布を考えているならwpfの進化形であるUWPを使うのを奨める

892デフォルトの名無しさん2018/03/31(土) 19:59:43.42ID:kEu+XyQj
>>882
ただ単に読み込むのはどのタイミングでどうやってるの?

893デフォルトの名無しさん2018/03/31(土) 20:17:53.84ID:tzO3VEeA
>>891
wpf情報少ないんですか・・・。
UWPも書籍はまだ少ないみたいですね。
ど素人なので学習のための情報は欲しいなぁ。

フォームでも×を線で描いてしまえばなんとかなりそうなんですけど、
拙速コードでも早期論文化を目指してフォームでやるか
将来のためにUWPを勉強するか悩みますね。

894デフォルトの名無しさん2018/03/31(土) 20:26:11.30ID:Tt7WJg3O
>>893
WPFでもFormでもスケーリングはページ変換使うだけだから難しくないと思う。

■ Formを使う場合の問題点

- 自動でスケーリングされるのはグラフィックだけ。コントロールやそのフォントは
コードでスケーリングや座標変換する必要がある


■ WPFを使う場合の問題点

- GDI+ほど簡単じゃない

- 多数の図形を描画する場合はパフォーマンスが問題になる

895デフォルトの名無しさん2018/03/31(土) 22:01:55.63ID:l8CCe9Lg
何処の座標を実寸通りにしたいか?
だけでformでいいだろ
なんでボタンまでやる必要があるんだ?

896デフォルトの名無しさん2018/03/31(土) 22:04:08.01ID:tzO3VEeA
A4相当の大きさのウィンドウ表示って調べてみると難しいんですね。
DPI取得もなんかOSで100%以外の拡大表示にしてると当てにならないみたいだし、
ディスプレイの大きさはユーザーが実測値入力で妥協してももいいのかな・・・。

897デフォルトの名無しさん2018/03/31(土) 22:09:29.60ID:g9lQ5N9X
厳密な同環境を求めてるみたいだが、
マウスの移動速度で無理が出ると思う

898デフォルトの名無しさん2018/03/31(土) 22:25:11.42ID:l8CCe9Lg
>>896
だからできねぇって
スマホもフルhdだろ?
モニタもフルhdだろ?

899デフォルトの名無しさん2018/03/31(土) 22:26:20.15ID:Tt7WJg3O
>>896
一応モニター自身が持つEDIDとかいう情報に表示領域の物理サイズが含まれているらしい

WPFはどうだったか知らんけど、FormはOSのDPI設定を無視して指定ピクセルサイズでFormを
表示させられると思った。

だからDPIさえ分かれば目的の物理サイズのウィンドウを表示することは難しくないはず

900デフォルトの名無しさん2018/03/31(土) 22:40:05.11ID:IoBwmw2C
>>898
さっきからスマホスマホうるさい
WPFの時点でデスクトップWindows固定だって理解できないの?

901デフォルトの名無しさん2018/03/31(土) 22:48:21.76ID:r1Fcmmf3
>>900
えー、だから解像度に対するモニタのサイズが決定しねーと駄目でしょって話何だけど?
スマホを例に挙げたのはあんな小さいなりして解像度はフルhdだから

902デフォルトの名無しさん2018/03/31(土) 22:55:14.06ID:IoBwmw2C
ユーザーがモニタサイズを入力って何回も書いてあるじゃん
それじゃ不満なの?

903デフォルトの名無しさん2018/03/31(土) 22:55:29.08ID:vbALr7Yq
デスクトプPCとタブレットPCにでもしときゃ良いだろうに

904デフォルトの名無しさん2018/03/31(土) 23:28:19.33ID:r1Fcmmf3
>>902
逆にそこまで決定してると疑問が出るのが謎

905デフォルトの名無しさん2018/03/31(土) 23:45:29.31ID:U08lgUq5
やっぱりC#もバカばかりなんだなあ
現代の三大バカ
ペチパー、ジャバパー、シーシャーパー
で決定やねw

906デフォルトの名無しさん2018/04/01(日) 00:58:58.57ID:AmnK79El
教えてください。

以下のような事をしたいと思います。
再現のために最低限必要なところだけを抜き出しているので、これだけだと意味が不明ですが、
同じような処理があちこちにあるので処理をまとめるため、このような事をしています。

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 を回避する手段のアドバイスをいただけると助かります。

907デフォルトの名無しさん2018/04/01(日) 01:09:42.05ID:v0T9GXCI
>>906
生のテキストを送るなバカ
PrepareなりSqlParameterなり使ってSQL文とデータを分離しろバカ
詳しくは「C# インジェクション対策」でググれバカ

908デフォルトの名無しさん2018/04/01(日) 01:10:28.60ID:RE1ojOXr
MDT_RAW_DPIで物理的なppiに近い値が返ってくるからそれ使えで済む話、で終われば良いんだが
あれちゃんとした値が返ってくる保証が無さそうなのがねー

909デフォルトの名無しさん2018/04/01(日) 01:21:16.42ID:GUPc3ba+
C#は、C++を難しく感じる人が使う言語だから。

910デフォルトの名無しさん2018/04/01(日) 01:26:38.59ID:Cu8+FDkh
文法だけならC言語が一番好き
クラス以降いらねー

911デフォルトの名無しさん2018/04/01(日) 01:39:12.76ID:AmnK79El
>>907
それはやってる。
再現する最低限までコードを削った結果としてその部分が見えなくなってるだけ。

912デフォルトの名無しさん2018/04/01(日) 01:43:15.77ID:UKmXoisc
>>906
なんでToStringしてんの?

913デフォルトの名無しさん2018/04/01(日) 01:45:10.58ID:AmnK79El
>>912
あ。ごめん。
いろいろ試してたときのコードが残ってました。
.ToString() がなくても再現します。実際にもそんな事してません。

914デフォルトの名無しさん2018/04/01(日) 02:06:42.96ID:1BdiydkK
急にタメ語になるのほんと草

915デフォルトの名無しさん2018/04/01(日) 02:10:36.19ID:Cu8+FDkh
>>911
えー?
でも出てる警告ってSQLインジェクションの警告ちゃうのん?


lud20180401023833
このスレへの固定リンク: http://5chb.net/r/tech/1520057345/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  
このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ



全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「ふらっと C#,C♯,C#(初心者用) Part136 ->画像>4枚 」を見た人も見ています:
ふらっと C#,C♯,C#(初心者用) Part146
ふらっと C#,C♯,C#(初心者用) Part138
ふらっと C#,C♯,C#(初心者用) Part141
ふらっと C#,C♯,C#(初心者用) Part144
ふらっと C#,C♯,C#(初心者用) Part143
ふらっと C#,C♯,C#(初心者用) Part133
ふらっと C#,C♯,C#(初心者用) Part137
ふらっと C#,C♯,C#(初心者用) Part132
ふらっと C#,C♯,C#(初心者用) Part142
ふらっと C#,C♯,C#(初心者用) Part141
ふらっと C#,C♯,C#(初心者用) Part145
ふらっと C#,C♯,C#(初心者用) Part139
ふらっと C#,C♯,C#(初心者用) Part140
ふらっと C#,C♯,C#(初心者用) Part129
ふらっと C#,C♯,C#(初心者用) Part131
ふらっと C#,C♯,C#(初心者用) Part135
ふらっと C#,C♯,C#(初心者用) Part134
ふらっと C#,C♯,C#(初心者用) Part156
ふらっと C#,C♯,C#(初心者用) Part130 [無断転載禁止]©2ch.net ->動画>14本->画像>14枚
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part121
ふらっと C#,C♯,C#(初心者用) Part147
ふらっと C#,C♯,C#(初心者用) Part150
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part128
ふらっと C#,C♯,C#(初心者用) Part155
ふらっと C#,C♯,C#(初心者用) Part119
ふらっと C#,C♯,C#(初心者用) Part149
ふらっと C#,C♯,C#(初心者用) Part151
ふらっと C#,C♯,C#(初心者用) Part157
ふらっと C#,C♯,C#(初心者用) Part120 [無断転載禁止]
ふらっと C#,C♯,C#(初心者用) Part127 [無断転載禁止]©2ch.net
ふらっとC#,C♯,C#(初心者用) Part88
ふらっとC#,C♯,C#(初心者用) Part92
ふらっと C#,C♯,C#(初心者用) Part160 (874)
ふらっと Q#,Q♯,Q#(初心者用) Part 1 (10)
くだすれC++/CLI(初心者用)part2->動画>2本
教えて、鯖管理の仕方(初心者用)
何か楽しい教本・曲集ないの?(初心者用)->動画>2本
★日本語と英語を併記して会話しよう(初心者用)★ [無断転載禁止]©2ch.net
Webサイト制作初心者用質問スレ part239
Webサイト制作初心者用質問スレ part248 [無断転載禁止]
00:21:26 up 3 days, 10:45, 7 users, load average: 9.81, 9.21, 9.07

in 0.049585819244385 sec @0.049585819244385@0b7 on 121514