◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

ふらっと C#,C♯,C#(初心者用) Part141 YouTube動画>1本 ->画像>5枚


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

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

1デフォルトの名無しさん (ワッチョイ 2317-qMUn)
2018/12/15(土) 11:07:07.89ID:0aSEF/I+0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

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

■関連スレ
C#, C♯, C#相談室 Part93
http://2chb.net/r/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
http://2chb.net/r/tech/1538646998/
■コードを貼る場合は↓を使いましょう。
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: checked:vvvvv:1000:512:----: EXT was configured
2デフォルトの名無しさん (ラクッペ MMb3-76+Y)
2018/12/15(土) 12:39:46.77ID:08VjymySM
まあこっちかな
時節柄か変な生き物が多いからな
一週間見なくて済むのは嬉しい
3デフォルトの名無しさん (ササクッテロル Spa3-YXIk)
2018/12/15(土) 14:21:33.00ID:gB7jv9l9p
わっチョイありの方が良さげ
4デフォルトの名無しさん (アウアウエー Sa82-MGZ2)
2018/12/15(土) 14:25:47.37ID:mgmsvi+Ca
WinFormsとWPFがオープンソース化されたから、OSS禁止の開発には使えなくなるな
5デフォルトの名無しさん (ワッチョイ 3b9a-0hbB)
2018/12/15(土) 16:15:16.93ID:4D+cqIcW0
前スレにも何人かいたが、ここは業界談義や雑談をするスレじゃないから
そういったことはマ板でやってくれ
6デフォルトの名無しさん (オッペケ Sra3-lMXg)
2018/12/15(土) 16:30:41.09ID:brX4Hijtr
WinFormにGeckoブラウザをfill表示させてhtmlとcss、jsでUI作るのが一番楽
実質electronみたいなもんだろ
ロジックはc#だし
7デフォルトの名無しさん (ワッチョイ 4a9b-n1dS)
2018/12/15(土) 17:50:14.43ID:u39qPf+R0
リストビューの設定のテンプレとかない?
8デフォルトの名無しさん (ワッチョイ 0ae3-7LdQ)
2018/12/15(土) 18:00:12.39ID:88lSHx3P0
DataGridView使おうぜ
9デフォルトの名無しさん (ワッチョイ ff9e-3Pua)
2018/12/15(土) 21:47:58.45ID:wbNOQa8W0
Consoleアプリで、Main関数から別スレッドを起動して
func1()を一回だけ実行したいんですが、
system.timers.timerとかsystem.threading.threadとかいろいろあるんですが、
初心者向きのお手軽なのはどれでしょうか?
10デフォルトの名無しさん (ワッチョイ 0ae3-7LdQ)
2018/12/15(土) 21:53:52.41ID:88lSHx3P0
11デフォルトの名無しさん (ワッチョイ ff9e-3Pua)
2018/12/15(土) 22:05:51.73ID:wbNOQa8W0
>>10
出来ればサンプルコード教えて下さい。
12デフォルトの名無しさん (ワッチョイ 1e9a-PT0M)
2018/12/15(土) 22:40:32.92ID:2qTL12QJ0
>>11
https://docs.microsoft.com/ja-jp/dotnet/api/system.threading.thread
13デフォルトの名無しさん (ワッチョイ 0fc3-vjmv)
2018/12/16(日) 00:03:32.31ID:mTL8CX5x0
>>9
生のThreadを扱う場面はほとんど無いから、Task覚えた方が良い

static void Main( string[] args )
{
var task = Task.Run( () =>
{
func1();
} );
task.Wait();
}
14デフォルトの名無しさん (スプッッ Sd4a-g8EJ)
2018/12/16(日) 00:25:14.21ID:y1HWe8yEd
>>4
OSS禁止の開発って何で開発すんの?
15デフォルトの名無しさん (スプッッ Sd4a-g8EJ)
2018/12/16(日) 00:27:33.81ID:y1HWe8yEd
既にRyuJitやRoslyn、MSBuildはOSSだから、C#使ってる時点で完全にOSS使わないってのは難しい気がするけど
16デフォルトの名無しさん (ラクッペ MMb3-76+Y)
2018/12/16(日) 00:42:36.71ID:Y9KSWbqyM
なにで開発すんのって、普通にMSBuildとか使ってますよ
OSS禁止を真面目に言ってる人は本質的に疎い人なんで、その辺は理解できていません
MSBuildが何なのかすら、いや、存在すら知らないでしょうな
17デフォルトの名無しさん (アウアウエー Sa82-KEhP)
2018/12/16(日) 00:53:23.45ID:h2N3x2oNa
>>13
これ、MSDNのサンプルコードもなぜか必要のないラムダ式をわざわざ作ってるね
18デフォルトの名無しさん (ブーイモ MMb6-MGZ2)
2018/12/16(日) 00:56:38.30ID:LhVwlQXnM
>>17
直接func1を渡す形だとコピペアビリティが低いからだろ
19デフォルトの名無しさん (ワッチョイ 0ad2-g8EJ)
2018/12/16(日) 12:10:44.01ID:T0QlLmoR0
>>16
OSS使ってることに気づいてないだけよね
20デフォルトの名無しさん (ブーイモ MMaa-MGZ2)
2018/12/16(日) 12:26:28.88ID:aLTMjJBbM
msbuildもcscもビルドに使われるだけで成果物がそれに依存しているわけではないだろう
OSS禁止でもeclipseはOKなのと同じ理屈
WinFormsやWPFという正真正銘のOSSを使うのとはわけが違うよ
21デフォルトの名無しさん (ワッチョイ 23c9-2dqZ)
2018/12/16(日) 12:32:02.42ID:ElY+dogD0
OSSが禁止されがちなのはそのライセンス形態にあると思うんだが
WinFormやWPFがいきなりGPLになるわけじゃないし
22デフォルトの名無しさん (ワッチョイ 9fe3-7LdQ)
2018/12/16(日) 12:51:56.13ID:mvYA/PaT0
Oおっ
Sさんが
Single(一人で作ってる)

アプリ
23デフォルトの名無しさん (ワッチョイ ffd3-2dqZ)
2018/12/16(日) 13:01:23.04ID:mdqjV67R0
OSS禁止のひと、そこまで考えてないと思うよ
24デフォルトの名無しさん (スプッッ Sd4a-g8EJ)
2018/12/16(日) 13:25:07.29ID:/TxtZZ4qd
>>20
Ryujitは無視かい?
25デフォルトの名無しさん (ワッチョイ 8ab3-skpA)
2018/12/16(日) 14:27:18.36ID:7UXd2BE00
>>21
だよね
26デフォルトの名無しさん (スプッッ Sdb3-n1dS)
2018/12/17(月) 07:06:46.48ID:l0Ihy9e2d
数字と英語の組み合わせをバラして配列に格納する時の条件分岐のパターンが分かりません。
組み合わせパターン
@654321
A654321-3
B654321C
C654321あ-12

最初は必ず数字6桁
英語or平仮名orカタカタ一文字があるかないか
ハイフン挟んだあとは数字のみ。
これを配列に[0]〜[2]に入れたい。
Aの場合
[0] 654321
[1] ""
[2] 3
27デフォルトの名無しさん (アウアウエー Sa82-MGZ2)
2018/12/17(月) 08:26:00.51ID:i+3tZqHNa
>>26
キャプチャに使う正規表現はこう
(?<first>[0-9]{6})(?<second>[ぁ-んァ-ンA-Z])?(-(?<third>[0-9]+))?
使い方が分からないなら「C# 正規表現 キャプチャ」でググれ
28デフォルトの名無しさん (ワッチョイ 8374-6Jay)
2018/12/17(月) 09:10:18.49ID:EhwiP59S0
5分おきに実行するタイマー作ってるんですが、System.Windows.Forms.Timerって、timer.Enabled = trueにした瞬間に1回目が実行されますよね?
trueにした瞬間は実行してほしくなくて、trueにしてから5分後に1回目を実行してほしいんですが・・・
System.Timers.Timerだと希望通りに動くのですが、理解として間違ってませんよね?
29デフォルトの名無しさん (ワッチョイ 8374-6Jay)
2018/12/17(月) 09:17:22.05ID:EhwiP59S0
すいません、↑間違えてました。無視してください
30デフォルトの名無しさん (ブーイモ MM47-MGZ2)
2018/12/17(月) 11:45:43.84ID:AhT/M622M
WinFormsやWPFのライセンスってMITだろ
フル機能の業務向けGUIフレームワークがそんなガバガバなライセンスでOSSとして公開されるなんて前代未聞じゃね
それだけMSにとってPCクライアントアプリのビジネス的価値が低下したということでもあるし、
どうせWinFormsもWPFもWindowsにネッチョネチヨにベッタリと依存していて
他のOSへのポーティングなんかできねえだろうという、ある意味自信の表れでもあるんだろうなw
31デフォルトの名無しさん (ワッチョイ 2bda-vjmv)
2018/12/17(月) 12:02:35.27ID:oEEuXu5x0
業務向け?
32デフォルトの名無しさん (ワッチョイ eac3-+KUv)
2018/12/17(月) 13:45:24.33ID:8bFiHPU30
>>30
.net core「詳しく聞こうか?」
33デフォルトの名無しさん (スププ Sdaa-sY6B)
2018/12/17(月) 13:54:52.29ID:joZpwjFkd
ポーティングされても惜しくないと言うか、ポーティングしてほしいんだと思うけど。
でなきゃ.net coreでマルチプラットフォームなんかやらんのでは?
34デフォルトの名無しさん (ブーイモ MM47-MGZ2)
2018/12/17(月) 14:02:33.06ID:AhT/M622M
ポーティングは無理やで
.NET Core 3.0 は WPF を動かすために mixed module assembly (つまりC++/CLI)をサポートしたけど、これがWindows限定
35デフォルトの名無しさん (ワッチョイ eac3-+KUv)
2018/12/17(月) 14:28:01.03ID:8bFiHPU30
>>34
C++/CX「(…俺の事かな?)」
36デフォルトの名無しさん (ワッチョイ 4699-sY6B)
2018/12/17(月) 19:33:53.46ID:vIb2V1Gu0
monoの人らがやったように、頑張るんじゃ無い?
37デフォルトの名無しさん (スプッッ Sd4a-g8EJ)
2018/12/17(月) 20:36:59.64ID:5ieiD4LNd
>>36
MSはやらないって公言してる
38 ◆QZaw55cn4c (ワッチョイ aa60-D8NS)
2018/12/17(月) 22:03:56.14ID:TMWWsAye0
シャープやフラットで分からないことがあります
どこで聞いていいかわからないので、シャープやフラットがスレ名に含まれているこのスレで聞くことにしました
適切でなければ誘導ください、お願いします

さて本題ですが


をみていて、上と下の音がずれていますが、これでハモっているのはどうしてなのでしょうか?
39デフォルトの名無しさん (スププ Sdaa-+KUv)
2018/12/17(月) 22:09:25.62ID:xRgn/WkHd
>>38
周波数測れてる?
40デフォルトの名無しさん (ワッチョイ ffd3-2dqZ)
2018/12/17(月) 22:13:34.85ID:72hjMHy30
OSSにしたとはいえメンテンナンスを放任するってわけじゃないみたいだからね
精々フォークはご自由にってところなんでしょ

monoのように、というよりmonoのWinformsを.NET Coreに合わせる方がまだ可能性はあるのでは
41 ◆QZaw55cn4c (ワッチョイ aa60-D8NS)
2018/12/17(月) 22:21:25.00ID:TMWWsAye0
>>39
そういう意味ではなく、例えば最初の音は、上はラで書いてあるのに下はシです、いくら私が素人でもラとシでは響きようがないと思ってしまいますが、動画の音は三度/六度の和音になっているのはどうしてですか?
42デフォルトの名無しさん (ワッチョイ 9fe3-7LdQ)
2018/12/17(月) 22:28:26.87ID:Ubiutx5+0
>>38
キチガイじゃん
放置な
43デフォルトの名無しさん (ワッチョイ 8ab3-skpA)
2018/12/17(月) 23:25:54.89ID:yChZzMqc0
>>38
普通のトランペットはB♭管って言って「ド」の音を出すとピアノのシ フラットの音が出る
なのでその楽譜の最初の音はピアノの「ソ」の音
下段のユーフォニウムもB♭管なんだけど歴史的にC管として楽譜が書かれる
なので最初の音は楽譜通り「シ」の音が出るのでハモってる
ちなみにこの時ユーフォニウムの奏者は「ド シャープ」として演奏してる

って流石にスレチだろ
詳しくはこの辺りで聞いてくれ

ユーフォニアム総合スレ
http://2chb.net/r/suisou/1538816683/
44 ◆QZaw55cn4c (ワッチョイ aa60-D8NS)
2018/12/17(月) 23:50:04.26ID:TMWWsAye0
>>43
ありがとうございます。とてもよくわかりました、移調譜というやつですね、ドの指使いで♭シがでる、だからラの指使いで実音ではソが鳴るんですね
さすがプログラム板、こんな質問でも答えていただけるとは、とてもありがたく感謝しています
45デフォルトの名無しさん (ササクッテロル Spa3-YXIk)
2018/12/18(火) 00:16:32.23ID:pKwJFJVVp
何これ自演?
46デフォルトの名無しさん (ワッチョイ d3b3-yGfM)
2018/12/18(火) 07:08:13.06ID:dd3VOI3V0
たまには外の空気を吸うのもいいものだ
(解決したみたいだが、サッパリわからんw)
47デフォルトの名無しさん (スププ Sdaa-sY6B)
2018/12/18(火) 08:11:44.24ID:9NtPu5c1d
>>37
msがやる必要は無いっしょ…
monoだってまだ生きてるんだぞ。
48デフォルトの名無しさん (スプッッ Sd4a-g8EJ)
2018/12/18(火) 08:24:52.42ID:wQA6Hr22d
>>47
誰がやるのさ
49デフォルトの名無しさん (スププ Sdaa-sY6B)
2018/12/18(火) 08:45:08.87ID:9NtPu5c1d
>>48
monoは誰が作ってきたのさ。
50デフォルトの名無しさん (アウアウエー Sa82-MGZ2)
2018/12/18(火) 08:56:32.82ID:Aai/8U/Va
.NET Coreの特許は互換性のある実装に対してのみ利用が認められるから、
MSがCoreは非Win OSでWinFormsやWPFを動かせるようにはしないと明言してる以上、
法的にはフォークしてポーティングするのはいかにMITライセンスだろうと特許侵害でMSに訴えられるリスクがあるよ
流石にOracleとは違ってそんなことしたら大炎上して窮地に追い込まれることはMS自身がよく理解してるはずだから、現実にはまずありえないけど
51デフォルトの名無しさん (スププ Sdaa-sY6B)
2018/12/18(火) 09:31:19.88ID:9NtPu5c1d
なるほどねー。
mono側は逆に実装が見れちゃうからクリーンルーム実装ではないと言いづらくなるか。
52デフォルトの名無しさん (スプッッ Sd4a-g8EJ)
2018/12/18(火) 09:45:21.25ID:AYrih+MPd
>>49
monoはもうとっくにMSに吸収されてるんだけど
53デフォルトの名無しさん (ワッチョイ 3f8a-k5TM)
2018/12/18(火) 09:46:49.03ID:izY8a/zv0
結局、あのザマリン悪ふざけ問題がルート潰しているんだよな
54デフォルトの名無しさん (オッペケ Sra3-lMXg)
2018/12/18(火) 11:58:27.91ID:BVyzn4SQr
UIは今後すべてhtmlとcssに統一してほしい
エレクトロンもそうだし
55デフォルトの名無しさん (スフッ Sdaa-/nUu)
2018/12/18(火) 12:05:13.35ID:0SYzzKOXd
>>54
変な人
56デフォルトの名無しさん (ササクッテロル Spa3-YXIk)
2018/12/18(火) 12:07:44.45ID:pKwJFJVVp
ザマリンするには人脈が必要だからなあ…
57デフォルトの名無しさん (ワッチョイ 2b9a-dzMK)
2018/12/18(火) 17:22:12.17ID:bwMMSAST0
平日にスレ違いの雑談しているってなんなのこいつら
58デフォルトの名無しさん (ドコグロ MMc2-7LdQ)
2018/12/18(火) 18:12:56.00ID:3CPzSn/FM
>>54
でもブラウザのバージョンアップですぐ動かなくなんで
59デフォルトの名無しさん (オッペケ Sra3-lMXg)
2018/12/18(火) 22:13:13.75ID:BVyzn4SQr
ブラウザなんか下位互換してるから大丈夫
60デフォルトの名無しさん (ワッチョイ 239e-3Pua)
2018/12/19(水) 23:04:17.95ID:1+OCaMKe0
C#のコンソールアプリから、
毎日指定した時刻に何らかのプログラムを実行したいのです。
例えば毎日朝10時に実行するなど。
あるいは、1時、2時、3時、、、に実行するなど。
実行時間の誤差は±10分くらいあっても構いません。
どんな手法がお勧めですか?
61デフォルトの名無しさん (アウアウエー Sa82-MGZ2)
2018/12/19(水) 23:13:17.65ID:6d4NDMwEa
C#で完結させようなどという愚かな考えは捨ててタスクスケジューラを使う
ローカルで動かす必要がない物ならAWS LambdaにデプロイしてCloudWatchのスケジュールで動かすなんてのも手軽で良い
62デフォルトの名無しさん (ワッチョイ 8ad2-A9YR)
2018/12/19(水) 23:20:08.96ID:DnYaqc+Z0
>>60
無限ループ(=常駐)PGを作って
適当な間隔でシステム時刻と比較して
実行したい時刻を過ぎていたら
Processkクラスを使ってでキックとかが一般的だと思うが
https://dobon.net/vb/dotnet/process/shell.html
その常駐PGが落ちた時に実行できないから
結局>>61の話になるな
63デフォルトの名無しさん (ワッチョイ 3f8a-k5TM)
2018/12/19(水) 23:23:11.44ID:9dM2T/kK0
そもそもログインしてなかったらどうなる?でサービス化するもんだと思っていた
64デフォルトの名無しさん (ワッチョイ 1e9a-PT0M)
2018/12/19(水) 23:23:32.76ID:fC5Hz5dL0
>>60
http://bbs.wankuma.com/index.cgi?mode=al2&;namber=40926&KLOG=71
65デフォルトの名無しさん (ドコグロ MM69-ls00)
2018/12/20(木) 08:16:06.80ID:As7dWUw1M
>>63
ログインしてない時まで実行したいとなるとサービスにして自前でやるかタスクスケジューラに起動してもらうかの2択だわな
66デフォルトの名無しさん (ワッチョイ ed8a-Fl8U)
2018/12/20(木) 10:09:55.46ID:tgiqyGLQ0
まぁc#によるサービス作成はNTや2000時代から見れば、
すんげー楽になってるので、余裕が出来れば挑戦お勧め
67デフォルトの名無しさん (アウアウエー Sa13-MBvZ)
2018/12/20(木) 11:20:35.24ID:0U5kGgIsa
スケジュール変えたくなったらソース弄るの?自前で独自cronみたいな設定を実装するの?その使い方サービスごとに覚えなきゃいけないの?
運用が面倒だから安易なサービス化はやめなさい
68デフォルトの名無しさん (ワッチョイ e3c3-weYP)
2018/12/20(木) 11:35:36.11ID:NvcSX/Wl0
サービスはサービスにしかできないものに限定して、やったとしてもタスクスケジューラに登録するソフトのみかなぁ。
69デフォルトの名無しさん (スププ Sd43-9cAm)
2018/12/20(木) 12:10:54.56ID:uRkd43kpd
タスクスケジューラに一票。
もしサービス化するとしても、サービスは蹴られるの待つようにして、タスクスケジューラに蹴らせたほうが良い。
どうせ「今すぐもう一度走らせたい」がそのうち出る案件な気がする。
70デフォルトの名無しさん (ワッチョイ c5b3-4PzM)
2018/12/20(木) 12:18:04.50ID:7E7fQupi0
Microsoft自身もWindows Defenderとかタスクスケジューラ依存だから、たぶんこれが一番簡単で安定した方法なんだろうな
71デフォルトの名無しさん (ドコグロ MM69-ls00)
2018/12/20(木) 12:26:42.26ID:As7dWUw1M
>>66-69
まずはケースバイケースという言葉を覚えような
自分の狭い範囲で語られても困る
72デフォルトの名無しさん (ブーイモ MM59-MBvZ)
2018/12/20(木) 12:45:20.47ID:04IBENLFM
>>71
ここは初心者スレ
どうせ何が善い方法かなんて本人に判断つかないんだから、余計な選択肢は質問者を混乱させるだけ
ベストプラクティスさえ示してやればよい
73デフォルトの名無しさん (ササクッテロル Sp61-RCh3)
2018/12/20(木) 13:03:15.38ID:IXBzuTcop
初心者スレだが初心者以外の人の方が見てるようなスレ
74デフォルトの名無しさん (スププ Sd43-9cAm)
2018/12/20(木) 14:44:10.36ID:uRkd43kpd
>>71
ケースバイケースを考えられる奴は質問なんかしないだろう。
まずはタスクスケジューラ、
サービス化するとしてもタスクスケジューラから蹴った方がいい、
そんなに変な事言ってるか?2択と対して変わらん事言ってるつもりだが。
75デフォルトの名無しさん (ワントンキン MMa3-Fl8U)
2018/12/20(木) 15:02:05.47ID:VX0mwZrMM
あーはいはい、永遠の初心者はC#なんか使わずに一生javaでもやってろ
76デフォルトの名無しさん (ドコグロ MM69-ls00)
2018/12/20(木) 18:31:34.13ID:As7dWUw1M
>>72, >>74
自称玄人の狭い世界を押し付ける方が混乱するわ
タスクスケジューラからサービス蹴るとかを初心者に薦めるとかバカすぎる
77デフォルトの名無しさん (ワッチョイ 0d17-5YD5)
2018/12/20(木) 19:28:02.27ID:7wwBVLN+0
>自分の狭い範囲で語られても困る
ブーメラン
78デフォルトの名無しさん (ブーイモ MM59-MBvZ)
2018/12/20(木) 19:38:18.98ID:m/IwfhEsM
大抵の人は最初なんでもモノリシックに作ろうとして、スケジューリングと処理は分けたほうがよいことに自分なりに気付くもんだよね
分けるのダサいと思ってた時期は俺にもあったわ
79デフォルトの名無しさん (ワッチョイ 23b3-ls00)
2018/12/20(木) 20:16:11.98ID:hwNgEKL00
>>77
俺は押し付けなんてしてないけど?
またバカ晒しちゃったね w
80デフォルトの名無しさん (スププ Sd43-9cAm)
2018/12/20(木) 20:40:15.88ID:uRkd43kpd
>>76
玄人だって言った?
ってかタスクスケジューラからサービス蹴るってそんなにハードル高くないでしょ。
メッセージ送るなり、サービスでFileSystemWatcherでフォルダ監視して、投入はキューファイル作ってでも良いし。
後者は初心者でもすぐ思いつくし実装できる話だと思うけど。

もしかして自分が出来ないから初心者に勧めるなとか言ってる?
81デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/20(木) 21:03:45.16ID:6fpTh5DCa
何を争ってるのかさっぱり分からんけど、双方とも少しも
建設的な意志がないことだけは確実に分かるねw
82デフォルトの名無しさん (ワッチョイ ed8a-Fl8U)
2018/12/20(木) 21:05:21.53ID:tgiqyGLQ0
OSに近い所まで楽チンに触れるのがC#の利点の一つ
だと思うけどな。
タイマー使って指定ディレクトリの監視とかはすぐ思い付くでしょ
83デフォルトの名無しさん (ワッチョイ 23b3-ckn8)
2018/12/20(木) 21:40:42.01ID:hwNgEKL00
>>80
> 玄人だって言った?
ひょっとして揶揄って言葉を知らんのか? w

> ってかタスクスケジューラからサービス蹴るってそんなにハードル高くないでしょ。
ハードル以前に送出側も作れとかアホすぎる…
84デフォルトの名無しさん (スププ Sd43-9cAm)
2018/12/20(木) 21:48:42.95ID:uRkd43kpd
>>83
玄人だって言った?って揶揄なんだけど。
馬鹿すぎてブーメランまた投げてるよ?

送出側って簡単だよね。FileSystemWatcherならファイル置くだけだし。バッチファイルでも良いじゃん。

自分が思いつかなかっただけならそろそろ黙ったら?
85デフォルトの名無しさん (ワッチョイ 23b3-ckn8)
2018/12/20(木) 22:12:15.97ID:hwNgEKL00
せめて揶揄の意味ぐらい調べてこいよ…
マジで恥ずかしすぎる
86デフォルトの名無しさん (ワッチョイ 1b76-6Bft)
2018/12/20(木) 22:27:04.44ID:6LmbwAzu0
お前らなにカリカリしてんの?
87デフォルトの名無しさん (スププ Sd43-9cAm)
2018/12/20(木) 22:34:02.07ID:uRkd43kpd
>>85
で、送出側作るのは難しいの?
恥ずかしいね。
88デフォルトの名無しさん (ワッチョイ 23b3-ckn8)
2018/12/20(木) 22:46:47.72ID:hwNgEKL00
>>87
日本語理解できないの?
ハードル以前の話って書いてあるんだけど?
なぜそんな面倒なことを初心者にさせようとするのか意味不明なんだが
89デフォルトの名無しさん (ワッチョイ 0d17-5YD5)
2018/12/20(木) 23:07:10.16ID:7wwBVLN+0
>>86
いつものキチガイだからNGしとこう
ほら早速ワッチョイが役に立ったぞ
90デフォルトの名無しさん (スププ Sd43-9cAm)
2018/12/20(木) 23:43:42.93ID:uRkd43kpd
>>88
無意味だと思ってるのはお前ができないからかつやる必要があるパターンが頭に浮かんでないかだろw
意味不明なのはお前が低レベルだからだよ。
91デフォルトの名無しさん (ワッチョイ 23b3-ckn8)
2018/12/21(金) 05:06:11.42ID:PkTs+Gix0
>>90
初心者にとってそれがベストプラクティスだと言い張るなら根拠書けばいいんじゃね?
書けるならね w
92デフォルトの名無しさん (ワッチョイ ab33-4M5M)
2018/12/21(金) 20:36:29.06ID:ulAOiHZ/0
便乗で質問です。
ログインしてない状態で指定時間になったら指定のユーザーでログインしてブラウザでスクレイピングしたいです。
サービスやタスクから適当なユーザーでログインするにはどうしたらいいでしょうか?
93デフォルトの名無しさん (ブーイモ MM59-Z9RU)
2018/12/21(金) 20:59:56.18ID:rOLcewoyM
もっと具体的でないと回答しようがないかな
ログイン認証はWebサーバー側の話ならローカルアカウント
関係ないし
ローカルアカウントの話ならグループポリシーでサービス起動
出来るようにするのが一般的だったけど
OSのバージョンやADが有効なら出来ない場合もあるよ
94デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/21(金) 21:01:24.25ID:ZKr5QUU1a
>>92
どうもこうも、それ最初からタスクスケジューラーのオプションに入ってるんじゃないの?
http://www.atmarkit.co.jp/ait/articles/1307/08/news101.html
95デフォルトの名無しさん (スププ Sd43-EJDH)
2018/12/22(土) 11:16:46.77ID:GEVjlJLSd
>>92
タスクスケジューラで、誰として実行するか決めれる。

タスクスケジューラ否定してる奴らは、タスクスケジューラ使って言ってるんだろうか?
96デフォルトの名無しさん (ワントンキン MMa3-Z9RU)
2018/12/22(土) 11:47:17.60ID:h0Ytd2ZqM
誰も否定してないと思うが?
どれをそう感じたんだろう?
97デフォルトの名無しさん (ワッチョイ cb81-f+Pb)
2018/12/22(土) 13:29:07.95ID:MYt604IR0
3日間もこの話を続けてるのか

よく飽きないねーガイジか?
98デフォルトの名無しさん (ワッチョイ abeb-6UAB)
2018/12/22(土) 15:43:19.97ID:UXm6+Rqz0
こういう質問者って解決の道筋を知りたいんじゃないんだよ
WindowsのこともC#も学習する気はまったくなくて、代わりにコードを提示して欲しい人なんだ
なので、「タイムスケジューラ+コードは自分でかけ」とか「自分で書いたコードをサービス化しろ」と回答しても無駄なんだな
誰かが代わりに希望のツールを作ってあげるまで延々と同じ質問をすることになっちゃう
99デフォルトの名無しさん (ワッチョイ 8dc3-xlGW)
2018/12/22(土) 16:05:02.26ID:3FbstdN40
今回のは質問者そっちのけで外野が暴走しただけだろ
100デフォルトの名無しさん (ロソーン FF59-1q7i)
2018/12/22(土) 16:17:42.75ID:iZWJkg8TF
いつもだな
101デフォルトの名無しさん (ワッチョイ 2306-q1e7)
2018/12/22(土) 16:45:04.92ID:8eMfHdb50
いつも同じなのは、問題起こすのが特定の一人なんだろうね
102デフォルトの名無しさん (ワッチョイ 0d17-5YD5)
2018/12/22(土) 16:48:01.85ID:ejexDqVG0
特定の二人の間違いでは?
103デフォルトの名無しさん (ワッチョイ ade3-YLOT)
2018/12/22(土) 16:59:24.98ID:Bf3FfKs00
昔はそういうの参戦してたけど
俺が最強だとわかってからは興味がなくなった
104デフォルトの名無しさん (ワントンキン MMa3-Z9RU)
2018/12/22(土) 17:01:56.44ID:h0Ytd2ZqM
そろそろ魔板でやって欲しい今日この頃
105デフォルトの名無しさん (ワッチョイ abeb-6UAB)
2018/12/22(土) 17:19:54.74ID:UXm6+Rqz0
え?これ、便乗を装った本人じゃねえの?
106デフォルトの名無しさん (ワッチョイ 35c9-5YD5)
2018/12/22(土) 18:58:25.03ID:8REvBzyR0
一つのメソッドに処理A、処理B、処理Cがあるんだけど、処理〇と区別できる時点でメソッドとして扱うべきなんかね?
107デフォルトの名無しさん (アウアウエー Sa13-o5ET)
2018/12/22(土) 19:03:13.59ID:RR6G3DDfa
やってることに意味があり、それに名前が付くなら分ける
個人的には〇〇処理と名前が付くのはメソッドの単位としてはむしろ大きめ
単独で意味のある最小単位まで分けるのが理想
108デフォルトの名無しさん (ワッチョイ ade3-YLOT)
2018/12/22(土) 19:59:35.81ID:Bf3FfKs00
何を言ってるのかさっぱりわかりませんから設計書を書いてください
109デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/22(土) 21:08:41.95ID:la2rnvqna
>>106
馬鹿の一つ覚えの教条主義はよくない

分けた方がそのメソッドの可読性が上がるなら分ける。
可読性に寄与しないなら無理に分けちゃダメ。
なぜならクラス全体の視点ではメンバーは少ない方がいい。
110デフォルトの名無しさん (アウアウエー Sa13-o5ET)
2018/12/22(土) 23:25:46.03ID:RR6G3DDfa
メソッドの可読性ってセンスが求められるからなあ
端的に言えば、そのメソッド呼び出しを見たときに、その中身をいちいち見に行かなくてもコードを理解できるかどうか、が全てだ
それができるならどこまで細かく分けてもいいし、できないなら分けないほうがマシ
処理の流れがわからんからサブプロシージャやめろおじさんの言い分も、低レベルな現場なら極めて正しい
111デフォルトの名無しさん (ブーイモ MM43-YjqT)
2018/12/23(日) 00:20:31.69ID:pgnM6zpMM
そうだよな。calcって名前のメソッドがあれば計算していることはわかる。
112デフォルトの名無しさん (ワッチョイ 2306-q1e7)
2018/12/23(日) 00:30:49.90ID:iOIA70EQ0
とは言え、ループが把握できる大きさに抑えるのは大事
メソッドの処理の流れが見える範囲に大きさコントロールするように心がけているな
113デフォルトの名無しさん (ブーイモ MM43-o5ET)
2018/12/23(日) 00:40:03.70ID:THpahYm7M
>>111
場合によるだろ
「多角形の面積」クラスのcalcメソッドを呼び出してたら面積を計算してるのは明らかであり、面積の計算方法に関心がない限りは中を見る必要はない
それが「多角形」クラスのcalcメソッドだったら意味不明だろう
極端な例だけど、そういうのってセンス無い奴は本当にセンスないから
114デフォルトの名無しさん (ワッチョイ 45d2-gbB5)
2018/12/23(日) 00:44:44.37ID:744F4yO+0
まあそういうところに日本語のコメント書いとけばすむ話だな。
命名センスないからな。自分。。
115デフォルトの名無しさん (ワッチョイ 2306-q1e7)
2018/12/23(日) 00:55:46.55ID:iOIA70EQ0
メソッド名はわかり易さより英語として恥をかかない程度の単語かどうかってのを気にするな
後で見られたときに笑われたくはない
簡単な単語でもスペルはチェックする
116デフォルトの名無しさん (ワッチョイ 0d17-5YD5)
2018/12/23(日) 08:07:40.95ID:Qo063XKD0
日本語でも良いよ
117デフォルトの名無しさん (ブーイモ MM43-Z9RU)
2018/12/23(日) 08:42:15.02ID:+g/rmc35M
全角文字でもOK
118デフォルトの名無しさん (ワッチョイ ade3-YjqT)
2018/12/23(日) 09:14:34.28ID:Ap3NimBD0
絵文字もok
119デフォルトの名無しさん (ワッチョイ ade3-GMX8)
2018/12/23(日) 19:57:25.95ID:6n30X/gf0
おかわりもOK
120デフォルトの名無しさん (ワッチョイ 35c9-5YD5)
2018/12/24(月) 01:28:35.64ID:bmrfjFY/0
長さが10,15と異なるList<string>が2つあって10のListの値を15のListに先頭から埋めていきたいんだけど、ListでArray.Copyメソッドみたいなのないのかな?
121デフォルトの名無しさん (アウアウエー Sa13-o5ET)
2018/12/24(月) 01:53:50.78ID:JltPtxYxa
>>120
a10 = a15.GetRange(0, a10.Count);
ボトルネックでないならこんなんで十分
122デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/24(月) 02:02:57.20ID:Z+6dfbfKa
120がやりたいのは要素の置換じゃないの?
まあ、組み込みの方法は用意さえてないので自分で書くしかないよね
123デフォルトの名無しさん (ブーイモ MMeb-o5ET)
2018/12/24(月) 02:11:14.58ID:Gf2UgbH0M
インプレースで置換する必要があるなら a10.Clear(); a10.AddRange(a15.Take(a10.Count)); でいいよ
少々非効率だがどうせこんなもんボトルネックにはならん
124デフォルトの名無しさん (ワッチョイ 9b8a-q1e7)
2018/12/24(月) 02:17:03.76ID:+5I2QCyu0
15の方にコピーしたいって言ってるのに逆ばっかじゃねーか
偉そうに答える前に日本語の読み方を覚えろよ
125デフォルトの名無しさん (ワッチョイ ade3-YLOT)
2018/12/24(月) 07:24:20.71ID:zs7tYDO50
ワラタ
126デフォルトの名無しさん (ワッチョイ ade3-YLOT)
2018/12/24(月) 07:24:47.31ID:zs7tYDO50
ガイジばっかだな
127デフォルトの名無しさん (ラクッペ MM41-f+Pb)
2018/12/24(月) 08:28:00.92ID:KFYgg8m6M
よく見ると逆ですらない
121はa15の先頭から10要素のリストだし
123はa10.Clear()後にa10.Countを参照してるので、実行後のa10は空だ
128デフォルトの名無しさん (ワッチョイ ade3-YLOT)
2018/12/24(月) 08:30:42.16ID:zs7tYDO50
ガイジの宝石箱かよ
129デフォルトの名無しさん (ワッチョイ 23e3-5YD5)
2018/12/24(月) 08:35:25.17ID:APgc2n6m0
>>123
Clearしていいの?
130デフォルトの名無しさん (ワッチョイ 23e3-5YD5)
2018/12/24(月) 08:42:01.70ID:APgc2n6m0
>>120は、こういうことなんだよな??

https://ideone.com/IBD8SG
131デフォルトの名無しさん (ワッチョイ 0d17-5YD5)
2018/12/24(月) 17:58:02.29ID:0GmOXyNR0
>>127
うける
132デフォルトの名無しさん (ワッチョイ 2306-q1e7)
2018/12/24(月) 21:29:07.13ID:wShZDi2Q0
a15=a10.AddRange(a15);
で良くね?
133デフォルトの名無しさん (ワッチョイ cb80-FbVj)
2018/12/24(月) 22:49:22.82ID:kvP3AY+C0
a15は.Skip(a10.Count)が必要だしAddRangeは返値voidだし
a10が破壊されるのは気持ち悪すぎる せめて.Concatでやって
134デフォルトの名無しさん (ワッチョイ ade3-5YD5)
2018/12/24(月) 23:00:49.18ID:BVW7JO960
a10.Select((v, i) => i).ToList().ForEach(p => a15[p] = a10[p])
135デフォルトの名無しさん (ワッチョイ 6d81-q1e7)
2018/12/25(火) 05:37:13.78ID:o3bLdzU90
質問です
applicationSettingsBaseを使って設定を保存したソフトのフォルダを移動したところ
設定がすべて消えてしまいましたが仕様でしょうか。
これを回避するためにはソフトと同じフォルダにiniを作るなどして設定を保存しないといけないでしょうか。
136デフォルトの名無しさん (ワッチョイ cb81-f+Pb)
2018/12/25(火) 08:31:43.73ID:Pk7gkPrC0
SettingsProviderを自作すれば保存場所は変えられなかったか
137デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/25(火) 12:19:27.12ID:H2h1tiNca
>>135
ApplicationSettingsBaseなんて使ったことないのでいい加減に言うけど、
普通に考えれば保存場所は起動したバイナリのパスになんか依存しないはずだと思うけど

http://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
ここにも書いてあるけど、バージョンとか製品名とかアセンブリの属性を何か変更したから
保存場所も変わったんじゃないの?
138デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/25(火) 12:21:30.96ID:H2h1tiNca
ごめん>>137は訂正
俺の記憶違いで、記事にはバイナリのパスにも影響されると書いてあるねw
139デフォルトの名無しさん (スフッ Sd43-tFmq)
2018/12/25(火) 12:25:14.95ID:yMEv05zrd
>>137
いいえexeの絶対パスが変わると保存先も変わります
知らないなら適当に答えるなよ
140デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/25(火) 12:49:04.91ID:H2h1tiNca
いいえ私はさそり座の女〜
141デフォルトの名無しさん (ワッチョイ f54e-Wbbf)
2018/12/25(火) 20:05:08.93ID:C73Cga6+0
C#スレが伸びてるけど、unityのおかげ?
142デフォルトの名無しさん (オッペケ Sr61-Yer+)
2018/12/25(火) 20:36:10.99ID:bRmFmcZ5r
いいえ
143デフォルトの名無しさん (ワッチョイ 2306-q1e7)
2018/12/25(火) 20:49:56.13ID:wyvxpdNe0
設定の保存ならjson.net使ったほうが幸せになれるね
144デフォルトの名無しさん (アウアウウー Sac9-BQJB)
2018/12/25(火) 22:00:49.69ID:nl4zamMYa
>>143
保存時のフォーマット?
145デフォルトの名無しさん (ワッチョイ ab33-4M5M)
2018/12/25(火) 22:03:32.60ID:cYaw21oJ0
イニファイルにしとけ
イニファイルにな
146デフォルトの名無しさん (ブーイモ MM43-Z9RU)
2018/12/25(火) 22:20:50.60ID:NRydG5TYM
Windows用語ではプロファイル
147デフォルトの名無しさん (スッップ Sd43-nejN)
2018/12/25(火) 22:21:37.22ID:m1C7tGngd
>>145
老害おつ
148デフォルトの名無しさん (ワッチョイ 658a-6UAB)
2018/12/26(水) 06:18:38.10ID:1oivSykz0
課題で10進数を2進数の文字列に変換したいのですが、これだとびっくりすくらい遅いです。
速くするにはどうしたらいいでしょうか。

class Program
{
public static void Main(string[] args)
{
string input = Console.ReadLine();

int i = Convert.ToInt32(input);

string output = "";

while(i >= 1)
{
output = output.Insert(0,(i % 2).ToString());
i >>= 1;
}

Console.WriteLine(output);
Console.ReadLine();
}
}
149デフォルトの名無しさん (ワッチョイ 23d2-nejN)
2018/12/26(水) 07:14:08.48ID:H45VhGP50
>>148
stringはほとんどの場合毎回新しいインスタンスが作られるから、代わりにStringBuilder使ってみ
150デフォルトの名無しさん (ワッチョイ 23d2-nejN)
2018/12/26(水) 07:18:31.50ID:H45VhGP50
あとたぶん普通はこれ
https://dobon.net/vb/dotnet/programing/converthex.html#section7
151デフォルトの名無しさん (ブーイモ MM59-5po1)
2018/12/26(水) 07:35:37.09ID:gklwQdG7M
遅いっつっても一瞬じゃない?
たかが32bit整数くらいで。
試してないけど
152デフォルトの名無しさん (ブーイモ MMeb-Z9RU)
2018/12/26(水) 09:33:17.59ID:Ts4c5NN9M
Stringは吃驚するほど遅いよ
153デフォルトの名無しさん (ブーイモ MM43-Dd2B)
2018/12/26(水) 10:28:31.49ID:yGWBBV+aM
遅いっつっても一瞬じゃない?
154デフォルトの名無しさん (スッップ Sd43-nejN)
2018/12/26(水) 11:19:21.70ID:pZkVuIQAd
>>153
ループ一回ならね
155デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/26(水) 12:39:12.50ID:UFWOb61Ja
>>150
Convertのそんなのあったな感w
でもこれゼロサプレスされるみたいだな。
まあリーディングゼロ付けるのは簡単だけども
156デフォルトの名無しさん (ワッチョイ 35eb-hpOi)
2018/12/26(水) 19:06:58.35ID:Dcs5aUpT0
Windowsフォームアプリケーションで、
「ボタン上をドラッグしてる間(左クリック押下中、かつボタン上にカーソルがある時)」に音を鳴らしたいんだけど

Button1.MouseDownで再生、Mouseupで停止させるまでは出来ても

MouseLeaveに停止処理書いて、クリックしたままボタンからカーソル外したときには音がなり続けてしまいます

どういう記述がいいんでしょうか?
157デフォルトの名無しさん (ワッチョイ 459a-9nMG)
2018/12/26(水) 20:13:17.23ID:/gJf0JvK0
>>156
クリックしたままだとMouseLeaveが動かないみたいだな
https://ideone.com/c67R3i
これは音を鳴らす代わりにフォームのタイトルにMouse On/Offと表示する
MouseDownとMouseMoveでカーソルの場所を見てボタンの範囲外だと無条件でOffにする
イベントとしてのMouseLeaveは外せそうな気がするしフラグ作ってもっと作りこめると思うけど面倒だからここまで
158156 (ワッチョイ 6deb-hpOi)
2018/12/26(水) 21:13:57.82ID:0HU+mpFl0
ありがとうございます!
入門したて故コード読んでも理解できないけど、丸写しからの改変で勉強しながらやってみます
159デフォルトの名無しさん (アウアウエー Sa13-pYn4)
2018/12/26(水) 21:40:59.20ID:sOj8GKWaa
>>156
やらずに適当に言うけど、MouseDownのイベントハンドラか何かで
Captureの値をfalseにしてやったら望んでるような動作になるんと違う?
160デフォルトの名無しさん (ワッチョイ f9da-ikDe)
2019/01/03(木) 03:05:05.68ID:2jZ78iU60
dotnet new webapp コマンドでプロジェクト生成した時に Controllers も Models も Views も作られないので、ちょっと面食らっています。
ASP.NET Core で Razor Page を使ったアプリを作る際は、ASP.NET でいう Controllers と Models に該当するフォルダはどこに作ったらいいんでしょうか?
特にビジネスロジック部分はどこにまとめるのがいいのでしょうか?
161デフォルトの名無しさん (アウアウエー Sae3-xhm2)
2019/01/03(木) 05:32:43.60ID:ZmWGvR5ia
splitcontainerのpanel1に30個程度のボタンを設置し、それらは一つのイベントハンドラにまとめてて
押したボタンの色を変えるということをしようとしています

splitContainer1.Panel1.Controls[●].backColor = Color.Red ;


●の位置に入る数字はどのボタンと対応しているかがイマイチわかりません。
タブインデックスの数値とは別のようですし、どの数値の事を言っているのでしょうか。
162デフォルトの名無しさん (ワッチョイ f9da-ikDe)
2019/01/03(木) 06:22:31.48ID:2jZ78iU60
>>161
期待通りの回答じゃないかもしれないけど、これでもいいんでは?
protected void button_Click(object sender, EventArgs e)
{
((Button)sender).BackColor = Coler.Red;
}
163デフォルトの名無しさん (ワッチョイ 69ad-wlHu)
2019/01/03(木) 09:33:34.04ID:mzbwP5/d0
>>160
dotnet new
164デフォルトの名無しさん (ワッチョイ 1901-ahzL)
2019/01/03(木) 09:49:03.47ID:92o1UEKg0
>>160
dotnet new mvc
ASP.NET Coreは3.0以降でfull .NET Frameworkを切り捨てるから、必ず.NET Coreを使うように
165デフォルトの名無しさん (ワッチョイ 1301-aNo7)
2019/01/06(日) 07:48:04.81ID:ys0B5FJg0
>>148
遅い原因は
>string input = Console.ReadLine();
じゃね?
ユーザーが全文字入力するのをぼんやり待ってないで
1文字でも入力された時点でその桁に関する処理を開始しとかないと
166デフォルトの名無しさん (ワッチョイ 8b7b-wnDr)
2019/01/06(日) 10:33:12.47ID:ijGp0fE40
>>165
>>149で解決すると思ったけど、その最後の行の実装例出せる?
167デフォルトの名無しさん (ワッチョイ 5142-xhm2)
2019/01/06(日) 10:50:54.92ID:SZQOw9ve0
>>166
件のプログラムで一番処理時間が長いのは起動だと思うから
実際にはその程度やっても変わらんでしょ
168デフォルトの名無しさん (ブーイモ MM8d-ZBCD)
2019/01/06(日) 13:46:05.21ID:s+NsL/70M
>>165てネタじゃなかったのか?
169デフォルトの名無しさん (ラクッペ MMe5-U0tG)
2019/01/06(日) 15:10:03.44ID:yoKg5XOLM
何でもかんでもまずネタだと考えるのやめた方がいいですぞ
170デフォルトの名無しさん (ワッチョイ 332d-ikDe)
2019/01/06(日) 16:43:50.05ID:Dx0jhieJ0
ASP.NET Coreを使う練習してるんだけどさあ
実機で動かしてみるに当たって、手元のVisualStudioやVSCodeからLAN上にあるサーバ(Ubuntu)に配置して実行するまでって結構面倒に感じてしまう・・・・
これってなにかVisualStudioに配置実行を楽にする手段があるのかな?
それとも楽をしたければJenkinsかなにか勉強しなきゃあかんのかな・・・・
171デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/06(日) 16:54:31.32ID:YMMAI1S40
今はどんな手順でやってるん?
172デフォルトの名無しさん (ワッチョイ 332d-ikDe)
2019/01/06(日) 18:18:02.00ID:Dx0jhieJ0
今のところ、「手元でビルド→SCPコマンドで転送→SSHで実行」みたいにしてるんだけど・・・・やっぱもっといい方法あるよな
173デフォルトの名無しさん (ワッチョイ 9168-RM76)
2019/01/06(日) 18:22:43.98ID:SgRztK6B0
LINQの質問です
list1とlist2はList<int>型だとして

foreach(var value1 in list1) {
foreach(var value2 in list2) {
Console.WriteLine(value1 * value2);
}
}


これと同じことをLINQを使ってやるとしたらどう書けばいいですか?
Zipを使ってみたのですが同じインデックス同士しか掛け合わせてくれませんでした
174デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/06(日) 20:09:56.59ID:NF88G39c0
linqでブロードキャストできたっけ?
175デフォルトの名無しさん (アウアウウー Sa9d-Y2fC)
2019/01/06(日) 20:11:35.37ID:YeoWOZf6a
>>173
メソッド構文ならSelectManyを使う
foreach (var v in list1.SelectMany(v1 => list2, (v1, v2) => v1 * v2))
{
Console.WriteLine(v);
}

この場合はクエリ構文の方が分かりやすいかも
var q = from v1 in list1
from v2 in list2
select v1 * v2;
foreach (var v in q)
{
Console.WriteLine(v);
}
176デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/06(日) 20:13:20.52ID:NF88G39c0
>>173
https://dobon.net/vb/dotnet/programing/arraymap.html
これでいけんじゃね?
ConvertAll
177デフォルトの名無しさん (ブーイモ MM8d-ahzL)
2019/01/06(日) 21:11:45.37ID:iQ1zVEqTM
>>170
AWSとか使えば簡単だよ
MSの推奨はもちろんAzureだけど、単なるVMのホスティングサービスとして使う以上のことを期待すると正直ゴミカスなので全くお薦めできない
178デフォルトの名無しさん (ブーイモ MM8d-ahzL)
2019/01/06(日) 21:17:12.87ID:iQ1zVEqTM
>>176
今時ConvertAllとか紹介してるゴミサイトはさっさと閉鎖すべき
179デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/07(月) 00:48:07.98ID:voJmrOTp0
>>178
今だと何がベスト?
180デフォルトの名無しさん (ワッチョイ 9168-RM76)
2019/01/07(月) 09:13:26.65ID:yGBdcOaa0
>>175>>176
いけました!
ありがとうございます
今回はSelectManyを使おうと思います
181デフォルトの名無しさん (ワッチョイ 9101-aNo7)
2019/01/07(月) 09:34:56.37ID:z57KVTQ70
>>166
考え方としては、例えば「3」が入力された時点で
次の入力結果は「3」か「30」〜「39」しかありえないから
11通りの2進数表示を用意しておいて次のキーが押されたらそこで合うものを選んで表示する
どんなに10進数の入力桁数が増えても毎回11通り用意すればいいのは一緒なのと
10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる

この処理がユーザーのキー入力速度より早くCPUが処理できれば多少意味がある程度だろうけど
182デフォルトの名無しさん (アウアウエー Sae3-ahzL)
2019/01/07(月) 10:20:00.74ID:e8LT8JMZa
>>181
そのためにReadKeyを繰り返してたらそのオーバーヘッドの方が効果を圧倒的に上回ります
出直してきてください
183デフォルトの名無しさん (ブーイモ MM33-ahzL)
2019/01/07(月) 10:28:19.23ID:3j9bnJUUM
>>181について更にツッコむと、1文字ずつ処理するなら単に入力されたキーの値を普通に反映させていけばよい
わざわざ候補を事前に用意してGCに負担をかける意味は全く無い
184デフォルトの名無しさん (アウアウウー Sa9d-JBiS)
2019/01/07(月) 15:22:57.85ID:Nhl1xZLpa
チラシを見てキャベツが1円安いからと電車賃300円払って遠くのスーパーまで買いに行くような無駄な努力に思える。
185デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 19:03:54.28ID:RNZAQQS50
ネタを元にボケてるだけかと思ったら
186デフォルトの名無しさん (ワッチョイ d348-xhm2)
2019/01/07(月) 19:56:07.52ID:ukOyD8nn0
Json.NETを使ったデシリアライズについて教えてください。
以下のようなJsonファイルを読み込んで、リストにデシリアライズをしたいです。

[
{
"email": "foo.example.com",
"active": true,
},
{
"email": "bar.example.com",
"active": false,
}
]

しかし、デシリアライズ時に、オブジェクトが2つ以上会い場合に例外が発生します。
using ( var sr = new StreamReader( @".\accounts.json" ) )
{
var accounts = JsonConvert.DeserializeObject<List<Account>>( sr.ReadToEnd() );
}

例外
Newtonsoft.Json.JsonSerializationException

エラーの原因はわかるのですが、解決策が思いつきません。
よろしくお願いします。
187デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 20:12:15.21ID:RNZAQQS50
デシリアライズではまる前に
オブジェクトをシリアライズして、どういうjsonが出来るか確認することを勧める
188デフォルトの名無しさん (ワッチョイ d348-xhm2)
2019/01/07(月) 20:34:39.02ID:ukOyD8nn0
>>187
オブジェクトが単体の時は[]で囲まれていなかったので、
配列として認識されないような気がします。

もう一度考え直してみます。
ありがとうございました。
189デフォルトの名無しさん (ワッチョイ 9963-TKWx)
2019/01/07(月) 20:52:50.47ID:voJmrOTp0
parser通さずに自力解析した方が早そうw
190デフォルトの名無しさん (ワッチョイ 99d2-tvdn)
2019/01/07(月) 21:41:14.56ID:EmaCRb9M0
>>186
うちの環境ではそのままで読み込めた。w
ああ、json ファイルのパスや、クラスをフルパスで書くように直したりはしたけど。
あと List<Account> を Account[] に変えてみても動作した。

json パーサは Newtonsoft.Json でいいんだよね?
ひょっとして json ファイルの文字コードや改行コードの問題だったりして。VS2017 で試した。
191デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 22:00:13.12ID:RNZAQQS50
まあ結論としては只の配列よねw
List<>が勝手に出てくる訳もなく
192デフォルトの名無しさん (ワッチョイ 5161-RM76)
2019/01/07(月) 22:27:36.78ID:LR2ZtPQc0
>>181
「10進数が1桁増えるときに2進数表示で最後の4桁以外の文字列は使い回せるから文字列連結処理は多少減らせる」
の意味がわからない。
193デフォルトの名無しさん (ブーイモ MM8d-ZBCD)
2019/01/07(月) 22:49:30.37ID:ZGeLga+2M
BCD?
194デフォルトの名無しさん (アウアウエー Sae3-ahzL)
2019/01/07(月) 23:07:28.05ID:7iifCEQOa
>>191
アホ?
デシリアライズ先の型としてList<>を指定してるんだからどう見ても勝手に出てきてはいないでしょ
普通にデシリアライズできるよ
195デフォルトの名無しさん (ワッチョイ c17b-lUsO)
2019/01/07(月) 23:26:43.60ID:PUyuVhSj0
>>192
単純に勘違いだろ。16進数から2進数への変換なら成立するけど
例えば251と256の2進数の下4桁が違うのはすぐわかる
質問引っ張るのもまずいけど元の質問者もフィードバックくらいしてほしいな
196デフォルトの名無しさん (ワッチョイ 7b7d-vmFk)
2019/01/07(月) 23:45:26.56ID:RNZAQQS50
json.netはList指定いけたわ
低速過ぎて最近使ってなかった
失礼した
197デフォルトの名無しさん (ワッチョイ a994-mHCk)
2019/01/08(火) 01:42:19.06ID:+TBsMqqs0
9時と13時に定期的に作業を実行させたいので、タイマーを使ってプログラムを書きました。
似た部分が多いのでタイマー自体を配列化したのですが、「動作を停止しました」とエラーが出て動きませんでした。
タイマーの配列化って無理なんでしょうか?

System.Windows.Forms.Timer[] timerOnce = new System.Windows.Forms.Timer[2];
public GetControlsList()
{
myTimerOnce(timerOnce[0], "9:00");
timerOnce[0].Tick += new EventHandler(timerOnce_Tick);
}

// 指定時刻までの時間を計算して、Intarvalにセット
private void myTimerOnce(System.Windows.Forms.Timer thisTimer, string setTime)
{
//現在の時刻から、ターゲット時刻までのインターバルを算出
TimeSpan mySpan = DateTime.Parse(DateTime.Now.ToString("yyyy/MM/dd ") + setTime) - DateTime.Now;
int sleepSec = (int)mySpan.TotalMilliseconds;
thisTimer.Enabled = true;// タイマ ON
thisTimer.Interval = sleepSec; // 更新間隔
}

// 指定時刻になったらmethodを実行
void timerOnce_Tick(object sender, EventArgs e)
{
//実行したいメソッド
}
198デフォルトの名無しさん (ワッチョイ d348-xhm2)
2019/01/08(火) 06:44:44.69ID:dT41V3TC0
アドバイス頂いた通りシリアライズを見直したところ解決しました。

var account = new Account { Email = "hogehoge.example.com", Active = true, };
using ( StreamWriter sw = File.CreateText( @".\accounts.json" ) )
{
var jw = new JsonTextWriter( sw ) { Formatting = Formatting.Indented };
new JsonSerializer().Serialize( jw, account );
}

このように書いていたので、accountをリストに変換してから行うようにしました。
new JsonSerializer().Serialize( jw, new List<Account> { account } );

レスくれた皆さん、ありがとうございます。
こちらもVS2017なのできっと文法違いが原因です。
Json形式を勉強し直します。
199デフォルトの名無しさん (アウアウエー Sae3-ahzL)
2019/01/08(火) 08:12:51.74ID:mtJIt88ca
>>197
そもそもWinFormsのタイマーは精度や信頼性がとても低く、時間の計測に使ってはいけない
あくまで「時々処理をさせたい」だけのときに使うもの
あなたのケースならタスクスケジューラを使うのが定石です
200デフォルトの名無しさん (ラクッペ MMe5-U0tG)
2019/01/08(火) 09:49:22.14ID:Sw3FA19SM
>>197
配列をnewしただけで中身のTimerをnewしてないからじゃないの
201デフォルトの名無しさん (ラクッペ MMe5-U0tG)
2019/01/08(火) 09:53:57.24ID:Sw3FA19SM
まずデバッグ実行することを覚えた方がいい気がしないでもない
202デフォルトの名無しさん (ワッチョイ a994-mHCk)
2019/01/08(火) 12:12:53.32ID:+TBsMqqs0
>>200
まさにそれでした。
1行加えただけで解決しました。ありがとうございました。
203デフォルトの名無しさん (ワッチョイ 8901-gZzt)
2019/01/09(水) 07:23:03.10ID:fI4baLQf0
本当に初心者質問ですが、ライブラリはimportとnamespaceから書いていくのと、どちらが良いのでしょうか

もしくは使い分けがあるのでしょうか
204デフォルトの名無しさん (スッップ Sd33-wlHu)
2019/01/09(水) 07:48:48.51ID:c4aAB3Aqd
>>203
ここC#スレやで
205デフォルトの名無しさん (ワッチョイ 8901-gZzt)
2019/01/09(水) 12:18:51.14ID:fI4baLQf0
>>204
C#はusingですけどスコープ内でオブジェクト破棄する機能もusingと呼称してるので混乱しないようにimportと表現しました

なんで2つの記述方法を許しているのか、何か意味があるのか気になりまして
206デフォルトの名無しさん (スッップ Sd33-wlHu)
2019/01/09(水) 12:21:16.40ID:c4aAB3Aqd
>>205
c#にもimportはあるから余計混乱するだけ

名前空間とusingsは全然用途違うでしょ?
207デフォルトの名無しさん (スッップ Sd33-wlHu)
2019/01/09(水) 12:21:41.32ID:c4aAB3Aqd
C#というかMSBuildだけど
208デフォルトの名無しさん (ワッチョイ 69e3-RM76)
2019/01/09(水) 14:41:58.83ID:2h2JyjUc0
>>203
名前空間の全表記は可読性下げるので使ってないな
VSでカーソル当てれば名前空間表示されるし、今時テキストエディタでゴリゴリ書いている人でもなければ全表記する必要ないと思う
209デフォルトの名無しさん (ドコグロ MM63-3T74)
2019/01/09(水) 14:52:14.20ID:TKkGGOqYM
>>208
MediaのcolorとDrawingのcolorが混在してるときはぶっ潰したくなる
210デフォルトの名無しさん (ドコグロ MM63-3T74)
2019/01/09(水) 14:55:45.81ID:TKkGGOqYM
pathってファイルパスじゃなくて
曲線かよ死ねよとか
省略形でも違いがあったほうが絶対いい
211デフォルトの名無しさん (ワッチョイ 917b-6YBr)
2019/01/09(水) 19:11:30.62ID:5txyXp0A0
>>203
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/keywords/using-directive
usingでググればここに理由も呼び分け方(using ディレクティブ)も出ている
一般的な呼び名を使わないと調べることすらできなくなるよ
212デフォルトの名無しさん (オッペケ Sr85-DIji)
2019/01/10(木) 13:13:55.78ID:lMztlpGar
>>209
そういうの他にもある
213デフォルトの名無しさん (アウアウウー Sa89-xTYM)
2019/01/10(木) 20:09:22.40ID:9xQ4gBbQa
P/InvokeやCOM相互運用を書くときに
System.Runtime.InteropServices.ComTypes以下の構造体やインターフェースを使う時があるんだけど
System.Runtime.InteropServices以下に同名の物があるから、大体の場合で完全修飾かusing alias directiveが必要になって面倒なんだよなあ
.Net1.1時代の後方互換性のためにObsolete付きで残してあるんだろうけど邪魔で仕方がない
214デフォルトの名無しさん (エアペラ SDe2-42Wh)
2019/01/11(金) 12:39:13.44ID:qc15f1nfD
>>211
その名前を知る事が大変ですよね
沢山本読むしかないんでしょうけど
215デフォルトの名無しさん (ワッチョイ 557b-5zJT)
2019/01/11(金) 12:57:28.29ID:RbVY6SmB0
>>214
この話はusingの話で質問した人もわかっているし
わからないなら分からないなりに説明したらいいだけ
オレオレ用語使ってこんなところで質問するのは普通におかしい
216デフォルトの名無しさん (ワッチョイ a57c-Iup+)
2019/01/11(金) 13:29:58.48ID:5RUmP2fm0
スレ間違えたことを嘘に嘘を塗り固めるのは朝鮮人の始まり
217デフォルトの名無しさん (ワッチョイ a161-Fjw0)
2019/01/11(金) 14:37:44.48ID:225AU0sE0
ちょっと教えろください。
int型変数二つの足し算でオーバーフローするかどうかチェックしたいのですが、
@decimalにキャストして足し算した結果がintの範囲に収まっているかif文で判断
Atry catchで例外をつかまえる
どっちがいいのでしょう?
218デフォルトの名無しさん (ブーイモ MM71-oec2)
2019/01/11(金) 14:40:44.08ID:86XGb19RM
>>217
Bdecimalではなくlongにキャストして足し算した結果がintの範囲に収まっているか判断
219デフォルトの名無しさん (ワッチョイ aa08-8shN)
2019/01/11(金) 15:54:41.82ID:r18fheRy0
>>217
int_max - a < bなら
a + b < int_maxが成り立つ
でも>218のほうがわかりやすいとは思う
220203 (ワッチョイ dd01-42Wh)
2019/01/11(金) 17:49:49.09ID:1orv+xc30
俺がjavaerという事がバレちまったらしょうがねえ

なんだよusingってよ
vb如きだってjavaリスペクトしてんぞ
221デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/11(金) 18:29:52.22ID:KWycMyC0a
>>217
オーバーフローは同じ符号の値を足した時にしか起こらず、起こった場合は前後で符号が変わる。
他の人が見ても何やってるか分かることが重要ならそれで判定するのが一番だと思う
222デフォルトの名無しさん (ドコグロ MM9d-QFwb)
2019/01/11(金) 18:33:43.65ID:KnmjjSvJM
ラップアラウンドとサチュレーションって学生のときに聞いたのが最後だ
223デフォルトの名無しさん (ワッチョイ 7a01-ae4N)
2019/01/11(金) 18:40:14.66ID:fFtOgUz40
すみません、初めて見る構造体が出て来たのですが

[StructLayout(LayoutKind.Sequential)]
struct INITCOMMONCONTROLSEX
{
public int dwSize;
public uint dwICC;
}

これは何構造体と読むのですか?
224デフォルトの名無しさん (ブーイモ MM9a-kZrb)
2019/01/11(金) 18:45:24.19ID:1+lzGhU1M
つまらん!

お前の話はつまらん!
225デフォルトの名無しさん (ワッチョイ d67b-92yO)
2019/01/11(金) 18:46:13.28ID:eF6moy/g0
>>223
https://ufcpp.net/study/csharp/interop/memorylayout/
>Sequentialレイアウトでは、複合型のフィールドは宣言した順序通りにレイアウトされます。
226デフォルトの名無しさん (ブーイモ MM9a-kZrb)
2019/01/11(金) 18:49:12.65ID:1+lzGhU1M
イニシャライズコモンコントロールズイーエックス構造体
227デフォルトの名無しさん (アウアウウー Sa89-xTYM)
2019/01/11(金) 18:51:24.03ID:zVvjOIcHa
>>223
構造体名で検索したらInitCommonControlsEx関数が出てくるじゃろ
228デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 00:09:08.43ID:iaJ8ArIE0
VS2017でC#のプログラムを組んでます。

はじめてVS2017を使うのですが、画面の下に


準備完了 ↑ソース管理に追加

という邪魔なバーが表示されてます。
VS2010にはありませんでした。目障りなのでこれを消したいのですが何か方法はありますか?
229デフォルトの名無しさん (ワッチョイ 4a32-kZrb)
2019/01/12(土) 00:20:55.22ID:Fl9Ups4U0
>>228
ツール->オプション、環境->全般、ステータス バーを表示するのチェックを外す
230デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 00:21:44.23ID:iaJ8ArIE0
>>229
ありがとうございます!!目障りだったんですよね。
231デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/12(土) 01:04:45.40ID:CChJ5ept0
色々迷ったけど
オートフォーマットはOFFにした
232デフォルトの名無しさん (ワッチョイ 55da-RNo8)
2019/01/12(土) 03:22:33.67ID:S1bCJ3S10
例外処理(に限らず、エラー処理)ってどこまで徹底して行うべきなんでしょうか?
下みたいに、使うインスタンス片っ端から毎回nullチェックとかしてたら、凄まじいコード量になるんですが・・・・・
if(obj == null)
{
return msg;
}
233デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/12(土) 03:53:00.80ID:ejfouP+Ya
>>232
さあ。
でもバグと例外は区別した方がいいんじゃないか。

そのコードは多分バグを想定してるんだよね?
絶対にとは言い切れないが、バグを想定してそれを検出するifは書かないのが普通じゃないか
いやライブラリみたいなものを作ってるならバグを想定して例外を投げるのは普通だけど
234デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/12(土) 03:58:46.63ID:ejfouP+Ya
最後の行は引数のチェックの話ね
235デフォルトの名無しさん (ワッチョイ 8e7d-DANP)
2019/01/12(土) 04:03:08.28ID:2xT9w9620
return msg
してるから まず例外をちゃんと使えてないんじゃ疑惑
236デフォルトの名無しさん (ワッチョイ dd01-trTt)
2019/01/12(土) 04:04:51.50ID:DC6KrvaN0
デザインパターンでnullオブジェクトパターンみたいの参考にするのは?
237デフォルトの名無しさん (ワッチョイ dd01-trTt)
2019/01/12(土) 04:12:05.96ID:DC6KrvaN0
nullが入るケースがあることを想定している場合にnullチェックを全部書くのがめんどいならnullオブジェクトパターン適用すればいいし
本来はnullが入ってたらおかしいケースならエラーを起こして拾わせるのが正しい構造って回答でいいのかな?
238デフォルトの名無しさん (ワッチョイ 8e7d-DANP)
2019/01/12(土) 04:17:50.15ID:2xT9w9620
・nullが来ない想定ならチェック不要
・nullケース考慮したくないならnullオブジェクトパターン
・null来た場合にぬるり以外で知らせるならチェックする
・nullのネスト面倒ならnull条件演算子

こんな感じやろか
null非許容参照型使うという手もあるが
239デフォルトの名無しさん (ワッチョイ 7aad-RNo8)
2019/01/12(土) 08:05:30.51ID:VHzQIvd20
読んでる入門書のLINQとラムダうんたらってのが分からなくて
手がstopしてしまっているのですが入門者向けに分かりやすく解説されてるページなど教えていただけないでしょうか?
メソッドの使い方はある程度分かったのですがそれじゃ駄目なんすかね…
240デフォルトの名無しさん (ワッチョイ a161-Fjw0)
2019/01/12(土) 08:39:26.90ID:0dPYYJK00
>>239
LINQやらラムダ使えなくても動くものはつくれるからまぁまずは作ってみよう
241デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 10:13:12.90ID:iaJ8ArIE0
最近は、自分でプログラム組まずにランサーズでハイスキルな奴に外注してるわw
中抜きでうま〜〜〜
242デフォルトの名無しさん (アウアウウー Sa89-gnS9)
2019/01/12(土) 10:35:45.31ID:e9xF8Gpoa
>>232
チームの方針次第
うちの場合は

nullを許可しない引数と返り値は基本的に全てチェックして例外を投げてる
めんどくさいと思うかもしれないがFluentAssertionのようなライブラリを使えばそこまで大きな負担にはならない

nullオブジェクトパターンはやればわかるがチェックするよりも手間がかかる
また必ずしもnullの場合の適切な動作を定められるとは限らない
適切でない場合にパターンを適用するとそれがnullオブジェクトかどうかチェックするといった本末転倒なことになりかねない
なのでこれが最も適切と確実に判断できる場合を除いて使用しない

C# 8.0が待ち遠しいね
243デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/12(土) 10:44:33.52ID:CChJ5ept0
>>232
仕様と設計で解決する問題
エラーが出たときどうしたいの?
エラー出たときに別に原因とかわからんでええなら一連の処理をtrycatchで囲ったらええやん
なんか起きたらcatchに入ってくるで
244デフォルトの名無しさん (ワッチョイ a5d2-SD/a)
2019/01/12(土) 17:18:08.40ID:XDHakXaX0
>>232
外部とのやりとりの場所は結構厳重にチェックを入れる。
自分で書いているところは適当に流す。

外部とは当該館数のパラメータや、呼び出す関数とかの戻り値ね。
try catch で囲んで、チェックして例外発行して、catch 内でまとめてトレース情報込みでログ出してスローするくらいなら大した手間じゃないじゃない。
その例なら if( obj == null ) throw new ArgumentNullException("ぼーっと生きてんじゃねーよ!"); で済む話じゃん。

>>239
コピペでもいいからたくさん書いてみる。で解決するよ。
やってるうちに理屈が分かるようになる。
245デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/12(土) 17:23:52.90ID:iaJ8ArIE0
昔は開発現場でこっそりExcel型の2chブラウザでネットサーフィンばかりしてたな〜
座ってるだけで月70万むっちゃらくやった
246デフォルトの名無しさん (ワッチョイ d6a7-VK1S)
2019/01/13(日) 00:23:58.00ID:X0+RFgX60
>>239
駆け出し時代オープンソース改造してた時にLINQはパフォーマンス悪いと思って見つけ次第foreachに手直しするという逆工程でLINQとラムダ式マスターした
247デフォルトの名無しさん (ササクッテロ Sp85-aawd)
2019/01/13(日) 00:46:53.42ID:IIPQpabmp
使えば勝手にlinqの快感にハマって抜け出せなくなる
248デフォルトの名無しさん (ワッチョイ a563-jrHm)
2019/01/13(日) 04:21:19.42ID:qwE0jZig0
麻薬のような機能だなw
249デフォルトの名無しさん (ワッチョイ 8e7d-DANP)
2019/01/13(日) 09:07:48.83ID:Xn8IPTP50
LINQもRxも使いだすと元に戻れなくなる

でも性能気にしてstructとforeachに書き直し始めると時間足りない
250デフォルトの名無しさん (ワッチョイ faad-yiss)
2019/01/13(日) 09:32:12.32ID:Z+h8nfOL0
>>246
パフォーマンスのためならなんでforにしなかったん?
251デフォルトの名無しさん (ワッチョイ d6a7-VK1S)
2019/01/13(日) 18:27:15.40ID:X0+RFgX60
>>250
Listはしてたよ
あとラムダ式はLINQ→foreachより行数減らす意識持って1行メソッドを見つけ次第ラムダ式に直す工程で習得したな
252デフォルトの名無しさん (ワッチョイ 551f-M1d3)
2019/01/14(月) 23:20:39.35ID:3wGjtMyb0
ComboBoxに例えばA〜Dと4つ項目が入っていて、A〜Cは同一計算方法でDのみ特別な計算方法でコード内容が異なり且つ色んな計算をする為コードが長くなる場合の見やすくする為の最初の分岐方法とか書き方とかありませんか?
今はifで分岐した中にあれこれ結果を取ってきて結果を出してるのでifがやたら長く見辛いです。なんかいい方法があれば教えて頂きたいです。
253デフォルトの名無しさん (ワッチョイ 3d46-VK1S)
2019/01/14(月) 23:31:33.99ID:CBheeOs80
LINQ使うと元に戻れなくなるのはわかるんだけどデバッグしづらくね?
デバッグを想定する時点で初心者なのかな...教えてエロい人
254デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/15(火) 00:45:24.53ID:DUfu4s9fa
>>252
4っつぽっちの分岐で何がそんなに見づらくなるのかちょっと理解できんよ。
いや、煽ってるわけじゃなく本当に

各分岐先のコードが長くなるっていうのならそれぞれメソッドに切り分けるだけじゃないの?
255デフォルトの名無しさん (ササクッテロ Sp85-aawd)
2019/01/15(火) 02:09:17.70ID:gvlEsXBIp
>>252
if(value == d){
d用処理またはメソッド
}else {
a〜c用処理またはメソッド


これじゃダメなの?
256デフォルトの名無しさん (ガラプー KKad-zSS6)
2019/01/15(火) 04:09:30.23ID:Vsgk6Uc3K
>>252
ComboBoxにブチ込むためのクラスを書いてDは継承
257デフォルトの名無しさん (ワッチョイ a161-PaIb)
2019/01/15(火) 06:09:12.86ID:rjgxVR8i0
LINQはなかなか身につかんなあ。
とりあえずforで書いといて見直してこれLINQで一行になるんじゃね?と気付いたらいそいそと書き直す感じ。
LINQ脳になってない
258デフォルトの名無しさん (ワッチョイ a563-jrHm)
2019/01/15(火) 06:39:49.84ID:OSSPo6bD0
例えば処理順を意識しなくて良い場合、通常のforまたはforeachで処理するのと、Parallel.ForEachで並列処理するのはやはり並列処理の方が早い?
259デフォルトの名無しさん (ドコグロ MM9d-QFwb)
2019/01/15(火) 07:24:38.34ID:ohj/8QmzM
>>255
質問者の意図とは違うかもしれんがそういうコード書くと怒るやつがいた職場がある
わざわざ継承してうにゃうにゃやらんと怒る
んでできたコードが何がいいのか考えてもさっぱり意味がわからん
本人にメリットを聞いてもさっぱり理解できんというかメリットの話になると必ずボケた返しをする
ありもしない改修を想定してキチガイとしか思えない発言を連発する
そもそも仕様書や設計書に処理がその数で分岐するってあるのに
なんで普通に書いたら怒るんだよ
もうお前とはやってられん
ってとこまでいって仕様書や設計書通りに組んでるのに工数が増えてるのはあんたのせいだ
って会社間の会議になってもまだグチグチ言ってる
その場にいる全員?な状態だった
260デフォルトの名無しさん (スップ Sd7a-8shN)
2019/01/15(火) 08:37:28.18ID:biF9zsRRd
環境次第
261デフォルトの名無しさん (アウアウウー Sa89-E4e6)
2019/01/15(火) 08:41:56.04ID:AEHaNlhRa
>>259
条件分岐が減るとかじゃないの?
それだけ不具合が減る理屈だが、工数が増えてるんじゃ意味ないな
262デフォルトの名無しさん (オイコラミネオ MM3d-DANP)
2019/01/15(火) 08:50:45.78ID:OahWWfOzM
普通のケースでは継承にしても
条件分岐が別の場所に移動するだけだべ
263デフォルトの名無しさん (ブーイモ MM9a-oec2)
2019/01/15(火) 09:24:06.17ID:n85zJfLmM
>>258
Parallel.ForEachはオーバーヘッドが大きい
一周に数百ミリ秒かかるくらいの粒度の大きなループでない限りは普通のforeachより確実に遅くなる
264デフォルトの名無しさん (ワッチョイ 7a42-VK1S)
2019/01/15(火) 10:26:04.16ID:fix0rts+0
多態性は手間がかかる割に恩恵が少ないよな
265デフォルトの名無しさん (ワッチョイ 4de3-Fjw0)
2019/01/15(火) 16:18:48.41ID:R0UqBAnw0
>>257
foreachならともかくforで書いているなら苦労するだろう
266デフォルトの名無しさん (ワッチョイ 4de3-Fjw0)
2019/01/15(火) 16:22:04.50ID:R0UqBAnw0
>>259
逆のパターンなら数多見てきたけど、そのパターンは珍しいな
if分岐が10以上になるからなんとかしてと言われて継承使ったプロトタイプ渡したら、なぜか基底クラスでif文復活してたことならあるけど
267デフォルトの名無しさん (ブーイモ MM9a-jrHm)
2019/01/15(火) 16:36:00.01ID:0qvQfApDM
C#のforeachってpythonみたいに定義しないでindex取得出来ませんか?forにするしかないでしょうか?
268デフォルトの名無しさん (ブーイモ MM9a-RNo8)
2019/01/15(火) 16:37:26.00ID:Oh+57Mh2M
[_]
269デフォルトの名無しさん (ワッチョイ 3117-Fjw0)
2019/01/15(火) 16:53:35.12ID:XrO54/Dg0
>>267
foreach単体じゃ無理

Enumerable.Select Method
https://docs.microsoft.com/ja-jp/dotnet/api/system.linq.enumerable.select?view=netframework-4.7.2
270デフォルトの名無しさん (スップ Sd7a-trTt)
2019/01/15(火) 17:42:13.30ID:AbSveg4gd
>>267
上のSELECT使った実装例はこんな感じ

foreach (var x in items.Select((item, index) => new { item, index }))
{
Console.WriteLine($"index: {x.index}, value: {x.item}");
}

Listか配列かIEnumerabelどれでやってるかは知らないけどもこれで行けるはず
271デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/15(火) 17:49:07.53ID:u2JtKhAa0
forが完全上位互換なのになんで
foreach使うのか?
って今でも思ってるよ俺は
ループにインデックスが必要になったというただそれだけで変更するんだぜ
272デフォルトの名無しさん (スップ Sd7a-trTt)
2019/01/15(火) 17:55:58.21ID:AbSveg4gd
indexが必要でCountもできる時はわざわざindex生成してforeach使う必要無いと思うけどもLinq使いたい時とかIEnumerabelに実装してるものにわざわざfor使わない派
273デフォルトの名無しさん (スップ Sd7a-trTt)
2019/01/15(火) 17:58:55.44ID:AbSveg4gd
というか戻り値をIEnumerabelにして抽象化しておく事が多いから余計にforeach使うのはあるかもしれない
Linq拡張メソッド作る時とか諸々
274デフォルトの名無しさん (ワッチョイ 8e7d-DANP)
2019/01/15(火) 19:24:57.54ID:Kk36dR3w0
とりまLINQ使って富豪的に組むだろ
275デフォルトの名無しさん (アウアウウー Sa89-gnS9)
2019/01/15(火) 20:11:07.93ID:LAAyKIEna
>>252
int CalcDefault();
int CalcSpecial();
int Calc() {
if (IsSpecialCase()) return CalcSpecial();
else return CalcDefault();
}
bool IsSpecialCase() => combo.SelectedValue == "D";

とりあえず最初はこれでいいよ
似たような条件分岐が増えてきたらリファクタリングしてポリモー対応できないか検討
最初からポリモーは大げさだからやらなくていい
でも後でリファクタリングしやすいように責務指向でメソッドを切っておくぐらいはやっておいたほうがいい
このへんのさじ加減は経験則だな
276デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/15(火) 20:18:43.20ID:ToRrrvnYa
switchを無くすのに多態なんか使う必要ないね。
すくなくともC#にはデリゲートがあるんだから多態使うぐらいならComboBoxのアイテムに
デリゲート持たせた方がいいよ。

個人的にはこれも本当に可読的か疑問だけど。
分岐素直に分岐で書いた方が分かりやすいって
277デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/15(火) 20:29:43.48ID:u2JtKhAa0
テストするときに圧倒的にわかりにくいコードになんの意味があるの?
バカのやることは本当にわからない
278デフォルトの名無しさん (アウアウウー Sa89-gnS9)
2019/01/15(火) 20:31:56.84ID:LAAyKIEna
確かに
分岐が多いとテストしにくい
少しならいいけど限度がある
279デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/15(火) 20:50:47.00ID:u2JtKhAa0
設計書で分岐が100個あったらswitchcaseかifで100個書けよ
それが気に入らないなら設計書直せよ

そういう当たり前の手続きを無視してコード書いてる雑魚に俺は超えられねぇ
280デフォルトの名無しさん (ワッチョイ a602-XKp7)
2019/01/15(火) 20:54:23.73ID:ShjRgn6y0
switch vs 多態って結局プログラムがDRY & SOLIDになってるかどうかって問題に帰着すんだよな

>>255はDRYでもSOLIDでもない
>>275はSOLIDではあるがDRYではない
多態までいけば完全にDRYでSOLIDなプログラムになる

そのコードが一回こっきりで重複がないという前提だと、DRYのありがたみを実感しにくい
だからswitch派が一定数居るのだろうね
281デフォルトの名無しさん (スップ Sd7a-trTt)
2019/01/15(火) 20:58:26.66ID:AbSveg4gd
インターフェイス厨だから似たような分岐はインターフェイスで分けて個別実装か本当に共通してるなら継承でなんとかしたくなる
それと見返したら俺酷いスペルミスしててワロタ
282デフォルトの名無しさん (ササクッテロレ Sp85-NsAs)
2019/01/15(火) 22:25:49.08ID:rPJfKlkHp
cしか知らないのです
vsをダウンロードして独学でc#勉強し始めたのですが、どうにもなりませんです
オブジェクトだのラムダ式だのデザインパターンだの文法的な要素以外に勉強しないとなにを言ってるのかわからない事が多くて、勉強の進め方が間違ってるのだろうと思いました。
初心者丸出しの質問で恐縮ですが、どんな順で何を勉強したら良いでしょう?
また、良書、良いウェブページなどご存知でしたら、ご教示いただければ幸いです
よろしくお願いします。
283デフォルトの名無しさん (ワッチョイ d67b-92yO)
2019/01/15(火) 22:32:18.90ID:2N1r/ZHN0
>>282
物まねでもなんでもいいから何か作りまくれ
用語とかから勉強しなくていい。色々調べるうちに覚える
わからなくなったらやりたいことの頭にC#+スペース入れて検索
284デフォルトの名無しさん (ワッチョイ 81da-Fjw0)
2019/01/15(火) 22:33:11.37ID:p93FMJH30
必要性がわからない概念を理解するのは難しい
それはコード書いた経験が少なすぎるから
Cもほぼ入門書読んだだけでしょ
とりあえず自分が理解できる範囲の知識でなにか作りたい物つくった方がいい
285デフォルトの名無しさん (ワッチョイ 6d5f-VK1S)
2019/01/15(火) 22:52:10.98ID:qux9+5740
>>282
主にオブジェクト指向関係が分からないみたいだから
オブジェクト指向入門系の本やウェブサイトを探せばいいんじゃないか?

あるいはC#にこだわらないのであればC++の入門書はC言語との違いとして
オブジェクト指向向けの機能に触れているものが多いと思う

実際にプログラム作ってオブジェクト指向の感覚掴みたいなら
個人的にはちょっとしたゲーム作ってみるのもオススメだな 
UnityならC#使えるし
286デフォルトの名無しさん (ワッチョイ 4a32-kZrb)
2019/01/15(火) 23:25:56.04ID:Zm1dLYXR0
>>282
勉強の進め方というか基本的な理解が浅いのでは
Cでも構造体ネストして疑似継承くらいするだろうし
ラムダにしてもクロージャ要素はともかく匿名関数

とりあえずクラスは関数を纏めているのではなく
型を作りデータと結び付けているという事だね
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/index
翻訳が割と酷いが公式にもドキュメントはあるよ
287デフォルトの名無しさん (ワッチョイ 8dad-NsAs)
2019/01/15(火) 23:31:48.76ID:grH+sReD0
ご教示ありがとうございます
いわゆるコンソール用のアプリケーションなら、cで充分私が必要とする程度のものは作れるので、わざわざ新しい言語なんか習得したいとは思わないんですが。
やっぱり、GUIのアプリケーションの方が使うとき楽だとら思いまして、なんとかc#勉強して作れるようになりたいなと言うのが発端なんです

vsで参考になるようなところを参照してつまみ食いで作ったのですが、少しでも自分で機能を追加しようとすると、マイクロソフトのクラスライブラリなんか知らないので、なかなか困難で。
おまけにクラスというかオブジェクト指向って奴だと、無闇矢鱈と真似すれば良いという手法が私では通用しなかったのです。

どのようにクラスを作って良いのか基準もわからないですし。
オライリーのc++の本があるので読んだのですが、そこでは電子レンジをモデルにしてオブジェクトの説明をしてくれたのですが、なかなか良く分からず

デザインパターンとやらを先に勉強しておくべきなのかとチラホラ読んだのですが、これもまた実装とは程遠い座学の世界でピンと来なくて泣きそうです。

みなさん、ある程度使えるようになるまでどんな順序でなにを学んだのか、ご教示いただければたすかります
288デフォルトの名無しさん (ワッチョイ 8dad-NsAs)
2019/01/15(火) 23:33:48.23ID:grH+sReD0
図々しいお願いで恐縮です
289デフォルトの名無しさん (ワッチョイ 2679-8zRV)
2019/01/15(火) 23:35:09.56ID:opRVBBPd0
デザパタは経験積まないと有り難味が判らないから放置でいいよ
作りたいものを完成させるにはどうすれば近道かだけ考えろ
290デフォルトの名無しさん (ワッチョイ 8dad-NsAs)
2019/01/15(火) 23:40:43.54ID:grH+sReD0
>>289
デザイパターンはある程度蓄積が出来てないとありがたみがわからない、だから、後回しでも良いと言う意見ですね
クラスを作る定石集のようなものだと思ったので、先に勉強した方が良いのかとも思っておりました
定石知らなくても、楽しく将棋はできるのだから、後回しでも良さそうですね

ご意見ありがとうございます
291デフォルトの名無しさん (ワッチョイ a161-QFwb)
2019/01/15(火) 23:50:54.16ID:u2JtKhAa0
vector3Dクラスの内部に
vector2Dクラスは普通は作らないんだぞ
知ってた?
しかし、両クラス共にメンバx,yを保持する
そう、お前らの大っっっっっっっ嫌いな重複だw
しかし、極上のバカでもない限り
vector3Dをvector2D+zで作るやつなんてこの世にいないんだよ
わかるな?

この例ではわかりやすく
XYZで説明してやったが
世の中ってのはこういうもので満ち溢れてるんだよ
xyでもyzでも計算するときがあるのさ
わかりにくいだけで
xyをvector2Dで作ってしまったオブジェクトのyzの計算は不格好なのさ
オブジェクト指向は破綻している
そこをわかった上で付き合うんだ
292デフォルトの名無しさん (ワッチョイ 4a32-kZrb)
2019/01/16(水) 00:03:56.21ID:9UhWNW230
>>287
物に例えるってのは常々ダメだと思うわ、関係ない要素が絡んできて
人に依ってはマイクロウェーブとか出るの?とか思うだろうし
クラス設計としちゃフィールドは構造体と一緒だけどメソッドは…
うん、とりあえず手続き型っぽく作っても良いだろう\(^o^)/
多態性は+演算子の数値なら加算が文字列だと連結になるとかね

C経験はCUIのみという事かな?.NET Frameworkなんか知らん!という事であれば
Visual C++ Windows デスクトップアプリを従来通りWin32で作っても良いと思うけど
手っ取り早くダイアログベースで作成してメッセージハンドラに渡ってきたIDで振り分ける

ぶっちゃけ.NET FrameworkもWin32 APIをラップしてるだけなのでC#も基本は変わらない
フォームデザイナーで弄くってコントロールにイベントハンドラ割り当てるだけ
293デフォルトの名無しさん (ワッチョイ 8dad-NsAs)
2019/01/16(水) 00:44:36.48ID:RsJGf8R10
>>292
制御系のプログラムばかり書いているのです
どうかするとロジアナ見てる方が多いかもしれませんが
パソコンの世界はほとんどわからないです
294デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/16(水) 01:02:27.00ID:NripHWV9a
>>293
制御系ならCでも自然とオブジェクト指向的な設計でコード書いてたはずだと思う。

「キーをスキャンしてデバウンス処理を担当するコード」とか「LCDドライバーへの表示データの転送を担当するコード」
とか、そういう仮想機械をコード上にいっぱい作ってたはず。

オブジェクト指向のオブジェクトって要はこの仮想機械のこと。
クラスはそれを書きやすくするための仕組みに過ぎん。
だからたぶん心配してるよりずっと簡単な話だと思うよ
295デフォルトの名無しさん (ワッチョイ 8dad-NsAs)
2019/01/16(水) 01:07:11.33ID:RsJGf8R10
>>294
私の頭の中はオブジェクト指向とは無縁です。

設計そのものに、そんな考え方を取り入れていないので、どこまでも手続き型で考えてしまうのです。
強いて言えば、状態遷移を作るときに少し似たような考え方になるだろうか、という程度ですね

なにをクラスとすれば良いのか、そういうところがピンとこないので、わからないのです。
296デフォルトの名無しさん (ワッチョイ 4a32-kZrb)
2019/01/16(水) 01:13:49.60ID:9UhWNW230
いわゆる組み込み系か、それだと逆にこっちが経験乏しいけど、Cライブラリなら馴染みはあるのかな
するとまずはVisual C++からWindowsコンソールアプリをC/C++ライブラリで作ってみるとかかねぇ?
APIとかはC#にしろMSDN…今はMicrosoft Docs?を見るしかないね、C#ならIntelliSenseにも詳細出る

でもC#からなんか制御するとかだと結局プラットフォームのネイティブAPIや専用ライブラリになるか?
とりあえずオブジェクト指向とかを学びたいのであればC++や他スクリプト言語とかでも良さそうな
297デフォルトの名無しさん (アウアウエー Sa22-j/vx)
2019/01/16(水) 01:15:08.32ID:NripHWV9a
>>295
でもキュー(リングバッファー)ぐらい実装したことあるでしょ?
端的に言えばあれがオブジェクトの一例っすよ。

データ(配列 + 読み出しポインタ + 書込みポインタ)と、
それをリングバッファーに見せかけるコードの組み合わせ

簡単でしょ
298デフォルトの名無しさん (ワッチョイ 8dad-NsAs)
2019/01/16(水) 01:30:35.70ID:RsJGf8R10
>>296
言語そのものはどれでも良いと考えています
vsのヘルプを読む限り、同じことができてるようですから
どうせなら、c#を勉強してみたいなと考えております
299デフォルトの名無しさん (ワッチョイ 8dad-NsAs)
2019/01/16(水) 01:36:56.53ID:RsJGf8R10
>>297
リングバッファがオブジェクト指向の考え方なのですか。
なるほど。
仮装化したデバイスのようなもの、ということなのでしょうか。ハードディスクのドライバやNICのドライバは確かにアプリケーションからみると仮想的で、実際のハードウェアの持つ機能とは関係なくつかえるようにしますね
少し例えがわかった気がします

ありがとうございました
今日は遅いので、この辺で失礼します
300デフォルトの名無しさん (ワッチョイ 4eda-asVD)
2019/01/16(水) 02:56:08.32ID:JSfUU2TA0
private Task<int> hoge{....}
というメソッドがあって

var t=hoge();
でタスク走らせた後、ちょっと別の処理してから
t.ContinueWith(()=>...);
と継続タスクを付け足した場合、
付け足した時点でhogeが終わってれば
すぐ継続タスクの処理を開始してくれますか?
301デフォルトの名無しさん (アウアウエー Sa22-oec2)
2019/01/16(水) 08:32:38.24ID:vAlWKxD3a
>>300
はい
302デフォルトの名無しさん (ワッチョイ a67c-sRSz)
2019/01/16(水) 09:09:41.77ID:CvIYGZ/W0
なんならTask.CompletedTaskからでもContinueWithできる
303デフォルトの名無しさん (オイコラミネオ MM3d-DANP)
2019/01/16(水) 11:29:57.72ID:O5e9hp9mM
>>299
オライリーのヘッドファーストオブジェクト指向がおすすめ
304デフォルトの名無しさん (ワッチョイ c52d-RNo8)
2019/01/16(水) 16:28:16.62ID:UcQqPOFa0
ついでに、ユニットテストを身につける本をだれか教えてくれんかな
どの入門書もテストについて全く教えてくれんがどうなってんだ・・・・
305デフォルトの名無しさん (アウウィフ FF89-RNo8)
2019/01/16(水) 16:40:21.97ID:vTKVQdGXF
そのうちテストのテストも書きたくなってくる
306デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/16(水) 18:30:37.61ID:rdmn+dmd0
なかなかゲームの自動プレイを実装するの難しいな〜
307デフォルトの名無しさん (アウアウウー Sa89-RNo8)
2019/01/16(水) 19:00:09.87ID:uHZTYjv/a
>>241 >>245 >>306
>>1
308デフォルトの名無しさん (ワッチョイ 867d-Fjw0)
2019/01/16(水) 19:04:33.77ID:rdmn+dmd0
1は俺の書き込みちゃうでぇ
309デフォルトの名無しさん (ササクッテロル Sp85-NsAs)
2019/01/16(水) 20:32:03.28ID:LiM0dr73p
>>303
どうもありがとうございます
java c#を習得している人が前提の書籍のようですね
オブジェクト指向の勉強には良さそうな本で助かります
javaも知らないので、今度丸善にでも行って太刀打ちできそうか、少しみてから判断しようと思います
310デフォルトの名無しさん (スップ Sd7a-asVD)
2019/01/16(水) 21:05:07.42ID:wbo0XsPzd
>>301
>>302
ありがとうございました
311デフォルトの名無しさん (ワッチョイ 512d-qnWR)
2019/01/18(金) 05:08:46.83ID:bjcECFHM0
すまんが、VisualStudio2017についてる.NET Core2.1って、2.2にするにはどうすればいいの?
勝手に入ったんだからVisualStudio周りからアップグレードする方法があって良いような気がするものの・・・・どこにあるんだろ!?
https://dotnet.microsoft.com/download
それともこっからダウンロードしてきて入れちゃえば良いのかな?
312203 (ワッチョイ c101-drjx)
2019/01/18(金) 07:03:56.21ID:3+zdHjT80
>>287
動物スーパークラス作って猫クラスと犬クラス作って猫にニャーニャー 犬にワンワンと鳴かせるプログラム作りな
完成したらオブジェクト指向習得

これで月18万の8次請非正規になれるよ
面談では経験8年で勘定系COBOLの経験有りと答えてね
313デフォルトの名無しさん (ワッチョイ 690c-G1wx)
2019/01/18(金) 07:26:09.39ID:UV6kIYNk0
>>311
VSのインストーラから入れられるのはLTSだからか知らんが今のところ2.1まで
2.2はSDKで入れてプロジェクト毎にターゲットとして指定すればおk
314デフォルトの名無しさん (アウアウウー Sa15-9Az4)
2019/01/18(金) 07:46:49.16ID:tSI143EMa
>>312
意地が悪いな
315デフォルトの名無しさん (ワッチョイ 615f-fAiL)
2019/01/18(金) 09:51:47.00ID:LKOsIFRz0
オブジェクト指向は色々勉強するより
ちょっとしたゲームでも作ったほうが分かりやすいと思うわ

モンスターとヒーローを作って相手を攻撃するメソッドと攻撃を受けたときにダメージを受けるメソッドを書いて 終わり
316デフォルトの名無しさん (ワッチョイ e9ba-dCjl)
2019/01/18(金) 11:05:46.51ID:OxZoH0bi0
非同期のファイル検索処理を途中でキャンセルしたいのですが
時間がかかる処理はDirectory.GetFilesなので
CancellationPendingをどこに書いても処理が終わるまでキャンセルされないのですが
どう書けばよいでしょうか
https://dotnetfiddle.net/xYNYrk
317デフォルトの名無しさん (スッップ Sd33-T23y)
2019/01/18(金) 12:09:48.64ID:FhyCLWa9d
>>316
こういうやつ?
https://qiita.com/Kosen-amai/items/20868649f10b119ceb40
318デフォルトの名無しさん (ワッチョイ 11e7-zveU)
2019/01/18(金) 12:11:43.78ID:70siMoMg0
>>316
Directory.GetFiles()の代わりにDirectory.EnumerateFiles()を使う
319デフォルトの名無しさん (ブーイモ MM33-0Knw)
2019/01/18(金) 13:00:12.01ID:Xg90leRQM
>>315
ゲームはオブジェクトと環境との間のインタラクションが多すぎるからオブジェクト指向を学ぶには適さない
プロでも結局全部グローバルスコープでアクセスできるようにしとけみたいな設計にしかならん
320デフォルトの名無しさん (ワッチョイ 615f-fAiL)
2019/01/18(金) 14:06:54.39ID:LKOsIFRz0
じゃあやっぱ>>312がベストアイディアだな
321デフォルトの名無しさん (ワッチョイ c101-drjx)
2019/01/18(金) 17:53:25.90ID:3+zdHjT80
俺が先輩なら新人に自動車クラスとタイヤクラス作らせて型継承でタイヤ交換は容易にするようにと課題出す

出来たら6年選手として売る
322デフォルトの名無しさん (ワッチョイ c101-drjx)
2019/01/18(金) 17:56:23.24ID:3+zdHjT80
新人言うても30歳超えの中途ね
コスパ良いんだわ
年食ってると従順でパワハラにも耐える

そう言えば20代新人とか見たことない

存在するのかね
323デフォルトの名無しさん (ワッチョイ 615f-fAiL)
2019/01/18(金) 18:53:47.09ID:LKOsIFRz0
すまんがIT企業の闇と経験年数詐欺の手法はマ板でやってくれんか?
ム板は数年後のプログラミング教育必修化に向けてフレッシュでさわやかな若者向けの板に改装する予定なんだが
324デフォルトの名無しさん (オッペケ Sr1d-M666)
2019/01/18(金) 19:22:42.59ID:LUo6T6YMr
おまえが改装するの?
325デフォルトの名無しさん (ワッチョイ 9b7d-IImt)
2019/01/18(金) 19:45:43.10ID:adSAogxL0
マ板話をム板でするなハゲ
326デフォルトの名無しさん (スププ Sd33-qVYT)
2019/01/18(金) 19:57:21.94ID:zUd1LnnRd
>>325
ハゲ・ヅラ板の話をム板でやるなよ
327デフォルトの名無しさん (ワッチョイ 615f-fAiL)
2019/01/18(金) 20:48:28.34ID:LKOsIFRz0
早いところプログラミング必修化してほしいもんだぜ
会社の愚痴とブラック会社アピールが「プログラミングのお話」だと思ってるオッサン多すぎ
328デフォルトの名無しさん (ワッチョイ 21e5-drjx)
2019/01/18(金) 21:54:37.77ID:v/mpstOM0
IT業界の非正規形態に未来がなさ過ぎて辛い

いかんいかん 楽しい気持ちでラムダ練習せねば
329デフォルトの名無しさん (ワッチョイ 193c-fAiL)
2019/01/18(金) 22:02:21.54ID:BJ9hxZ250
↓プログラミングを必修化した結果
ふらっと C#,C♯,C#(初心者用) Part141 	YouTube動画>1本 ->画像>5枚
330デフォルトの名無しさん (ワッチョイ 1310-F2Ks)
2019/01/18(金) 22:16:50.60ID:v/K+38IX0
なんかちがう
331デフォルトの名無しさん (ワッチョイ cb7d-G1wx)
2019/01/18(金) 22:41:31.47ID:yv7JhRUX0
そもそも資格試験は政治家の天下り先がつくってる
いみない

なぜなら資格を作ってるところの役員事態は
知識がないのだから。
332デフォルトの名無しさん (ワッチョイ f11f-t+p0)
2019/01/18(金) 22:57:58.37ID:1ZiD/8V00
文字列から数字をtmpWとtmpHに抜き出すクラスを作りたいのですがどうしたらいいですか?
演算子記号は+−もある、数字の桁数は不明で小数点もあり、数字が入るときは小文字一字始まり、引数はw or hで抜き出す戻り値を示す。


対象文字
@w900×HH
AWW×h1000
BWW×HH
Cw900/h100
結果 引数がwなら左  hなら右
@tmpW=900 tmpH=WW
AtmpW=WW tmpH=1000
BtmpW=WW tmpH=WW
CtmpW=900 tmpH=1000
333デフォルトの名無しさん (ブーイモ MM45-mH1L)
2019/01/18(金) 23:04:40.52ID:qic/InUuM
数字文字列は尻からスキャンが定石か
334デフォルトの名無しさん (ワッチョイ eb63-wEuP)
2019/01/18(金) 23:09:53.93ID:FQpSYkdr0
正規表現で抜けば?
335デフォルトの名無しさん (ワッチョイ e9ba-dCjl)
2019/01/18(金) 23:11:37.85ID:OxZoH0bi0
>>317
ありがとうございます。調べてみます
>>318
ありがとうございます。しかし同じくキャンセル出来ませんでした
336デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/18(金) 23:58:07.57ID:JDQsFvp5a
フォルダの中に万単位でファイル作ってGetFiles()テストしたことがあったけど
10年以上前のPCでも非同期にしなきゃならんほど遅くなかったと思ったけどなあ

普通に遅い原因はユーザーコードの方にあるんじゃないの
337デフォルトの名無しさん (ワッチョイ cb7d-G1wx)
2019/01/19(土) 00:06:23.94ID:h3VcH88n0
10年前のPCはそこまで性能悪くないだろ
338デフォルトの名無しさん (ワッチョイ 317f-U6HT)
2019/01/19(土) 00:41:04.18ID:pEXPsY3Y0
>>332
文字列を×/区切りの前後でsplit
それぞれの先頭がwhなら以降を戻り値
339デフォルトの名無しさん (アウアウエー Sa23-qnWR)
2019/01/19(土) 01:20:56.46ID:2Tiw7zAQa
>>336
誰と話してるの
340デフォルトの名無しさん (ワッチョイ 1b02-T05w)
2019/01/19(土) 05:18:33.12ID:M8Q3zGyy0
>>332
今ちょうど過疎ってるお題スレにちょうど良さげなのでお題スレにコピペさせてもらおう。
341デフォルトの名無しさん (ワッチョイ 1301-HxQ/)
2019/01/19(土) 07:28:05.47ID:+IqL7b8U0
>>334に一票
342デフォルトの名無しさん (ブーイモ MM55-M2JB)
2019/01/19(土) 08:43:09.59ID:hupcYVyzM
>>332
Cが難題だな。どうやって実現しようかなぁ
343デフォルトの名無しさん (ワッチョイ 2961-sCe6)
2019/01/19(土) 08:48:50.91ID:Oo+kKfbG0
indexOfとLowerでイケるんちゃうか?
344デフォルトの名無しさん (ワッチョイ 2961-sCe6)
2019/01/19(土) 08:49:22.84ID:Oo+kKfbG0
あとsplit
345デフォルトの名無しさん (ワッチョイ 1301-HxQ/)
2019/01/19(土) 14:47:58.46ID:+IqL7b8U0
>>342
確かに w
まあtypoだろうからスルーしてやれよ
346デフォルトの名無しさん (ワッチョイ f1da-qnWR)
2019/01/19(土) 17:07:22.10ID:FJgPPckz0
脊髄反射で書いたので添削頼む。

public static string[] GetHW(string input)
{
string[] returnval = new string[2];
string[] temp = input.Split('+','-','*','/');

if (temp[0].StartsWith("w", StringComparison.Ordinal))
temp[0] = temp[0].TrimStart('w').Insert(0, "tmpW=");
else if (temp[0].StartsWith("WW", StringComparison.Ordinal))
temp[0] = "tmpW=\" \"";
else
temp[0] = "それ以外の何か";

if (temp[1].StartsWith("h", StringComparison.Ordinal))
temp[1] = temp[1].TrimStart('h').Insert(0, "tmpH=");
else if (temp[1].StartsWith("HH", StringComparison.Ordinal))
temp[1] = "tmpH=\" \"";
else
temp[1] = "それ以外の何か";

return temp;
}
347デフォルトの名無しさん (ワッチョイ f1da-qnWR)
2019/01/19(土) 17:11:32.02ID:FJgPPckz0
あ、Replaceでよかった。
returnvalも無意味。
348デフォルトの名無しさん (ワッチョイ f1da-qnWR)
2019/01/19(土) 17:39:42.56ID:FJgPPckz0
1文で
public static string GetHW(string input)
{
return input.Replace("w", "tmpW=",StringComparison.Ordinal)
.Replace("h", "tmpH=", StringComparison.Ordinal)
.Replace("WW", "tmp=\" \"", StringComparison.Ordinal)
.Replace("HH", "tmp=\" \"", StringComparison.Ordinal)
.Replace("+", " ", StringComparison.Ordinal)
.Replace("-", " ", StringComparison.Ordinal)
.Replace("*", " ", StringComparison.Ordinal)
.Replace("/", " ", StringComparison.Ordinal);
}
349デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/19(土) 18:47:09.81ID:jmND9WvPa
>>332
質問内容はともかく、プログラマならもうちょっと読み手が推測で補完しなくても
内容を過不足なくきっちり読み取れるような文章を書いた方がいいと思う。

ってういか、率直に言って日本語変だよw
350デフォルトの名無しさん (ワッチョイ 1301-HxQ/)
2019/01/19(土) 18:53:12.69ID:+IqL7b8U0
文章はともかくサンプルデータと結果を書いてるのは褒めてもいいと思うよ
他の質問者もぜひ見習って欲しい
351デフォルトの名無しさん (ラクッペ MMbd-UAg3)
2019/01/19(土) 19:00:37.08ID:ov6XiAZ2M
競技プログラミングの問題文よりましだろ
352デフォルトの名無しさん (マクド FFed-Z+78)
2019/01/19(土) 19:36:35.93ID:PaRH8QDQF
独学手探りで勉強しながら作っていたアプリケーションが一応形になったので
折角だから公開してみようと思っているんですが、
デバッグやライセンス確認など、リリース前に確認する事、の知識が全くないことに気づきました
少額ながら有料公開にしようと考えている為、
最低限これとこれは確認しないと、って物を教えて頂きたいです
353デフォルトの名無しさん (ワッチョイ 617c-UAg3)
2019/01/19(土) 19:39:05.53ID:9NMu+pMT0
>>352
なんのアプリケーションかも分からないし、答えようがない
354デフォルトの名無しさん (ワッチョイ f1da-qnWR)
2019/01/19(土) 19:41:36.75ID:FJgPPckz0
有料ってことは、不具合に対する改善要求が来る可能性もあるので、責任の範囲(逃げ道)を明確にしておく。
355デフォルトの名無しさん (ブーイモ MM33-mH1L)
2019/01/19(土) 19:42:32.49ID:XwZdf3VkM
>>349
そこは、「あなた、日本語お上手ですね!」で煽らないと
356デフォルトの名無しさん (ワッチョイ eb63-xgiB)
2019/01/19(土) 19:53:49.36ID:oPTngqYr0
煽ってどうすんだよガイジ
357デフォルトの名無しさん (ワッチョイ 512d-qnWR)
2019/01/19(土) 20:31:17.01ID:h4R+weTi0
>>313
今の所、普通に使っていて2.2にはならないのか
ありがとう
358デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/19(土) 21:00:12.97ID:jmND9WvPa
>>332
まあ、適当に忖度して書いてみた
普段正規表現あんまり使う機会がないんでどっかおかしいかもしれん
https://ideone.com/b9pjrG
359デフォルトの名無しさん (アウアウエー Sa23-0Knw)
2019/01/19(土) 21:02:54.87ID:BW5TF7JUa
>>352
ヘタしたら訴訟沙汰になりかねないからやめとけ
まずはベータ版として無料で配るとかして様子を見るべき
360デフォルトの名無しさん (ワッチョイ 13ad-BMYs)
2019/01/19(土) 21:59:06.23ID:+chQE6yt0
>>352
・C#で作ってるならデコンパイルされても大丈夫か確認しておく
・GPL汚染に注意する
361デフォルトの名無しさん (ワッチョイ 0b79-Cq37)
2019/01/20(日) 23:51:42.85ID:NEqE5pSC0
ソフトで商売って労力に見合わないな
キラーソフトでも作れればそれだけで暮らせるんだろうけど
362デフォルトの名無しさん (ワッチョイ c917-G1wx)
2019/01/21(月) 00:00:18.20ID:lx5Y5NZb0
ニッチな分野か、あるいは既存ソフトより高性能であれば有料でも売れる可能性はある
363デフォルトの名無しさん (アウアウエー Sa23-0Knw)
2019/01/21(月) 01:05:58.77ID:+LWwKYuDa
業務アプリなら大したスキル無くてもやってることがビジネスとして正しくてちゃんと営業すれば売れるよ
今時ツール系で稼ぐのはまあ無理
364 ◆QZaw55cn4c (JP 0Ha3-hFsF)
2019/01/21(月) 05:02:51.88ID:BX1YVz9RH
>>362
業務にての使用を公認されるためには、有料(シェア)ソフトの方が有利なようですよ、秀丸とか
365デフォルトの名無しさん (ワッチョイ c101-drjx)
2019/01/21(月) 07:23:38.48ID:EWbXmLTJ0
ASPばかりしてたらWinFormの作り方忘れた
つか今だにWinFormの案件あるのかね
小ツールはコンソールアプリで作っちゃうから勝手が思い出せない
366デフォルトの名無しさん (スップ Sd73-t+p0)
2019/01/21(月) 07:27:48.21ID:V744VEzgd
>>346
>>348
ありがとうございます!調べてやってみます!
367デフォルトの名無しさん (ワッチョイ d347-qVYT)
2019/01/21(月) 07:41:57.18ID:A1e+SXhY0
ASPの案件がある方が驚きだわ
368デフォルトの名無しさん (エアペラ SD33-drjx)
2019/01/21(月) 07:46:49.66ID:1hBKI8k2D
>>367
大手はWindowsServer入れてる率が多い気がする
369デフォルトの名無しさん (スップ Sd73-T23y)
2019/01/21(月) 07:54:57.12ID:BPZ4z+V2d
>>368
ASP.NET(かもしくはASP.NET Core)やろってツッコミじゃね?
370デフォルトの名無しさん (スププ Sd33-qVYT)
2019/01/21(月) 08:07:17.42ID:pqXwpH4cd
ASPはもうASP.NETに移行済んでるものと思ってた
371デフォルトの名無しさん (スップ Sd73-t+p0)
2019/01/21(月) 08:20:46.33ID:V744VEzgd
>>358
わざわざ有難うございます!
これも書いて勉強してみます!
372デフォルトの名無しさん (ワントンキン MM53-m16F)
2019/01/21(月) 10:03:06.25ID:HJdNRmJRM
開発マシン XP32bitでVS2005で作ったC++のdllを同じくVS2005で作ったC# WinFormアプリでDllImportを使って利用しています。

Win10 64bitで実行するとC++の関数をコールすると
間違ったフォーマットのプログラムを読み込もうとしました。(HRESULTからの例外: 0x8007000B)
となります。

同じ事をwin7 64bitのVS2013で作ったアプリでしても(当然)問題なく動きます。

VS2005で作ったアプリで動かす方法はないでしょうか。
373デフォルトの名無しさん (ブーイモ MM33-mH1L)
2019/01/21(月) 10:21:26.36ID:yj1nRareM
プロジェクト設定でany cpu になっている部分をx86にしなされ
374デフォルトの名無しさん (ワントンキン MM53-m16F)
2019/01/21(月) 11:03:04.79ID:HJdNRmJRM
>>373
ありがとうございます!
無事動作しました!
375デフォルトの名無しさん (ワッチョイ c101-drjx)
2019/01/21(月) 12:12:30.14ID:1DQQx7qk0
新規プロジェクトをVBでやりたがるPMにC#をオススメしたいのですが、C#が決定的に優れてる点はあるでしょうか?
VB読みにくいなんて言っても苦しむのはお前だろ関係ないという雰囲気で
376デフォルトの名無しさん (ワントンキン MM53-mH1L)
2019/01/21(月) 12:30:08.86ID:eMR7WidkM
ループの評価とコーディング量かな

手持ちプロジェクトをSharpDevelopで変換してみなされ
377デフォルトの名無しさん (ブーイモ MM33-0Knw)
2019/01/21(月) 12:44:54.58ID:9okmCQOjM
プログラマの品質
実際にC#使うかVB使うかはどうでもいいが、要員をC#経験者に限定することでリスクは格段に下がる
378デフォルトの名無しさん (ワッチョイ 0b7c-M6qx)
2019/01/21(月) 12:55:35.86ID:qfMy6igJ0
ネットに転がってるサンプルコードの量
(ちょっと慣れればすぐに読み替えられるようになるってのは秘密)
379デフォルトの名無しさん (スフッ Sd33-qVYT)
2019/01/21(月) 13:14:20.48ID:dccJtP51d
>>377
担当PGは決まってるんだからそんなこと言っても説得力なし
380デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/21(月) 13:48:30.91ID:NM3vIbDMa
日本人を説得するのはこれが一番
http://yellow.ribbon.to/~joke/tobikome.html

実際問題.NETの世界ではC#が標準で「みんな」が使ってる。
逆にあえて非標準のVBを使う理由って何なんですかと聞いてやればいい

もう少し合理的な人なら、ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
プロパティーのいろんな省略記法とか、C#ならいかに簡潔にかけて同じことをVBでやるといかに冗長になるか
具体例を見せてやればいいよ
381デフォルトの名無しさん (ワッチョイ 1301-HxQ/)
2019/01/21(月) 14:10:03.70ID:NbFzEAOW0
>>380
> ラムダ式とか、デリゲートのadd/removeに演算子が使えることとか、
> 三項演算子とか、null合体演算子とか、代入演算子が右辺の値を返す式であるとか、
> プロパティーのいろんな省略記法とか、
単なる印象だけど>>375のところのPMはそう言うのを嫌いそうな気がする
382デフォルトの名無しさん (アウアウエー Sa23-fAiL)
2019/01/21(月) 16:35:43.35ID:trZhU3Ina
Labelを貼って、そのTextを空白にしたらデザイン画面でクリックできなくなってしまったのですが
どうやって選択状態にしたらいいのでしょうか
383デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/21(月) 17:01:29.53ID:NM3vIbDMa
>>382
デザイナで以下のどれかの操作をする
(a) [ctrl] + z
(b) マウスでそのラベルがあったあたりをドラッグ
(c) [ctrl] + [alt] + t
(d) プロパティウィンドウの上部のドロップダウンで選択
384デフォルトの名無しさん (アウアウエー Sa23-fAiL)
2019/01/21(月) 17:54:05.53ID:trZhU3Ina
>>383
ありがとうございます
C案でやらせていただきました
385375 (ワッチョイ c101-drjx)
2019/01/21(月) 18:26:05.83ID:1DQQx7qk0
PM的にはVBのが簡単で人員の確保が容易との理由ですが、イベントリスナにクラスレスで全処理書くベテランエンジニアの意向を汲んでるんだと思います

自分はサンプルの多さとC系で無い記述に不慣れという理由でC#を希望しましたが、ベテランに寄せられるんだろうなと諦めムードです

ちなみにベテランのスマートUIは芸術の域で若輩の自分には追従不可です

コード量も多く見積りが高く出来るとPMからも信頼されています
386デフォルトの名無しさん (ワッチョイ 9300-0y6D)
2019/01/21(月) 18:37:52.16ID:PrrgsGFM0
今2019年やぞ……。
生産性を上げる技術を入れる気が無い、そのPMにはC#のメリットはメリットに見えないだろうなぁ。
ベテランは古い技術と心中できるけども……
387デフォルトの名無しさん (ワッチョイ c101-fAiL)
2019/01/21(月) 19:12:08.60ID:R3pW/ayE0
ループ内で一時変数宣言したらコストが増えるってのを知って
新しいブロック作って変数宣言してみたけどなんか見た目がすっきりしない
ループ内の変数宣言の新機能とかないのかな
388デフォルトの名無しさん (アウアウウー Sa15-Lb5M)
2019/01/21(月) 19:14:47.05ID:FhYMYDcaa
>>386
生産性って言葉は立場や状況によって指してるものが変わるんやで
389デフォルトの名無しさん (ブーイモ MM33-F2Ks)
2019/01/21(月) 19:26:17.46ID:tYy/rBPTM
ソフトウェア作れると言うとソフト作って売って大儲けできるんじゃないかと
よく言われる

世間はそういう感じで見てる
390デフォルトの名無しさん (スフッ Sd33-qVYT)
2019/01/21(月) 19:27:19.80ID:0j7Aeluod
権力持ってる人がVB推しなら決定でしょ
できることはほぼ同じだし諦めな
391デフォルトの名無しさん (ワッチョイ 3332-F2Ks)
2019/01/21(月) 19:36:49.44ID:lF845d4L0
>>387
コストが増えるってローカル変数が増える事?
初期化するスタックの増加やレジスタに乗りづらくなるとか?
さほど気にするもんでも…とりあえずAnyCPUで64bit優先オヌヌヌ
392デフォルトの名無しさん (アウアウウー Sa15-l8G4)
2019/01/21(月) 19:59:33.83ID:2/OM9doDa
>>386
意識高めても虚しいだけだよ
10年この仕事して啓蒙もしたけどなにも変わらなかった
9割5分の人材はそもそもシステム開発に興味ないから啓蒙しても無駄
転職するか割り切るかどちらかしかない
環境を変えようと思ったら負け
393デフォルトの名無しさん (ワッチョイ c101-qEqX)
2019/01/22(火) 05:26:41.64ID:1xYsQegz0
正規表現パズルやってたのか・・・参加したかった
394デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/22(火) 12:26:50.15ID:vFo5wc3/a
パズル言うほど難しい問題出てない気が...
どっちかっていうと質問自体の方がハズ(

正規表現便利だけど他人の書いたの読むのキツいよねw
しょっちゅう使ってれば違うのかもしれんが
395デフォルトの名無しさん (オイコラミネオ MMad-IImt)
2019/01/22(火) 15:21:12.16ID:pHhZylOrM
ややこい正規表現の場合
コメントで想定okパターンくらいは書くようにしてる
396デフォルトの名無しさん (オイコラミネオ MMad-IImt)
2019/01/22(火) 15:22:14.22ID:pHhZylOrM
あとテストコード入れとく場合も
397デフォルトの名無しさん (ワッチョイ 6946-Z+78)
2019/01/22(火) 17:14:18.11ID:4H8Bkb5P0
フォームアプリケーションにtrackbarを2つ用意して、
pcに接続されたモノラルマイクの音量(感度?)とパンニングをそれぞれ操作したいんですが
適当な検索ワードがわからずにたどり着けませんでした
できるだけシンプルに、どう書けば可能でしょうか?
398デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/22(火) 17:49:02.10ID:vFo5wc3/a
ググったらこんなのが出てきた
読んでないけどなんかすごい面倒くさそう...
https://web.archive.org/web/20060712054058/http://www.terra.dti.ne.jp/~vivas/delphi/mixerapi.html
399デフォルトの名無しさん (ワッチョイ 6963-fAiL)
2019/01/22(火) 18:36:37.95ID:NN+MTXVc0
質問です
ファイルの移動を扱う自作メソッドの結果を扱うクラス(Aとする)を作りました
このクラスに
class A{
...
public static A Output_IsCanceled(string 元のファイル) {
//引数を受けて動作をキャンセルしたことを示す結果を返す。
}
}

のように典型的な結果を出力するメソッドを追加したのですが、
このAを継承したクラスBにこのメソッドもこのメソッドを上書きしたメソッドも実装させたくありません。
なにかスマートな解決方法はあるでしょうか。

私には大人しく別のクラスに移すくらいしか思いつかないのですが。
400デフォルトの名無しさん (ワッチョイ eb7b-d3bv)
2019/01/22(火) 18:49:41.50ID:P5rqpQdz0
>>399
そのメソッドを外したクラスを作ってクラスAとクラスBに継承させる
401デフォルトの名無しさん (ワッチョイ f308-wEuP)
2019/01/22(火) 18:49:53.30ID:lqDMGVH00
親作って別々に継承
402デフォルトの名無しさん (ワッチョイ 6963-fAiL)
2019/01/22(火) 19:00:35.92ID:NN+MTXVc0
なるほど 言われてみれば簡単でしたね
ありがとうございます
403デフォルトの名無しさん (ワッチョイ 21e5-zveU)
2019/01/22(火) 22:12:29.98ID:ttdon+q40
object型の変数に入れた匿名クラスのプロパティを取得する方法で
詰まっております。

object hoge = new { fuga = 1 };
int a = hoge.fuga ←こういうイメージで取得したかったのですが。。。

ご教授よろしくお願いいたします。
404デフォルトの名無しさん (ワッチョイ 13ad-Q5Or)
2019/01/22(火) 22:19:56.81ID:bu0N7pF20
>>403
なんでそんなことしたいの?
405デフォルトの名無しさん (ワッチョイ 21e5-zveU)
2019/01/22(火) 22:25:46.51ID:ttdon+q40
>>404
Dapperの引数がobject型だったのですが、Dapperに渡す前の
匿名クラスのプロパティの値を元に一つ条件式を作りたかったんです
object型の匿名クラスからどうやって値を取るのか興味もありまして
406デフォルトの名無しさん (アウアウエー Sa23-/e0v)
2019/01/22(火) 22:26:33.77ID:qwoCd5dDa
ほら宇宙刑事ギャバンの必殺技みたいなあれだよ
407デフォルトの名無しさん (アウアウエー Sa23-0Knw)
2019/01/22(火) 22:39:23.63ID:g3EQ5hiYa
>>405
無理
渡す先の引数がobject型だからって変数の型をそれに合わせる必要はないだろ
var使えよ
408デフォルトの名無しさん (ワッチョイ 495f-zveU)
2019/01/22(火) 22:41:18.57ID:0fUOX4Xc0
>>403
リフレクションを使った力業
var a = ( int )hoge.GetType().GetProperty( "fuga" ).GetValue( hoge );
409デフォルトの名無しさん (ワッチョイ 2961-G1wx)
2019/01/22(火) 22:45:23.28ID:UB+BgHs40
>>403
int a = ((dynamic)hoge).fuga;
てしたら取れた。なおインテリセンスはきかない。
410デフォルトの名無しさん (ワッチョイ 512d-qnWR)
2019/01/22(火) 22:47:54.29ID:N3agGC610
>>409
これは全く頭になかったわ
411デフォルトの名無しさん (ワッチョイ 21e5-zveU)
2019/01/22(火) 23:01:01.54ID:ttdon+q40
>>409
値が取れました。ありがとうございます。
結構トリッキーになるみたいなので
多用は避けた方が無難かと学びました

しかし、Dappreはさらにプロパティ自体も自前で取得するので
手練れの外人は違うなと
412デフォルトの名無しさん (ワッチョイ 495f-zveU)
2019/01/22(火) 23:21:33.35ID:0fUOX4Xc0
>>411
Type.GetProperties()でプロパティの一覧が取得出来るよ。
foreach ( var propertyInfo in hoge.GetType().GetProperties() )
{
var value = propertyInfo.GetValue( hoge );
Debug.WriteLine( $"{propertyInfo.Name}={value}" );
}
413デフォルトの名無しさん (ワッチョイ 21e5-zveU)
2019/01/22(火) 23:32:00.27ID:ttdon+q40
>>412
なるほどそうやるのですね
知らないことが多いので参考になります
414デフォルトの名無しさん (ワッチョイ 2961-r1Xg)
2019/01/23(水) 00:01:29.03ID:n+ibBTmv0
Androidの実機持って無いんだけど、もし、完成したC#のアプリが有った場合、
DownLoad から、実行まではどうすればいい?
.Net のインストールから始まるの?
C#アプリはGooglePly からDLするの? それとも自前のWebサイト?
415デフォルトの名無しさん (ワッチョイ f1da-qnWR)
2019/01/23(水) 03:41:42.64ID:g/jeFpr60
WPFって、最初のGUIデザインはデザイナで出来ますが、ユーザーの入力に応じてGUIを変化させたい場合
(例えば、テキストボックスに3と入力したらラベルを3つ追加するとかの場合)
xamlではなくC#のソースコードでコントロール追加せざるを得ないのでしょうか?
416デフォルトの名無しさん (ワッチョイ 13ad-Q5Or)
2019/01/23(水) 04:35:34.67ID:OkP0wizv0
>>411
匿名クラス使わなきゃいいやん
417デフォルトの名無しさん (ドコグロ MMed-sCe6)
2019/01/23(水) 07:17:48.93ID:bZ1m5CuBM
>>415
wpf xaml 条件分岐
でググレ
418デフォルトの名無しさん (アウアウエー Sa23-0Knw)
2019/01/23(水) 08:30:39.69ID:YOQQL4jNa
>>415
よく考えよう
その例の場合、お前はコントロールを追加したいんじゃなくて表示対象の文字列を増やしたいんだろ?
C#からは「表示対象の文字列を追加する」操作だけをして、コントロールを追加するのはバインディングに任せるのがWPFの思想だ
>>417は間違いで、ググるべきキーワードは DataTemplate
コレクションに文字列を追加するだけで勝手にコントロールが追加されるようになる
419デフォルトの名無しさん (アウアウエー Sa23-0Knw)
2019/01/23(水) 08:36:51.99ID:YOQQL4jNa
ちなみにWebなら上記のようなまどろっこしいことをしなくてもRazorテンプレートの中に直接forループを記述するだけだ
WPFの難解なバインディングは概念ばかりが先行してユーザーを置き去りにする典型的なMSの失敗作
420デフォルトの名無しさん (ワッチョイ 1342-G1wx)
2019/01/23(水) 09:43:36.18ID:qi0lTRAT0
上の人はワケワカラン書き方しているが、wpfではListBoxのItemは自由にかけるから、そこにLabelを配置して追加削除をやるってのが定番ね
421デフォルトの名無しさん (ブーイモ MMeb-0Knw)
2019/01/23(水) 09:47:33.21ID:NxchbiGLM
>>420
間違い
Itemsには文字列のコレクションをバインドする
でItemsTemplateでDataTemplateを適用させてLabelを生成させる
422デフォルトの名無しさん (ワッチョイ eb2c-AZji)
2019/01/23(水) 11:55:57.45ID:tAarVqiS0
WPF は知らないけど、一般的に、JavaScript の状態管理なら、

Vue.js, Nuxt.js など、状態管理用のフレームワークを使う
423デフォルトの名無しさん (オッペケ Sr1d-M666)
2019/01/23(水) 12:40:46.32ID:x96ZzLYOr
ここは今からjavascriptのスレになりました
424デフォルトの名無しさん (スフッ Sd33-dZUJ)
2019/01/23(水) 14:43:06.09ID:PhLCwjBwd
>>422
ウゼーーーー
425デフォルトの名無しさん (ワッチョイ c101-drjx)
2019/01/23(水) 17:42:05.37ID:yPNynzM60
最近、業務システムはデータベースとデータ操作言語が8割でC#はさほど重要じゃないんじゃ。。。

と疑うようになってきました

C#が主役の開発って、ゲームくらいですかね
426デフォルトの名無しさん (ワッチョイ 2961-TTNp)
2019/01/23(水) 17:50:21.87ID:qdiHHHQi0
>>425
それも統計に嘘がある可能性あり。以下、各社各様、自分に都合の良いことを行っている:

一般人:「Androidのアプリの大部分は Java である」
Unity:「百万種類以上あるゲームアプリの半数が Unity(C#)製である」
Adobe:「Flash製ゲームが、100万種類を超えた。」
日本人:「日本の歴代で一番売れたゲームは、Final Fantasy xx で、700万本(売り上げにして500億円程度)」
外人:「MineCraft というゲームの売り上げが一兆円越えた。」
427デフォルトの名無しさん (ワッチョイ 2961-r1Xg)
2019/01/23(水) 19:31:40.08ID:qdiHHHQi0
誤: 外人:「MineCraft というゲームの売り上げが一兆円越えた。」
正: 外人:「MineCraft というゲームの売り上げ本数が一億本越えた。」

Flash に関しては、「one million games」みたいな言葉を使って、
Adobe が「自慢」していたんだそうだ。
428デフォルトの名無しさん (アウアウウー Sa15-l8G4)
2019/01/23(水) 20:40:29.23ID:2LIdCPNFa
>>425
ミクロサービス開発するとデータベース殆ど触らなくなる
EF便利
429デフォルトの名無しさん (ワッチョイ 2961-qnWR)
2019/01/23(水) 21:24:52.01ID:xzA+L1aD0
SQL手書き最高ひゃっはp
430デフォルトの名無しさん (ワッチョイ 134f-m9BR)
2019/01/23(水) 22:51:20.49ID:xSBZbPpe0
C#のデバッグ画面の診断ツールについて質問です

メモリ使用量のプロファイルはデフォルトで無効だと思うんですが、いつの間にかクリックしてしまって
有効になったまま無効に戻せません

VCの場合はクリックすると元に戻す出来る場所があるのですが

レジストリをいじらないと駄目なんでしょうか?
431デフォルトの名無しさん (ワッチョイ be7c-mcSo)
2019/01/24(木) 18:07:50.56ID:+k418LkV0
とりあえずVisual Studio Community 2017だと
診断ツールウィンドウの左上の歯車クリックで出るドロップダウンの
メモリ使用量のチェック外したら次のデバッグから消える
つかデフォルト有効じゃなかったっけ オンにした記憶ないし
432デフォルトの名無しさん (ワッチョイ e12d-L3L3)
2019/01/24(木) 22:08:23.88ID:nbtsb27b0
C#の話じゃないのかもわかんないけど、ちょくちょく出てくる「コンテキスト」ってのが何者なのか未だに理解できん
プログラムの単位で!?処理の中断・継続等を担ってる!?!?とかなんとか説明されてるけど意味がわからん
こいつは一体どういうもんなんじゃい?
433デフォルトの名無しさん (ワッチョイ 2e7b-hIZr)
2019/01/24(木) 22:17:59.01ID:Io4qrCW00
>>432
何年もC#使っているけど「コンテキストメニュー」しかわからん
またJavaの話じゃないだろうな
434デフォルトの名無しさん (ワッチョイ e12d-L3L3)
2019/01/24(木) 22:23:04.95ID:nbtsb27b0
>>433
ASP.NETでもEFでもXamarinでのモバイル開発でも、何しててもコンテキストが出て来まくるじゃない
435デフォルトの名無しさん (ワッチョイ 4de3-cDLG)
2019/01/24(木) 22:34:05.54ID:KQvEosKo0
>>432
「文脈」という意味で、例えば、Graphic の Context の場合なら、
・現在の foreground color
・現在の background color
・現在の font
・「カレント座標」 (MoveTo() などで設定する LintTo() の開始座標)
・現在の Clipping 領域。
・現在の 原点の位置。

などを記録しているオブジェクトのようなこと。だから、もし、同じ
Window に対して 2つの Graphic Context を持てば、それぞれで別々の
カレント座標や、foreground color、Clipping Region を持つことが
できて、瞬時に切り替えたりできる。これが、Win32 の Device Context
に相当する。

---------------------------------------
CPU の Cotext の場合、IA32BIT の場合なら、
汎用レジスタ: EAX, EBX, ECX, EDX, ESI, EDI、EBP
命令ポインタ: EIP
スタックポインタ: ESP
フラグ: EFALGS
セグメントレジスタ: CS, DS, ES, FS, GS
浮動小数点レジスタ: ST0〜ST7

などが該当する。この Context を細かく時間を区切って切り替えることで、
MultiTask が実現できる。MultiCore CPU の場合は、それぞれの Core が
別々の Context を同時に持っていることになる。
436デフォルトの名無しさん (ワッチョイ 4d61-cDLG)
2019/01/24(木) 22:36:47.07ID:/05KE7l40
>>435
ただし、JS の canvas の context は、1つの canvas に対しては、1つしか
持つことが出来ないとされており、
var ctx1 = canvas.getContext("2D");
var ctx2 = canvas.getContext("2D");
のようにしても、ctx1 と ctx2 は同じ値が返ってくることになっているらしい。
437デフォルトの名無しさん (ワッチョイ 4d61-cDLG)
2019/01/24(木) 22:38:30.97ID:/05KE7l40
>>435
誤:CPU の Cotext の場合、IA32BIT の場合なら、
正:CPU の Context の場合、IA32 の場合なら、
438デフォルトの名無しさん (ワッチョイ e12d-L3L3)
2019/01/24(木) 23:11:19.24ID:nbtsb27b0
ふえるわけわかめ
439デフォルトの名無しさん (アウアウウー Saa5-8lqb)
2019/01/24(木) 23:34:17.52ID:9ks/14Qta
>>432
コンテキストの意味はコンテキストに依存するのでまずはどんなコンテキストで話してるのかはっきりしてくれ
440デフォルトの名無しさん (ワッチョイ 2247-tqWF)
2019/01/24(木) 23:41:41.55ID:ykheMFGu0
Xamarinって言ってるからAndroidのContextクラスもありそう
441デフォルトの名無しさん (ワッチョイ 4d61-cDLG)
2019/01/25(金) 06:33:11.37ID:58XK3b4v0
>>438
紙に絵を書く場合に、色んな筆に予め色を載せておいて、必要なときにすぐに
目的の筆を選べるようにしておくと便利。その筆が context。
これだけだと単なる「brush」に過ぎないという突っ込みも有り得る。
実際のcontextは筆だけでなく、場所まで覚えてくれていたりする。
442デフォルトの名無しさん (ワッチョイ adda-MRcG)
2019/01/25(金) 08:19:04.26ID:VVNAHEZ90
DCの話し?
443デフォルトの名無しさん (ワッチョイ 4d61-cDLG)
2019/01/25(金) 08:57:13.43ID:58XK3b4v0
>>442
まあ、そうなんだけど、プログラミングにおける「context」というのは、
HDC と大体似たようなニュアンスを持ってると思う。
444デフォルトの名無しさん (ワッチョイ 4d61-cDLG)
2019/01/25(金) 09:01:53.98ID:58XK3b4v0
日本語で、「この文脈では」「文脈をわきまえて」というものがあるけど、
直前に直線の描画を終えたばかりの「最後の座標」を覚える、っていうのが
それに近い。最後に使った色を今後も使う、最後に使った座標から、
また、直線を描き始める・・・。

お葬式では暗い顔して暗い服を着る、結婚式では明るい顔する・・・。
悪いニュースは暗い顔で読み、良いニュースは楽しそうに読む・・・。
それが文脈、context。
445デフォルトの名無しさん (ワッチョイ 4d61-cDLG)
2019/01/25(金) 09:13:33.36ID:58XK3b4v0
それはそうと、.Netで書かれてるらしい MasterSeeker.exe と HNXgrep.exe
がWin7で劇遅になった。特に起動。XPではとても快適だったのに。
起動速度が多分、3〜5倍くらいになった気がする。

Win32/MFCで書かれたアプリでは経験したことの無い現象だと思う。
446デフォルトの名無しさん (アウアウエー Sa4a-QJWZ)
2019/01/25(金) 12:14:00.12ID:qfUC5qIOa
>>432
そんなこと考えても時間の無駄。
contextの意味もcontext依存だから。
その文脈でどういう意味で使われてるか読み取るしかない。
英語ってそういう言葉でしょ?

コンピュータプログラムのcode、暗号のcode、符号のcode、
これらから還元してcodeが何を意味してるのか考えても意味ないのと同じ
447デフォルトの名無しさん (スッップ Sd62-L6gA)
2019/01/25(金) 12:55:33.13ID:YHYKY/Dsd
fixtureもピンとこなかった
448デフォルトの名無しさん (ワッチョイ c6da-uJAn)
2019/01/25(金) 14:04:22.53ID:HDgzt9Ph0
管理者権限を必要としないで動作するソフトを作成しました、。
仮にバグがあったとして、そのバグを突かれて攻撃された場合に権限昇格等の事態は発生しますか?
449デフォルトの名無しさん (ワッチョイ e9d4-h/iE)
2019/01/25(金) 14:31:21.79ID:NjeEwFLO0
アプリケーション1とアプリケーション2の間でメッセージをやり取りする必要が出てきたので、SendMessageを使ってもう一方のテキストボックスに
メッセージを送り、TextChangedのイベントで受け取りを判断するようにしました。
ところが、アプリケーション1→2は成功するのに、2→1はうまく動作してくれません
(テキストボックスに送られたメッセージは表示されますが、テキストボックスがChangeしたとは判断されていないようです)。

原因がわかる方いらっしゃったら教えてください。
450デフォルトの名無しさん (ワッチョイ 8201-tKkQ)
2019/01/25(金) 16:06:37.52ID:ihVRaCqt0
formにフォーカスしたときにスペースキーを押すとkeydownで拾って処理ということをやってるけど
スペースを押すタイミングでform内のチェックボックスがチェックされたり消したりするけど止めることは出来ますか?
ヒントを教えてください。
451デフォルトの名無しさん (ワッチョイ adda-MRcG)
2019/01/25(金) 16:24:22.19ID:VVNAHEZ90
メッセージ捨てている?
452デフォルトの名無しさん (ブーイモ MMb6-awm2)
2019/01/25(金) 16:35:10.05ID:cY+a6SZrM
>>448
所詮ローカルアプリだろ?
そんなもんにセキュリティの考慮なんぞ要らん
正当なユーザーに悪意があれば自分のPCの権限制御なんぞどうとでもなるし、
権限のない第三者が悪戯できない程度には今のWindowsのセキュリティは堅固だ
453デフォルトの名無しさん (アウアウウー Saa5-8lqb)
2019/01/25(金) 19:10:00.05ID:+fHR2Vfoa
>>449
MQ使っちゃいなよ
454デフォルトの名無しさん (ラクッペ MM61-AmhU)
2019/01/25(金) 20:12:53.90ID:GQtzdg+pM
>>452
ClickOnce…一般ユーザーがインストール…悪意があったら…

うっ…頭が
455デフォルトの名無しさん (ワッチョイ 4d61-5MYi)
2019/01/25(金) 20:21:06.45ID:9dAxHT9C0
ClickOnceはホリエモンが作ったらしいで
456デフォルトの名無しさん (オッペケ Srf1-ZdbU)
2019/01/25(金) 21:40:49.02ID:lgKiVxcFr
ホリエモンは天才だからな
457デフォルトの名無しさん (ワッチョイ adda-MRcG)
2019/01/25(金) 21:50:17.27ID:VVNAHEZ90
Microsoftで仕事していたの?
458デフォルトの名無しさん (ワッチョイ 2e7b-hIZr)
2019/01/25(金) 22:02:24.78ID:RIyzEPA40
>>450
・KeyDown用のコントロールを設定しForm全体でキーを受けるのをやめる
・別のコントロールに常にフォーカスが当たるようにする
 具体的にはクリックイベントやForm.Shownのイベントメソッドを全部作ってControl.Select()かControl.Focus()を入れる
・Formからチェックボックスを無くす
下に行くほど下策。他にもあるだろうけど他の人に任せる
459デフォルトの名無しさん (アウアウエー Sa4a-QJWZ)
2019/01/25(金) 22:36:20.38ID:0+JzU8ara
>>450
基本的にはそれあなたの仕様そのものがバグってる。
WindowsのUIのお約束に反するようなUIを作ったらあかん。
どうしてもならSetStyleを呼んでCheckBoxが入力フォーカスを持たないようにするのが筋だと思う。
460デフォルトの名無しさん (ワッチョイ 8201-tKkQ)
2019/01/26(土) 09:41:45.11ID:0YlzP7hG0
>>458 >>459
フォーカスを何とかすることを考えます。とても為になりました。ありがとうございました。
461デフォルトの名無しさん (ワッチョイ 428f-iVxn)
2019/01/28(月) 16:07:38.67ID:4O8CfcWu0
>>449
こういう名前付きパイプとかいうのは使えないの?
https://docs.microsoft.com/ja-jp/dotnet/standard/io/how-to-use-named-pipes-for-network-interprocess-communication
462デフォルトの名無しさん (ワイーワ2 FF8a-L3L3)
2019/01/28(月) 16:43:45.23ID:ji//xT0NF
TCPsocketとか使う
463デフォルトの名無しさん (ワッチョイ 5902-beQY)
2019/01/29(火) 18:28:09.44ID:lSFWGay90
質問です
100msとかの短い間隔で繰り返す場合、
Systems.Timers.Timerを使って処理を繰り返すのと
while中にSleepかTask.Delayで間隔をとって繰り返すのとでは
どっちが処理がはやくて負荷が少ないですか?

またそれぞれのメリット・デメリットがあれば教えて欲しいです
464デフォルトの名無しさん (アウアウウー Saa5-h/iE)
2019/01/29(火) 18:32:52.89ID:KZd0CVbOa
回答待つ間にやってみたらいい
465L (ワッチョイ 4d61-cDLG)
2019/01/29(火) 18:47:23.89ID:8rAEnTT80
>>463
Sleep() 自体はそんなに積極的に使うべきものではない。ただし、
「逐次処理」で書いたほうが書きやすいような場合に使うと便利
な場合がある。例えば、単なる繰り返しではない、以下のように順にコードを
実行していくような場合:
(処理1)
(何かのフラグが変化するか、または単に時間が経つまで待機)
(処理2)
(何かのフラグが変化するか、または単に時間が経つまで待機)
(処理3)
・・・

ここで、処理1、処理2・・・の内容がほとんど同じような場合は、Timer を
使うべきだが全く違うようなものが10個も並ぶような場合だったら、Sleep()
を使うと楽。

SetEvent() などの同期オブジェクトを待つ WaitForSingleObject() などがサポート
されてない環境において、何かのフラグが立つのをポーリングして待たざるを得ない
ような時に、間に何も「はさまない」でループするとCPUがフルパワー状態で回って
しまって電気の無駄使いになるのが、Sleep() を「はさむ」と、Sleep()に指定する
待ち時間がたとえ短時間であっても、Sleep() の中で待ってる間は CPU が HLT 状態
になるので、電力消費を劇的に抑えることが出来る。
WaitForSingleObject() などが存在する環境では、Sleep() は余り使わないで良い。
466デフォルトの名無しさん (ワッチョイ 317b-S0HC)
2019/01/29(火) 18:47:44.92ID:aKVTslCz0
>>463
役割が全部違う
Sleep
指定時間の間は同じスレッドでのGUI等の入力が停止する
Sleep/Task.Delay
(実行後に)確実に指定した時間が停止する
Timer
指定した間隔で実行される
467デフォルトの名無しさん (ワッチョイ 4d61-cDLG)
2019/01/29(火) 18:59:35.28ID:8rAEnTT80
【参考】
Sleep() の意味は、待つときに、HLT 命令を使うこと。HLT 命令は、特権命令なので
ユーザーランド(一般アプリ)のプロセスでは実行できないため、OSのAPIで実行して
貰うしかない。なお、マルチタスクOSで、HLT 命令を実行すると、他のプロセスに実行が
移ることが多い。

多くのアーキテクチャに置いて、HLT 命令は、「busy wait」で待つよりも、
劇的に電力消費と熱の発生を抑えることが出来る:

https://en.wikipedia.org/wiki/HLT_(x86_instruction)

Almost every modern processor instruction set includes an instruction or
sleep mode which halts the processor until more work needs to be done.
In interrupt-driven processors, this instruction halts the CPU until an
external interrupt is received. On most architectures, executing such
an instruction allows the processor to significantly reduce its power
usage and heat output, which is why it is commonly used instead of
busy waiting for sleeping and idling.
468デフォルトの名無しさん (アウアウエー Sa4a-QJWZ)
2019/01/29(火) 19:19:24.76ID:BTNuwc+5a
>>463
どっちにしろそんな違いがプログラムのパフォーマンスに影響なんかしないw
そもそも可読性よりパフォーマンスを優先する時代じゃない。
つまりより可読的な方法を選択すべき。

一定間隔で処理を繰り返すなら普通はタイマーを使った方が可読的でしょう、
繰り返し終了後に別の処理を継続させたい、みたいな事情があればあえてループ(つまりSleep)を
選択する場合もあるかもしれない
469デフォルトの名無しさん (ワッチョイ 5902-beQY)
2019/01/29(火) 20:17:02.92ID:lSFWGay90
>>465-468
みなさまありがとうございます。
特にSleepの解説は勉強になりました。

パフォーマンスも特に影響無いようで、
一定間隔で処理するのでTimerを利用することにします。
470デフォルトの名無しさん (アウアウエー Sa4a-uJAn)
2019/01/29(火) 21:31:43.87ID:ftdCQ0WJa
this.Close()でアプリを終了させた時、
デバッグモードだとProgram.csの方でエラーが表示されますがこれは気にしなくていいエラーでしょうか?
471デフォルトの名無しさん (ワッチョイ 067d-HSeC)
2019/01/29(火) 22:05:21.74ID:JPJ1HyJa0
気にしなはれ
472デフォルトの名無しさん (ワッチョイ 2ef2-aSpO)
2019/01/30(水) 01:49:16.67ID:DZ6eQREq0
WinFormsのデスクトップアプリでVSyncを待つコードを教えてください
Unityなとのフレームワークやゲームエンジ、DirectXラッパーを
使うことは許されていません
473デフォルトの名無しさん (ブーイモ MM62-MRcG)
2019/01/30(水) 04:02:46.09ID:/8sJMxSkM
>>472
無理に100ペリカ
474デフォルトの名無しさん (ワッチョイ ed0c-wD8z)
2019/01/30(水) 07:29:11.42ID:foE0k69S0
>>472
P/Invoke禁止とは言われてないのだな

ではD3DKMTWaitForVerticalBlankEventを使いましょう
名前はD3Dとありますがgdi32にある関数なのでDirectXではないと
糞ルールを決めた上司に主張しましょう
475デフォルトの名無しさん (ワッチョイ 49e3-wD8z)
2019/01/30(水) 08:12:13.35ID:/B2wAYnE0
>>468
可読性という理由でラムダ式の表記禁止して5,6段のネストは許されている俺社
476デフォルトの名無しさん (アウアウウー Saa5-8lqb)
2019/01/30(水) 08:37:51.08ID:/+A/bmbGa
可読性も人それぞれ
477デフォルトの名無しさん (スップ Sd62-OaRE)
2019/01/30(水) 08:46:16.74ID:hYqQd3E1d
あるフォルダ(A)内に不定期に作成されるファイルを、ローカルのフォルダ(B)に一定間隔でコピーします(フォルダ内全てではなく、前回からの差分ファイルをコピー)。

今回コピーしたファイルを使って後続処理をしたいのですが、どのようにしたら今回コピーしたファイルだと判別できますか?ファイル名にはタイムスタンプが入っています。
コピー後にA内のファイルを削除などできず、コピーのみ可能です。
478デフォルトの名無しさん (アウアウウー Saa5-8lqb)
2019/01/30(水) 08:49:12.12ID:/+A/bmbGa
>>477
データベースにヒストリを保存すればよろしいかと
479デフォルトの名無しさん (アウアウエー Sa4a-awm2)
2019/01/30(水) 09:59:39.11ID:E37rjQ75a
>>477
別のフォルダに "<ファイル名>.trigger" みたいな一時ファイルを作って処理後に消せばいい
480デフォルトの名無しさん (スップ Sd62-OaRE)
2019/01/30(水) 18:35:51.42ID:hYqQd3E1d
>>477
ありがとうございます。
コピー済みのファイル名をDBに保存しておき、そこにないファイルは新規ファイルとして処理する。
こんな判断になりそうです。
481デフォルトの名無しさん (ワッチョイ ffa7-3MXZ)
2019/01/31(木) 15:06:18.62ID:k6O3ixIF0
Unsafe.の質問ってここじゃ不適切だよね
と言ってもここ以外にまともなC#スレはないようだけど
482デフォルトの名無しさん (ワッチョイ ff7c-r1Iy)
2019/01/31(木) 16:28:47.69ID:wgv6NCGX0
相談室スレでもいいよ 多分回答者はこのスレと共通だけど
483デフォルトの名無しさん (ワッチョイ 7f2d-V2CY)
2019/01/31(木) 17:28:39.66ID:hO+r/SI90
Dictionary 型の自動ってないですか。

とあるキーに対してInsert/Updateするとき、
いちいち ContainKeys してから Add するかしないか、ってのがイケてないと思うのですが

dicHoge["Key"] = "hoge";

ってしたとき、Key がなかったら Add して、あったら値を差し替える、みたいな動きする標準クラスないですか?
484デフォルトの名無しさん (ワッチョイ 7fa5-qf6r)
2019/01/31(木) 17:42:31.36ID:06DUsvP/0
何の話?
485デフォルトの名無しさん (ブーイモ MM23-dUTh)
2019/01/31(木) 17:44:45.57ID:KzsKuKr5M
>>483
ConcurrentDictionaryのTryAddとかTryUpdateとか
486デフォルトの名無しさん (アウアウエー Sa7f-dgou)
2019/01/31(木) 17:46:25.97ID:+2lIT2P6a
>>483
自動って表現が新しいw

確かにそんなメソッドがあってもよさそうだけど、
たぶん分かりやすい命名がしづらい割には単純にRemove後のAddで
実現できちゃうから用意されてないんじゃないかなと想像
487デフォルトの名無しさん (スプッッ Sd1f-AlU0)
2019/01/31(木) 18:07:55.31ID:zfSfgMG3d
多分無いのかな?
「dictionary 拡張」で調べると拡張コードが出てくるからこの辺りから必要なのコピペして関数増やした方が早いかも
488デフォルトの名無しさん (ワッチョイ 7fa5-qf6r)
2019/01/31(木) 18:34:02.36ID:wmh3wxbj0
dicHoge["Key"] = "hoge";
これの何がダメなの?
489デフォルトの名無しさん (ワッチョイ ff2c-ebk0)
2019/01/31(木) 19:16:07.42ID:Is8hbjin0
>>483
> dicHoge["Key"] = "hoge";
> ってしたとき、Key がなかったら Add して、あったら値を差し替える、みたいな動きする標準クラスないですか?
Dictionary<TKey, TValue>はまさにその挙動だが
490デフォルトの名無しさん (ワッチョイ 5fda-vS77)
2019/01/31(木) 19:16:34.95ID:nQoHUWUF0
何か別の言語と勘違いしてんのかな
C++のmapみたいに存在しないキーにアクセスしたら自動的に初期値が入ればいいなと思ったことはある

var d = new Dictionary<string, int>();
d["a"]++;

こういうのできたら楽
491デフォルトの名無しさん (ブーイモ MM9f-i9IT)
2019/01/31(木) 21:30:37.03ID:yHmpMqGVM
>>483
var
492デフォルトの名無しさん (ワッチョイ ff7d-spAq)
2019/01/31(木) 21:46:52.01ID:2xzbyMOq0
hashset
493デフォルトの名無しさん (ササクッテロレ Spb3-MXrN)
2019/02/01(金) 00:06:39.55ID:1o0umz0dp
拡張メソッド作ればええんちゃうか
494デフォルトの名無しさん (ワッチョイ dfd2-O2h2)
2019/02/01(金) 00:37:05.77ID:SfS6VrgI0
そーいえば、ちょっと便利な Dictionary を作りたくて、これの完全ラッパーなクラスを作ったことあったな。
いまから考えれば無駄な労力だと思うが。w
495デフォルトの名無しさん (ワッチョイ 5f0c-vS77)
2019/02/01(金) 00:46:34.52ID:Lo/lI1+50
そんでDictionaryのインデクサが要求そのまんまの挙動であることについてはどういう見解なのだ
なんでそんな質問したんだ
気になるだろ
496デフォルトの名無しさん (ワッチョイ ffa7-3MXZ)
2019/02/01(金) 01:27:01.49ID:Melu7CRC0
.Addメソッドも存在してるから
初見だと[]=valueがAddOrUpdateだとは思えないのはまぁ分かる
497デフォルトの名無しさん (ワッチョイ 5f5f-BT/j)
2019/02/01(金) 03:22:41.97ID:V0cnsy7O0
質問する前にちょこっと作って見ればすぐ分かるのに
498デフォルトの名無しさん (ワッチョイ fff2-vS77)
2019/02/01(金) 12:54:05.03ID:hIHuQnKx0
>>474
ありがとうございます
D3DKMTWaitForVerticalBlankEvent に渡す
D3DKMT_WAITFORVERTICALBLANKEVENT の
以下の3つはどのように取得すればよいのでしょうか
D3DKMT_HANDLE hAdapter;
D3DKMT_HANDLE hDevice;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
499デフォルトの名無しさん (ワッチョイ 7f2d-V2CY)
2019/02/01(金) 17:55:46.18ID:mF+gwDus0
var dicHoge = new Dictionary<string, string>();
dicHoge["Key"] = "hoge";

って、いきなり出来ちゃうんですか。
ダメと思って試しもしなかったです。
500デフォルトの名無しさん (ブーイモ MM9f-3dyC)
2019/02/01(金) 18:45:15.00ID:9eIyz51RM
System.Data.DataTable なんて使ったら悶絶しちゃうかもな
501デフォルトの名無しさん (ワッチョイ 5f0c-vS77)
2019/02/01(金) 19:27:14.70ID:Lo/lI1+50
>>498
そのくらい自分でぐぐって調べろ
と突き放そうと思ったけど要望そのまんまのコードが出てきたのでまあええわ

https://github.com/fuse-open/fuse-studio/blob/master/Source/Fusion/Windows/VerticalSynchronization.cs

素直にIDXGIOutput::WaitForVBlank辺り使った方が良いと思うけどネ
502デフォルトの名無しさん (ドコグロ MM7f-vGUq)
2019/02/03(日) 12:37:02.16ID:ZxPovaO5M
>>495
俺も最近似たようなもんが欲しくなったときがある

・重複したときに別の処理が必要
・登録した順番が重要

ってときにDictionary自体使わんで
KeyValuePairのListばっかり使うようになった
つーのはログの出力まで出したいときに登録した順に出したいから
ログ出力するもんにはDictionary使わなくなった
503デフォルトの名無しさん (ワッチョイ ff79-5lWN)
2019/02/03(日) 15:42:40.54ID:jpAIKS8U0
ログ取ってるなら逆にDicで困らんと思うけど
504デフォルトの名無しさん (ワッチョイ 5f61-vGUq)
2019/02/03(日) 15:49:56.24ID:IKDI2S7C0
>>503
入れたときじゃなくて別のタイミングで出したい
順番に保証がないと困る
って場面
505デフォルトの名無しさん (ワッチョイ 5f17-vS77)
2019/02/03(日) 15:58:01.30ID:7GVwTPrN0
ログ出力する時に並び替えるだけで済むのでは?
506デフォルトの名無しさん (ワッチョイ 5f61-vGUq)
2019/02/03(日) 16:04:15.94ID:IKDI2S7C0
>>505
どうやって?
507デフォルトの名無しさん (ワッチョイ 7f2f-t8y0)
2019/02/03(日) 16:18:53.59ID:LOT7/zBp0
つかそれKeyは何なんだよ
それがキー項目である必要あるのか?
508デフォルトの名無しさん (アウアウウー Saa3-LWaQ)
2019/02/03(日) 17:01:46.98ID:cLU3XamPa
>>504

dict[key] = value;
mySpecialLogger.Log($"dictに追加したぞ: {key}, {value}");

----

mySpecialLogger.Flush();
509デフォルトの名無しさん (ドコグロ MM63-45Wg)
2019/02/03(日) 17:56:25.94ID:EhLznF4nM
SortedListやSortedDictionaryでいいだろ
510デフォルトの名無しさん (ワッチョイ 5f90-qbk3)
2019/02/03(日) 19:21:16.88ID:ZOlWRYsg0
登録順ならOrderedDictionary
511デフォルトの名無しさん (ワッチョイ fff2-vS77)
2019/02/04(月) 11:39:31.27ID:2YxD3k7B0
>>501
できました、ありがとうございました
IDXGIOutput::WaitForVBlankは呼び出すまでがよくわからないし
P/Invokeだけでできるのかもわからないのでやめておきます
512デフォルトの名無しさん (アウアウエー Sa7f-S1Ul)
2019/02/04(月) 13:36:44.96ID:AKeTBC2ia
ReadOnly=trueのテキストボックスをクリックしてしまった時に
フォーカス映ってカーソルがチカチカしないようにしたいのですがプロパティ上で設定できないのでしょうか?
513デフォルトの名無しさん (ワッチョイ ff7c-r1Iy)
2019/02/04(月) 13:48:21.68ID:B1LZYLJj0
GotFocusのたびにWindowsAPIのHideCaretの呼び出しが必要じゃないかな
514デフォルトの名無しさん (アウアウエー Sa7f-dgou)
2019/02/04(月) 14:07:22.27ID:/rUNKcNUa
>>512
コピーを想定してそうなってるので、TextBoxを使うならその仕様は買えない方がよいのでは。
コピーなんかできなくてもいいなら素直にLabelを使いましょう。
BorderStyleやBackColorをいじればTextBoxに近い外見にも出来る
515デフォルトの名無しさん (アウアウエー Sa7f-S1Ul)
2019/02/04(月) 15:54:30.95ID:AKeTBC2ia
テキストボックスの上に後付けでボタン配置したので、ポインタずれて押しそこなった時にそんな感じになってしまったのです
まあ動作的にはなんの問題もないのではあるけど>>513のイベントハンドラ作ってみます
ありがとうございました
516デフォルトの名無しさん (ワッチョイ 7f4b-ordn)
2019/02/05(火) 08:55:05.54ID:3J1ruy+d0
rar5をオンメモリで解凍、ストリーム取得できるライブラリは無いですか?
517デフォルトの名無しさん (ワッチョイ 7f47-XV7K)
2019/02/05(火) 10:59:50.41ID:svez8hxC0
>>516
sharpcompressでそれっぽいことできてるな

https://www.nuget.org/packages/sharpcompress
https://github.com/adamhathcock/sharpcompress/blob/master/tests/SharpCompress.Test/Rar/RarReaderTests.cs
518デフォルトの名無しさん (ワッチョイ 7f47-XV7K)
2019/02/05(火) 11:07:59.15ID:svez8hxC0
すまんrar5は未対応みたいなこと言ってるわ
519デフォルトの名無しさん (ワッチョイ 7f47-XV7K)
2019/02/05(火) 11:21:25.96ID:svez8hxC0
ほんならこっち
7z.dllのラッパー
https://www.nuget.org/packages/SevenZipExtractor/
https://github.com/adoconnection/SevenZipExtractor/blob/master/README.md
520デフォルトの名無しさん (ワッチョイ 5fba-+Svn)
2019/02/05(火) 12:48:55.07ID:cT2SE72s0
web上の画像をダウンロードせずに
高さと幅を取得する方法があれば教えてください
521デフォルトの名無しさん (ワッチョイ 7fa5-qf6r)
2019/02/05(火) 13:03:57.50ID:GPC4C0Pm0
電話で聞く
522デフォルトの名無しさん (ワッチョイ 7f32-qf6r)
2019/02/05(火) 13:37:05.03ID:RjbzZp8x0
>>520
先頭だけ取得して解析するくらいが関の山じゃない?
https://developer.mozilla.org/ja/docs/Web/HTTP/Range_requests
523デフォルトの名無しさん (ワッチョイ 5fba-+Svn)
2019/02/05(火) 15:25:13.53ID:cT2SE72s0
>>522
ありがとうございました
524デフォルトの名無しさん (ワッチョイ 7f4b-ordn)
2019/02/05(火) 15:40:50.37ID:3J1ruy+d0
>>519
回答ありがとうございます。

SevenZipExtractorですが、プロジェクトにNugetで取り込んでも正常に認識してくれず使えませんでした。
SharpCompressですが、(まだファイルの一覧だけしか試していませんが)RAR5での圧縮ファイルを扱えました。
SharpCompressは前に使っていたことがあるので(当時はRAR5が使えなかった)、こちらを使おうと思います。
525デフォルトの名無しさん (ワントンキン MMdf-7pVy)
2019/02/05(火) 17:04:13.00ID:CPjaAgWSM
vs2013なんですけど、バーコードを作るメジャーな方法って何があるでしょうか?無料がいいです。
526デフォルトの名無しさん (ワッチョイ 5fae-kMzi)
2019/02/05(火) 17:23:07.87ID:jB1piIf60
無料ならGPLv3でもええんか
527デフォルトの名無しさん (アウウィフ FFa3-zGAl)
2019/02/05(火) 17:28:38.13ID:dQJUt0gZF
ライブラリいっぱいあるで
528デフォルトの名無しさん (スププ Sd9f-XV7K)
2019/02/05(火) 18:20:58.39ID:C5l7MRqld
>>525
メジャーなのはZXing
529デフォルトの名無しさん (ワッチョイ ff2c-Qmko)
2019/02/05(火) 21:05:22.94ID:XsUhL+1b0
何かライブラリ無いかなと思ったらまずNuGet見てみる
530デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 12:34:37.03ID:ymLQaaTBd
C#で書いたコードをVBAから呼び出す際のC#でのやり方を教えてください。

例えば、MessageBoxで「Hello!」と表示するには何をどうすれば出来ますか?
使ってるのはVisualStudio2017です。
531デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 12:38:03.13ID:ymLQaaTBd
>>530
引数でHelloを持ちかえる方法です。
532デフォルトの名無しさん (ブーイモ MM9f-3dyC)
2019/02/06(水) 13:05:34.43ID:pq3DhSMgM
日本語でOK!
533デフォルトの名無しさん (ワッチョイ 5f17-vS77)
2019/02/06(水) 13:11:17.81ID:/72vyC150
>>530
ググレカス

C#で実装したコードをVBAとかVBから使う方法 : 実験ぶろぐ(仮)試供品
https://needtec.exblog.jp/21522702/
534デフォルトの名無しさん (ワッチョイ dfe8-1Xap)
2019/02/06(水) 16:15:23.61ID:sqv9vum40
https://gist.github.com/katabamisan/5231237

上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから
GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで
例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
535デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 18:20:24.61ID:ymLQaaTBd
>>533
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
536デフォルトの名無しさん (ササクッテロレ Spb3-MXrN)
2019/02/06(水) 18:30:37.80ID:1DcU3Gnhp
コードコピペして自分の使ってるクラスに直せば出来ると思うけど
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
537デフォルトの名無しさん (アウアウウー Saa3-LWaQ)
2019/02/06(水) 18:54:31.06ID:cXGNS95ra
>>535
C# メインルーチンからメッセージボックスを表示
VBA shellを使って↑を起動
538デフォルトの名無しさん (ワッチョイ ff2c-IxnT)
2019/02/06(水) 21:20:24.24ID:SSakxrcH0
>>534
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから
第5引数のnSizeはwchar_tの個数を指すことになる
wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる
でも実際にはその半分の16バイトしか確保してないから
GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
539デフォルトの名無しさん (ワッチョイ a1e8-7AZF)
2019/02/07(木) 10:39:20.42ID:BTY8+ybz0
>>538
文字セットのことがすっかり頭から抜けてました
WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ

・ReAllocCoTaskMemで確保するサイズをlength*2に変更
・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更

上記2通りの修正でどちらも正常動作することが確認できました
回答ありがとうございました
540デフォルトの名無しさん (スップ Sd82-Q5xa)
2019/02/07(木) 18:21:29.96ID:yK9ubdQXd
VS2017使用。
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。
対象エクセルブックは〇〇.xlsのみ

ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。
何かインストールが必要なんですか?それとも参照設定とか必要なんですかね?

なんか雛形のコードでもあればいただけませんか?
541デフォルトの名無しさん (ワッチョイ 7d17-feI+)
2019/02/07(木) 19:01:48.27ID:l2uiBAtS0
具体的にどのサイトのコードを試したら
どんなエラーメッセージが出たのかを書いてくれ
542デフォルトの名無しさん (スップ Sd82-Q5xa)
2019/02/07(木) 19:28:54.09ID:yK9ubdQXd
https://qiita.com/OneK/items/c3077aea595635f40ee5
このサイトの下のコードです。

adp.Fill(dt);←ここでエラーです。

return dt;
}

今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
543デフォルトの名無しさん (ワッチョイ a9e3-feI+)
2019/02/07(木) 20:24:29.71ID:3NiqE0/P0
>>540
https://csharp.keicode.com/topics/how-to-use-exceldatareader.php
これじゃあかんの?
544デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/07(木) 21:34:46.19ID:FLUWNW3J0
>>543
これも明日試してみます。
でもいろいろとコードの引き出しがあったらいいなって
545デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/07(木) 21:37:56.26ID:FLUWNW3J0
>>543
速度はどうなんですか?早いですか?
546デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/07(木) 22:02:28.76ID:O0GaOve00
>>545
ウゼェ、やる気がねーなら
エロゲでもやってろ
547デフォルトの名無しさん (ワッチョイ a1f0-38JT)
2019/02/07(木) 22:23:39.18ID:iyj2o48P0
こんばんはよければ教えてください
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で
作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない

今回新たなソフトを社内でリリースするので悩んでいます。

あ、ちっちゃい会社です。
548デフォルトの名無しさん (ワッチョイ 6ef2-Yfay)
2019/02/07(木) 22:28:55.73ID:CKGjxJfq0
もしかしてc#全く関係ない話?
549デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/07(木) 22:35:04.98ID:VZhzokSX0
> pdfではなんか味気ない

その謎の価値観を改めればすべて解決です
550デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/07(木) 23:39:26.83ID:Q7Nq6LQdd
>>547
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
551デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/07(木) 23:40:23.99ID:Q7Nq6LQdd
>>548
C#のコメントからヘルプを生成する話だよ
552デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/07(木) 23:47:55.01ID:O0GaOve00
doxygen的なのって新しいの出た?
553デフォルトの名無しさん (ワッチョイ 467d-4IkZ)
2019/02/08(金) 00:00:34.72ID:JeOi55qM0
sandcastleなつかしい
554デフォルトの名無しさん (ワッチョイ e247-WCNk)
2019/02/08(金) 00:09:17.11ID:yxq5pHtX0
>>553
今でもメンテしてる人いるし!
https://github.com/EWSoftware/SHFB
555デフォルトの名無しさん (ワッチョイ 6e63-+1v6)
2019/02/08(金) 00:42:26.66ID:zMW+eOHy0
markdownで書いてhtml出力
556デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/08(金) 00:59:36.44ID:wLiZux8Md
>>555
ソースコードから生成しないのは非効率でしょ
557デフォルトの名無しさん (ワッチョイ 6ef2-Yfay)
2019/02/08(金) 01:02:48.69ID:kZW3St4e0
ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?
558デフォルトの名無しさん (アウアウエー Sa0a-/S9r)
2019/02/08(金) 01:18:59.44ID:e7pcoQvna
社内ならConfluenceみたいなwiki的なサービス使えば?
ファイルで配ると後でメンテに苦労することになるよ
559デフォルトの名無しさん (ワッチョイ e247-WCNk)
2019/02/08(金) 01:22:13.31ID:yxq5pHtX0
>>557
C#のスレなんだからヘルプと言えばクラスリファレンスだろ
560デフォルトの名無しさん (ササクッテロル Spd1-Yfay)
2019/02/08(金) 01:45:40.32ID:NCJ1sppLp
ユーザー向けのヘルプファイルだろ
質問した本人出てこないから結論出ないけど
561デフォルトの名無しさん (アウアウエー Sa0a-OF6d)
2019/02/08(金) 06:02:12.24ID:86VvLP3ma
簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら
動作環境は何を基準にして明記したらいいのでしょうか

Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
562デフォルトの名無しさん (ドコグロ MMca-3tWi)
2019/02/08(金) 07:19:45.32ID:en2thcC6M
>>555に一票
俺はAsciiDocだけど
563デフォルトの名無しさん (スッップ Sd22-lwMy)
2019/02/08(金) 07:20:35.11ID:Weq4zX9xd
対処にした.netでしょう。

win7はデフォだと3.5
win8がデフォだと4.5
win10はデフォ4.6がはいってる。
win8とwin10は3.5系はデフォでは入ってない。
一般的には、4.5で作っておけばトラブルは少ない。
async awaitも使えるし、入ってることが期待できる。

.net coreは開発者でないと、入れてることは期待できないので、入れてもらう形かね。
一般の非開発者は、.net framework と .net coreの二系統に大きく別れてるとか
知らないので、coreは注意が必要かもねぇ
564デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/08(金) 07:33:47.03ID:JXgoNARF0
むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
565デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/08(金) 07:37:27.34ID:N+zrhIiBd
>>563
4.5はもうサポート切れだからだめやろ
566デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 14:02:16.37ID:wLzz2paeM
今更新規でFull .NET使うのはお勧めできないな
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される
既存の.NETアプリは全てレガシーの産廃だ
567デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/08(金) 14:09:17.61ID:N+zrhIiBd
>>566
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
568デフォルトの名無しさん (ワッチョイ a205-BpIe)
2019/02/08(金) 16:42:05.01ID:DCBa2RJt0
指定のdatetimeまで待つ処理はどのように書けばよいでしょうか?
GUIアプリケーションで出来れば待っている間も操作可能
なるべくcpuの負担が軽くなる方法が良いです
よろしくお願い致します。
569デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 16:47:22.48ID:xI0+6qTx0
>>568
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が
呼び出されるようにしておく。そして、その自前の関数で現在の日時を
取得して、条件に合う日時になっているか調べる。そして、条件に合って
いれば、好きな処理をする。そうすればいい。
570デフォルトの名無しさん (ワッチョイ 024b-GiBE)
2019/02/08(金) 16:58:08.14ID:hTn4Mfg30
>>569
Thread.Sleepの方がいいんじゃね?
571デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 17:08:32.00ID:wLzz2paeM
>>568
タスクスケジューラ
572デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:20:02.58ID:xI0+6qTx0
>>570
それだと GUI の処理がほぼ完全に止まってしまい、アプリがほとんど操作不能
になるハズ。
573デフォルトの名無しさん (ワッチョイ 9232-/WZR)
2019/02/08(金) 17:23:59.58ID:T5iT/olM0
>>568
アプリが起動しっぱなしなら指定日時から現在日時を引いて
await Task.Delay()等でタイムアウト待つとか、他は>>571かね
574デフォルトの名無しさん (ワッチョイ fe02-q2E1)
2019/02/08(金) 17:28:55.52ID:1w1isakW0
do-whileもいいと思う
575デフォルトの名無しさん (ワッチョイ 024b-GiBE)
2019/02/08(金) 17:33:15.83ID:hTn4Mfg30
>>572
待つロジックをThreadにすればいいだけじゃね?
576デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:48:48.00ID:xI0+6qTx0
マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には
お勧めできない。同期オブジェクトや atomic アクセス、volatile などを
正しく理解してからでないと危険を伴うことがある。

async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて
いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは
やめたほうがいいと思う。
577デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:50:59.48ID:xI0+6qTx0
async は、↓のような複雑な control flow になる。
それを全部理解してから出ないと危険。

ふらっと C#,C♯,C#(初心者用) Part141 	YouTube動画>1本 ->画像>5枚
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/
578デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/08(金) 18:11:51.00ID:JXgoNARF0
GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
579デフォルトの名無しさん (ブーイモ MMcd-FdHg)
2019/02/08(金) 18:25:10.33ID:ccTwL3cjM
指定日時後の起動はタスクスケジューラに任せた方が良いと思う
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
580デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 18:28:22.25ID:xI0+6qTx0
C#も汚い言語になってきたなー
581デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 18:32:16.25ID:xI0+6qTx0
なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。
582デフォルトの名無しさん (スプッッ Sd82-bIN/)
2019/02/08(金) 18:49:11.69ID:5c9t7/Awd
汚いとは?
583デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 18:56:00.90ID:wLzz2paeM
JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した
汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
584デフォルトの名無しさん (ワッチョイ a1d2-hHwN)
2019/02/08(金) 19:49:11.94ID:lL88DpXz0
割り込んですまない。
SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。

SolrNet を使ってこんなことをやってみた。

Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] );
var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>();

まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。

原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、
ダウンロードしたソリューションをビルドして実行するとこの部分を問題なく通過する。
またしばらく悩んで、nuget でダウンロードしてくる SolrNet のバージョンに違いがあることに気がついた。
どうやらバージョンが 0.5 以下だと通過し、それ以降のバージョンだとヌルポエラーになるようだ。

最新のは 1.0.1 だったか、このバージョンで上の部分を通過させるに必要な事はなんだろう。心当たりがあったら教えて欲しい。
0.5 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。
これを使えってご指定なんだよな。。
585デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/08(金) 20:41:31.54ID:OM4aCJGta
>>568
一応これでできるけど、これがベストかどうかは知らん
private static async Task WaitTillAsync(DateTime dt)
{
  var now = DateTime.Now;
  var span = dt > now ? dt - now : TimeSpan.Zero;
  await Task.Delay(span);
}

private async void button1_Click(object sender, EventArgs e)
{
  await WaitTillAsync(DateTime.Now.AddSeconds(10));
  MessageBox.Show("10秒後にこんにちは");
}

>>566
マジですかw
586デフォルトの名無しさん (ワッチョイ aeda-OF6d)
2019/02/08(金) 21:46:41.47ID:tTA+g4g80
>>585
それだとNTPで時計合わせが発生したらズレる
素直にSystem.Timers.Timerで500ms位ごとにElapsedさせて、
指定時刻を過ぎてないか見るのが簡単。

マイクロ秒まで精度出したいっていうのなら、そもそも使うOS間違ってる。
587デフォルトの名無しさん (ワッチョイ 82ad-bIN/)
2019/02/08(金) 22:17:53.01ID:uDI35RTx0
>>583
Rustは結局どうなったんだっけ?
588デフォルトの名無しさん (ワッチョイ a205-BpIe)
2019/02/08(金) 22:27:25.20ID:DCBa2RJt0
みなさんありがとうございます。
一応自分で書いていたのは>>585さんに近くて設定時刻前ならそのまま、設定時刻を過ぎてたら一日足して現在時刻との差をawait Task.Delayしました。
タイマーの精度はそんなに必要なく1分間隔で大丈夫で、24時間起動で毎日朝8時から夕方17時までプログラムを止めるみたいな感じです。
同じプログラムを大量に起動するので処理はなるべく軽いのが希望で
ループ処理で毎分チェックするようなのは重いイメージがあるのですが大丈夫でしょうか?
また、時計合わせが発生したらズレるというのはどういうことでしょう?
589デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 22:30:54.02ID:wLzz2paeM
>>588
ポーリングが嫌ならタスクスケジューラを使えばいい
プログラムから簡単に登録できる
590デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/08(金) 22:53:24.62ID:OM4aCJGta
>>586
えらい重箱の隅だけどまあそうだねw
private static async Task WaitTillAsync(DateTime dt)
{
  await Task.Run
  (
    () => { while (dt > DateTime.Now) Thread.Sleep(500); }
  );
}
591デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 23:23:03.92ID:wLzz2paeM
>>590
プロセスが落ちることを想定せよ
NTPなんかより遥かに影響を受ける可能性の高い事象である
やり直し
592デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/08(金) 23:32:28.45ID:Waqd0NNdr
どのへんでプロセス落ちるの?
593デフォルトの名無しさん (ワッチョイ a205-BpIe)
2019/02/08(金) 23:33:09.16ID:DCBa2RJt0
>>590
Thread.Sleepの所Task.Delayにしても大丈夫でしょうか?
594デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 23:42:34.81ID:wLzz2paeM
>>592
どこでも
質問者は24時間起動って言ってるんだから当然想定すべきだよ
595デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 00:44:22.99ID:jhOjUKEBa
>>593
もちろんいいと思うけど、

() => { while (dt > DateTime.Now) Thread.Sleep(500); }

async () => { while (dt > DateTime.Now) await Task.Delay(500); }

に文字数が増えて、使うTaskも増えて、かといってメリット無いような気が
596デフォルトの名無しさん (ワッチョイ 2de3-VUEs)
2019/02/09(土) 00:46:47.47ID:3dJvh84X0
await, async は、簡単なことを難しくしてしまう。
597デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/09(土) 00:52:22.81ID:8aikkfMy0
C#は、もはや、C++やCとは似ても似つかなくなってしまってる。
control flow がめちゃくちゃ複雑で、何をやってるのかわからなくて
生ポインタの1,000倍危険。
598デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 00:58:38.23ID:jhOjUKEBa
() => { while (dt > DateTime.Now) Task.Delay(500).Wait(); }
の方が素直か。
何かTask.Delay使った方がいい理由ってあるかな
599デフォルトの名無しさん (ワッチョイ 9140-/WZR)
2019/02/09(土) 01:13:05.43ID:dvMZ7Shb0
PDFファイルからテキストを抽出する方法でオススメはありますか?
調べたところiTextSharpとPDFBoxは見つかりましたが、たまに読めないPDFがあるのが残念です。
600デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/09(土) 01:45:47.26ID:8aikkfMy0
C# の async, await を開発したのはこんな人。写真付き:

https://www.orioninc.com/c-async-and-await-programming-model-from-scratch-introduction/
601デフォルトの名無しさん (スフッ Sd22-XlDt)
2019/02/09(土) 01:49:31.12ID:kYloXoqBd
>>599
一番確実なのは製品版のAcrobatを使うことではないでしょうか
602デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/09(土) 01:49:48.79ID:U3ljW3xz0
>>598
この流れでもう二回書かれてるけどawaitしないとその間メッセージキュー処理できないでしょ
あとTimer使えば済むロジックを自分で書かないの
603デフォルトの名無しさん (ワッチョイ 9140-/WZR)
2019/02/09(土) 01:55:33.22ID:dvMZ7Shb0
>>601
私の技術力が低いので初心者用スレで質問させていただいたのですが、それを購入したとして初心者でもネットで調べる程度で可能ですか?
上に書いたiTextSharpとPDFBoxは、ネットに転がってたソースを丸パクリでやりました。
604デフォルトの名無しさん (ワッチョイ bd5f-FtKs)
2019/02/09(土) 02:16:09.35ID:UMSUoHVI0
>>595
後者はTask.Run()が不要だから、むしろタイプ量は減るよ。

await Task.Run( () => { while (dt > DateTime.Now) Thread.Sleep(500); } );

while ( dt > DateTime.Now ) { await Task.Delay(500 ); }
605デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/09(土) 02:39:48.15ID:U3ljW3xz0
ん? Task建ててる部分見てなかった、俺のレスのは忘れて
606デフォルトの名無しさん (ワッチョイ bd5f-FtKs)
2019/02/09(土) 02:40:17.09ID:UMSUoHVI0
後、細かいことを言うと、
Task.Run()でThread.Sleep()だとSleep()してる間もThreadPoolのThreadを1つ占有してしまうが、
Task.Delay()ならその間はThreadPoolのThreadが開放される。
607デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 02:47:07.48ID:jhOjUKEBa
>>602
スリープするのはUIスレッドじゃないのでそれはありませんよw

これ、ちょっと前にも書いたけど、Timerを使った方が可読的になる場合ももちろんあるし、
そうでない場合もある。

つまり、別に車輪を再発明してるんじゃありません。

質問者がどっちのケースかは分からない
608デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/09(土) 02:54:59.91ID:jhOjUKEBa
>>604
ああ、なるほど。
正直非同期メソッドって書きなれてないから目からうろこ
609デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/09(土) 03:02:23.38ID:zy9w8qc80
>>603
SDKは自由にダウンロードできるからドキュメント見て自分で判断しておくれ
https://helpx.adobe.com/jp/acrobat/kb/2558.html
610デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/09(土) 07:11:19.34ID:Bzu1ndzH0
待つだけの処理で1スレッド消費しちゃうのは良くないな
かといって単純にAwaitを使っただけのコードだと、どこかでデッドロックが生まれる可能性が増えたり、待てずにメインスレッドが抜けてしまったりする危険が出てくる
ここはコルーチンしか無いでしょ!!コルーチン最高!!!!
611デフォルトの名無しさん (ワッチョイ 82ad-bIN/)
2019/02/09(土) 07:16:35.24ID:rkd3w/wq0
タスクスケジューラにしとけよ
612デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/09(土) 07:35:28.00ID:Bzu1ndzH0
タスクスケジューラはC#自体の機能じゃないからな、漢は黙ってコルーチン!!!
613デフォルトの名無しさん (ブーイモ MMf6-5dzK)
2019/02/09(土) 07:42:48.42ID:onf/I33CM
私、待つわ〜何時までも待つわ〜
例え対象スレッドが落ちていても〜
614デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/09(土) 08:32:22.73ID:6iVlgEPUr
>>594
それ非同期関係なくない?
615デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/09(土) 08:45:27.49ID:O6W3Dl2k0
>>583
kotlinはそっくりそのままと言えるものではなく
奇怪な何かになってる
616デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/09(土) 08:47:26.04ID:O6W3Dl2k0
>>614
次はWindowsが落ちることを想定しよう
617デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/09(土) 11:10:00.80ID:YnD8XTKW0
c++はc#の何倍難しいですか?
618デフォルトの名無しさん (ブーイモ MMf6-5dzK)
2019/02/09(土) 11:13:22.03ID:onf/I33CM
C# → C++/MFC なら大して変わらないかも
619デフォルトの名無しさん (ワッチョイ 467d-4IkZ)
2019/02/09(土) 11:13:26.70ID:902JN4xl0
256バイ
620デフォルトの名無しさん (ドコグロ MMca-/S9r)
2019/02/09(土) 11:17:48.96ID:k8PbCSORM
言うほど難しくはない
同じものを作るために3倍程度の工数がかかるだけ
621デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/09(土) 11:24:28.88ID:YnD8XTKW0
個人で使うものではない感じですか?
openglを扱うためには裂けては通れないようですが
622デフォルトの名無しさん (ワッチョイ 6e7b-HWB1)
2019/02/09(土) 11:31:34.31ID:k4TwxJVN0
>>621
opengl c# でググったらいろいろヒットするが
DllImportがめんどくさいのはわかるが避けて通れない理由があるのか?
C++でやらなきゃって思うのならC++のスレへどうぞ
623デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/09(土) 11:35:32.77ID:YnD8XTKW0
ラッパーのほうが情報すくなくて難しそうなので
624デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/09(土) 11:39:46.24ID:U3ljW3xz0
>>621,623
> 個人で使うものではない感じですか?
個人で使うのになんら障害はない

> openglを扱うためには裂けては通れないようですが
OpenTKとかあるし別に必須じゃない

> ラッパーのほうが情報すくなくて難しそうなので
じゃあC++で学習すれば?
625デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/09(土) 11:41:56.63ID:O6W3Dl2k0
このレベルでOpenCVに手を出して何ができるんだって感じもある
チュートリアルを通してやるのがせいぜいか
626デフォルトの名無しさん (ワッチョイ 912f-XlDt)
2019/02/09(土) 12:15:17.08ID:yiDYsHnZ0
>>625
OpenCVとOpenGLは別物だよ
627デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/09(土) 12:25:47.28ID:6TG0Gkwea
>>617
テンプレートの深みにはまらなければC++のほうが素朴で簡単
628デフォルトの名無しさん (ワッチョイ 8dda-feI+)
2019/02/09(土) 12:37:08.87ID:PsW6cRYq0
この人3ヶ月前からこういう質問ばっかしてる
一体いつになったら手を動かすんだろう
629デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/09(土) 13:27:48.74ID:Bzu1ndzH0
やっぱコルーチンだわ
コルーチン質問がいくらあっても全くロックが起きとらん!スレッドを丸々潰してもいない!最強!!
630デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/09(土) 14:30:31.24ID:8aikkfMy0
>>620
そんなかからん。せいぜい 2割り増し程度。
でも、ブラックボックスが少なくて何やってるのか分かりやすいので、
はまりにくいかも。

C#のasync, awaitなんて初心者が理解できるものではない。
631デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/09(土) 14:37:30.48ID:O6W3Dl2k0
>>626
ごめん
俺の目が悪かった
632デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/09(土) 15:30:22.75ID:zy9w8qc80
C#はクラスライブラリも簡単に逆アセンブルできるからブラックボックスは少ないよな
633デフォルトの名無しさん (ワッチョイ 9140-/WZR)
2019/02/09(土) 16:47:05.41ID:dvMZ7Shb0
>>609
ありがとうございます。
634デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/09(土) 22:52:17.77ID:5t5ZiBxh0
WPF, Windows Form の二種類があったり、Xamarineを使うかどうかが
あったり、C#も複雑極まりないんだね。GDI がセンスがない関数群だったので
嫌われたこと、MFCが汚かったこと、Direct3Dが汚かったこと、COMが
汚かったこと、ActiveX がさらに訳分からなかったこと、の再来を感じる。
「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな
ことをやるタイプ、以外にいくつもあって、さらに最後に async, await
が Synax Suger になっているんだね。なんという複雑さ・・・。
また、スレッドを起こすのに 1MB もメモリが必要・・・・。
なんという無駄使い。
635デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/09(土) 22:54:12.95ID:5t5ZiBxh0
結局、.Net Standard が破棄されて、.Net Core だけが残るといううわさを聞いた
けど、やっぱり Xamarine が捨てられていくのかな。買収時点で最初から
予想されたことだけど。
636デフォルトの名無しさん (スフッ Sd22-XlDt)
2019/02/09(土) 22:59:09.93ID:VPSQr41Ud
またC#嫌いのお前か
637デフォルトの名無しさん (ワッチョイ a1e7-snZf)
2019/02/09(土) 23:07:49.24ID:HZrCyM150
>>634
> 「非同期処理」もスレッドをいくつでも起こすタイプや、Poolみたいな
> ことをやるタイプ、以外にいくつもあって
具体的には?
いくつもあるなら2,3挙げてみてよ
638デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/10(日) 00:07:00.86ID:P1Q5YmOJ0
>>637
↓ ここを読んでくれ
http://www.atmarkit.co.jp/fdotnet/chushin/masterasync_01/masterasync_01_02.html

数え方にもよるが、恐らく6〜8種類くらいあると思う。
639デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/10(日) 00:09:30.45ID:P1Q5YmOJ0
多分、
1. Thread
2. ThreadPool
3. Event-based
4. Async Programming Model
5. Reactive Extensions
6. Task-based
7. async/await

の 7種類だと思う。もっとあるかも知れないけど。
640デフォルトの名無しさん (ワッチョイ 9232-/WZR)
2019/02/10(日) 00:09:35.84ID:XpZrG1uz0
APM、EAP、TAPなんかを言ってるのかね? 単に時代の流れじゃないの
レガシーをタスクにする方法もあるし、.NETはネイティブスレッドではなかろう
開始元へ差し戻しが多いからawaitがあるだけで結局Task推奨になってると思うけど

議論が活発なのは結構だが、ぽこぽこ増えていく言語バージョンを見てると不安は抱く
641デフォルトの名無しさん (ワッチョイ bd5f-FtKs)
2019/02/10(日) 00:32:53.23ID:c9rRoNSM0
時代の流れだねぇ。
今ならTaskとasync/awaitだけ覚えておけば事足りる。
Rxも場合によってはあれば便利だけど。
642デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/10(日) 00:46:35.13ID:P1Q5YmOJ0
それは言い訳で、見通しが悪かったって事なんだ。
643デフォルトの名無しさん (ワッチョイ 6e63-awc4)
2019/02/10(日) 00:53:56.42ID:Mw20IJUM0
まあXamarin用済みなのは確か
644デフォルトの名無しさん (アウアウエー Sa0a-/S9r)
2019/02/10(日) 00:58:27.31ID:AzzfBWDja
async/awaitの効率は最近は大幅に改善されつつあるよ
ただし.NET Coreに限る
645デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/10(日) 01:03:53.77ID:P1Q5YmOJ0
効率以前に、訳分からん。
設計した人が実は能力が足りないんだって。
646デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/10(日) 01:05:47.39ID:P1Q5YmOJ0
アメリカ人はなめ過ぎてる。
独占的地位を利用して。
こんなくそ設計しやがって。
647デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/10(日) 01:12:55.80ID:ys0otiK+0
(ワッチョイ 8261-VUEs)
この人、年中非同期処理が理解できないと繰り返し言ってんな
いい加減理解しろよw
648デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/10(日) 01:25:57.34ID:bwecUq1Z0
良かったな
訳わからんものが他の言語にも波及したぞ


※非同期プログラミングの次回作にご期待ください
649デフォルトの名無しさん (ワッチョイ 8261-VUEs)
2019/02/10(日) 01:38:14.50ID:P1Q5YmOJ0
C# は VB と似ており、C++ とは似ても似つかない。
650デフォルトの名無しさん (ワッチョイ bd5f-FtKs)
2019/02/10(日) 01:38:53.56ID:c9rRoNSM0
>>642
17年の歴史があって、技術的トレンドを比較的積極的に取り込んできてる言語に
それを言うのは言いがかりというかお門違いだろうw
651デフォルトの名無しさん (ワッチョイ e252-PL2D)
2019/02/10(日) 02:34:19.06ID:98Upnegk0
>>647
そいつにとっては、ぼくの理解できないもの=設計が悪い、だからな。
自分がバカだとは認められないんだろう。
652デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/10(日) 02:52:23.04ID:LkwxzeRxd
>>635
破棄される?ソースは?
653デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/10(日) 08:46:39.23ID:uz05qYWIr
c#にはあってVBにはないものってないんだよな
.net CoreでもVB採用されてるし
654デフォルトの名無しさん (ブーイモ MMcd-5dzK)
2019/02/10(日) 08:54:49.60ID:fHBGeROaM
for文の挙動が違うだろ
655デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/10(日) 09:08:02.67ID:YTe/5aEc0
>>651
スパゲッティーなアルゴリズムを作ってしまっただけなのに気付いてない。
理解できないのではなく、馬鹿馬鹿しくて腹が立つだけ。
頭のいい人は、もっと良い方法がすぐにひらめくから。
656デフォルトの名無しさん (ワッチョイ 822f-1zeQ)
2019/02/10(日) 09:09:03.29ID:o5rWkmWO0
>>653
unsafe
657デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/10(日) 09:21:34.97ID:0K2cdDeF0
>>655
君は「高卒の天才」ってやつかい?
658デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/10(日) 09:24:33.66ID:YTe/5aEc0
C# のこの書き方は、35年前の Microsofot の N88-BASIC の
def fn にそっくり

[C#]
int f(int n) => n >= 1 ? n * f(n - 1) : 1;

[N88-BASIC]
DEF FN名前 [ ( 引数名 { , 引数名 } ) ] =式

10 DEF FNZEIKOMI(P)=P*1.08
20 INPUT "zeinuki kakaku";KAKAKU
30 PRINT "zeikomi kakaku";FNZEIKOMI(KAKAKU)
659デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/10(日) 09:51:24.70ID:Ah0fiaOg0
ま、作ったアプリではなくソースコードを自慢するようになったらプログラマは引退したほうが良い
660デフォルトの名無しさん (ワッチョイ a9a7-OF6d)
2019/02/10(日) 12:59:28.51ID:7jl+t3as0
キブハブとかいう謎の団体に監視されてるからソースのエレガントさにも気が抜けない時代
661デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/10(日) 13:18:41.19ID:YTe/5aEc0
アメリカって、バイナリだと信用されないんだろうか。
アメリカは悪い人だらけなので武器を持たなきゃならないのが、それが安全な日本にまで波及していて、
セキュリティーソフトのせいでPCの能力は結構落ちるし、自作プログラムが誤検出されて
風評被害は出るしでいやな時代になったな。
662デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/10(日) 13:20:59.07ID:YTe/5aEc0
アメリカじゃ、大手企業から以外はバイナリが信用できないから、
無料ソフトのバイナリが入手できない。それで日本まで生産性が下がって来た。
いつのまにか、そんな必要のない日本まで巻き添えになってる。
それに日本人は気づいてない。
663デフォルトの名無しさん (ワッチョイ 7d17-feI+)
2019/02/10(日) 13:24:11.85ID:HlV4ZEIt0
頭やべぇのが居るぞ
664デフォルトの名無しさん (ブーイモ MMe5-/WZR)
2019/02/10(日) 13:24:46.11ID:O8DkeQeoM
バイナラ
665デフォルトの名無しさん (アウアウエー Sa0a-OF6d)
2019/02/10(日) 14:04:14.11ID:AojW1eCFa
何作るか思い浮かばん
こんなときどうすれば
666デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/10(日) 14:11:09.31ID:ys0otiK+0
>>665
寝たらいい
667デフォルトの名無しさん (ドコグロ MM41-umi9)
2019/02/10(日) 14:13:22.67ID:T7WkpnKgM
>>665
持ってる技術に対して歩んできた人生がクソ過ぎてバランスが悪い
668デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/10(日) 14:17:09.65ID:0+1G/wKUa
>>659
ソースの綺麗さはプロダクトの品質、価値に大きな影響を与える
君はなにもわかってない
669デフォルトの名無しさん (ドコグロ MM41-umi9)
2019/02/10(日) 14:22:24.87ID:T7WkpnKgM
>>668
具体的な数字あるんですか?
670デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/10(日) 14:31:40.45ID:0+1G/wKUa
>>669
ありますがどこの企業も社外秘でしょう
あなたの会社のコードを計測してみてください
話はそれからです
671デフォルトの名無しさん (ドコグロ MM41-umi9)
2019/02/10(日) 14:36:01.60ID:T7WkpnKgM
>>670
そうですか?
じゃあ、有名なオープンソースとか参考にしてやってみますね
672デフォルトの名無しさん (ワッチョイ e252-PL2D)
2019/02/10(日) 16:14:54.28ID:98Upnegk0
>>670
ソースの綺麗さを計測する定量的な評価方法を示してくれ。話はそれからだ。
673デフォルトの名無しさん (アウアウウー Sa05-BKX2)
2019/02/10(日) 16:17:08.69ID:0+1G/wKUa
>>672
ググれ
コードメトリクスを測定する手段は無数にある
674デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/10(日) 16:45:07.74ID:VHz3VazZ0
>>672
品質=(売上-コスト)÷行数
675デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/10(日) 18:17:02.13ID:6Yt6QBhU0
ツリーを表示する部分はtreeviewですが、treeviewの中身を表示する領域はどのツールを使う運でしょうか
エクスプローラのメイン画面のことですね
676デフォルトの名無しさん (ドコグロ MM09-/S9r)
2019/02/10(日) 18:42:16.76ID:96GWWqq3M
>>675
そんなものはない
何を表示したいかなんてアプリ次第だろ
要件に応じて自分で作るんだよ
677デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/10(日) 19:41:33.15ID:ys0otiK+0
>>675
エクスプローラのメイン側はリストビューだよ
678デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/11(月) 05:09:40.45ID:Q8pHabNH0
回答有り難うございます。
wpfテンプレートを使っているのですが、リストビューというツールは存在しないようですが、wpfにありましたか?
679デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/11(月) 05:15:04.04ID:Q8pHabNH0
ありました
ごめんなさい
680デフォルトの名無しさん (ワッチョイ 8dba-Vc6s)
2019/02/11(月) 08:30:23.01ID:sPHRyGkO0
textBoxコントロールでスクロールバーが表示されている状態で
スクロールバー上で右クリックするとスクロールバーのコンテキストメニューが出ますが
richTextBoxコントロールだと出ません。textBoxでは出る標準の右クリックメニューも同様に出ません。
どうすればrichTextBoxで標準コンテキストメニューとスクロールバーのコンテキストメニューを出せるでしょうか
681デフォルトの名無しさん (ワッチョイ f901-mus4)
2019/02/11(月) 11:37:16.74ID:XJjA7d5g0
サーバサイドで使えるword操作用ライブラリってありますか?
ExcelにはPOIとかあるのですがwordは探しきれず
682デフォルトの名無しさん (アウアウエー Sa0a-/S9r)
2019/02/11(月) 11:45:15.95ID:uhV1eG5ea
Google Docsで作ってWordにエクスポートしたら
683デフォルトの名無しさん (ワッチョイ 0201-3tWi)
2019/02/11(月) 12:49:33.20ID:MkFOBvt90
>>681
Apache POIはExcel専用じゃないけど?
https://qiita.com/mine820/items/e1022ac51466bb34186d
684デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/11(月) 20:34:36.03ID:Q8pHabNH0
listviewの使い方について、超初心者向けに解説してるサイトを教えてください
vs2017を使用しています
いろんなサイトやyoutubeで調べてたんですが、わからないです
685デフォルトの名無しさん (ワッチョイ 8dda-5dzK)
2019/02/11(月) 20:50:22.35ID:Y0EVtjJ+0
>>684
ナンシークラッツ本を買うべし
686デフォルトの名無しさん (ワッチョイ 6e7b-HWB1)
2019/02/11(月) 21:09:13.65ID:+GND3QEg0
>>684
知りたいのこの辺りじゃない?
ListViewコントロールへ項目を追加するには?
http://www.atmarkit.co.jp/ait/articles/0502/04/news121.html
ListViewのアイテムがポイントで選択、シングルクリックでアクティブにできるようにする
https://dobon.net/vb/dotnet/control/lvpointselection.html
Drag drop ListView Item from one listView to another
https://stackoverflow.com/questions/38162479/drag-drop-listview-item-from-one-listview-to-another
687デフォルトの名無しさん (ワッチョイ 6e2c-Zwmo)
2019/02/11(月) 22:18:17.86ID:tPbyrG7A0
Q8pHabNH0がやってるのは多分WPFだよ〜
688デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/11(月) 22:29:40.86ID:sHYekHyG0
いつも思う
そんなクソみたいな動作しかしない
コントロールなんてやめて
いい感じに動作するもん自分で作ればいいのに
689デフォルトの名無しさん (ワッチョイ a9e3-feI+)
2019/02/11(月) 22:33:23.81ID:TJZlmbA+0
WPFは最低でも標準でWinFormと同等のコントロール用意しておけよと
690デフォルトの名無しさん (ワッチョイ e252-PL2D)
2019/02/12(火) 01:11:37.33ID:VJfrEW+T0
>>688
いつも思う
初心者用スレで初心者向けではないアドバイスなんてやめて
適切なスレで持論を展開すればいいのに
691デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/12(火) 01:22:15.30ID:B1oV2gIZ0
>>690
それがそーでもねーと思うんだよね
使いにくいコントロールを客に納品できるレベルに持っていくって
割りと無理ゲーじゃね?
692デフォルトの名無しさん (ワッチョイ 8605-1PgY)
2019/02/12(火) 03:08:49.84ID:0nHRi8Dw0
>>690
いつも思う
バカをスルーできる耐性がいつになったら身に付くのかと
693デフォルトの名無しさん (ワッチョイ e252-PL2D)
2019/02/12(火) 03:12:17.30ID:VJfrEW+T0
>>691
標準コントロールで実現困難なことをそれで無理に実現しようとしてるならそのアドバイスでいいだろうが、
今回の質問者は(今のところの情報では)標識コントロールで不足している訳ではなく、ありものを使うことすらやっとのレベルなのだから、自分で作れというのは無茶な要求だろう。
694デフォルトの名無しさん (ワッチョイ e252-PL2D)
2019/02/12(火) 03:12:52.20ID:VJfrEW+T0
>>691ではなく>>692でした
695デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/12(火) 05:53:58.40ID:DAeR3Vqi0
そうです、wpfです
これってwinformよりも良くないんでしょうか?
見た目が良くて新しいものというイメージなんですが
696デフォルトの名無しさん (アウアウエー Sa0a-DOJB)
2019/02/12(火) 05:58:34.55ID:SvKCMiwAa
めくそはなくそ
697デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/12(火) 06:07:05.14ID:DAeR3Vqi0
http://var.blog.jp/archives/69202816.html
どのテンプレートを選べばいいんでしょうか
wpf使われているソフトはほぼないと書いてあります
698デフォルトの名無しさん (ワッチョイ aeda-OF6d)
2019/02/12(火) 06:33:52.77ID:0tNvI9Ip0
WPFは専用スレがあるよ

WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part22
http://2chb.net/r/tech/1513175747/
699デフォルトの名無しさん (ワッチョイ aeda-OF6d)
2019/02/12(火) 06:43:57.01ID:0tNvI9Ip0
さくっと作りたいならWinForm
見た目にこだわって、今後も続けていきたいならWPF

まぁ今からやるならWPFだと思うよ。
DPIスケーリングとか今どきの地味でめんどくさい部分の対応はやってくれている。
WinFormはさくっと作れるけど、自分でUIの部品画像つくれないなら見た目は古臭くなるし、
UIとビジネスロジックの分離も大変。
700デフォルトの名無しさん (ラクッペ MM41-awc4)
2019/02/12(火) 06:50:44.92ID:n9nKxlWwM
一年で600レスしかつかない専用スレ
701デフォルトの名無しさん (ワッチョイ f901-mus4)
2019/02/12(火) 06:55:56.97ID:wGJ5rzVe0
C#がニッチだからな
プレイヤーはjavaと一桁違うんじゃね
702デフォルトの名無しさん (ワッチョイ 412d-Ctdi)
2019/02/12(火) 07:07:37.35ID:IZHpfaFj0
数倍は違っても桁は違わないんじゃないのかな
703デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/12(火) 07:43:09.55ID:HQcd2HqP0
5chのWPFスレとSwingスレを比較すればええのか? ええのんか?
704デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/12(火) 10:49:53.10ID:dWGWBM0h0
C#で書いていると、急にLinuxみたいなのが流行りだした場合、手間が増える
だろう。この業界は、今後どうなるか分からん。
705デフォルトの名無しさん (スッップ Sd22-XlDt)
2019/02/12(火) 11:03:40.30ID:GttB/eDsd
>>704
そんなこと言ってたらどんな言語でもリスクあるだろwww
706デフォルトの名無しさん (ワッチョイ 2de3-VUEs)
2019/02/12(火) 11:09:45.74ID:LAva8DO10
C++だと大丈夫だろうよ。
707デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/12(火) 11:11:43.96ID:DAeR3Vqi0
>>699
速度も遅くて使い物にならないと効いたのですが、そんなこともないですか?
708デフォルトの名無しさん (ドコグロ MM41-/S9r)
2019/02/12(火) 11:41:24.36ID:VerJGrBEM
>>707
それ以前に、WPFは未完成のまま既にメンテナンスモード入りしたから新規での利用はお勧めできない
MS自身がVSの開発に使うためだけにメンテされてるフレームワークだよ
709デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/12(火) 11:44:21.97ID:DAeR3Vqi0
>>708
そうなんですね、c#の場合、選択肢はwindowsフォームアプリケーションしかない感じですか?
これはwin32といわれているものでしょうか?
710デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/12(火) 12:22:47.98ID:9UpkeXwQa
WPFの問題点は

(1) 学習コストが高い
(2) 即時モードの描画が使えない

だと思うので、これらを気にしなきゃ、相対的に新しいWPFの方がいいんだろうけどね。
レイアウトやバインディングの柔軟性が魅力的なのは否定できない。
これは意見が分かれるけど、

(3) イベントハンドラだらけになってコードが読みづらいWindows Formの問題点の
解消を目指したはずなのに、結局かえってWPFのコードの方が分かりづらい

これもWPFが好きになれない大きな理由
711デフォルトの名無しさん (ワッチョイ 4690-Bwin)
2019/02/12(火) 12:53:00.05ID:IcQdq56o0
WPF敷居高いのは初めてづくしだからだろ。
データバインディングからレイアウトをxmlで書いて(デザイナーも使えるが)で、更にMVVMのお勉強。
だから、しんどい。
712デフォルトの名無しさん (ワッチョイ 4690-Bwin)
2019/02/12(火) 12:59:12.71ID:IcQdq56o0
wpfでもmvvmとバインディング使わなくてもいけるけど、listviewの仮想化とか使えなくなったりするが、mvvmとかも強制見たいな風潮がwpfの敷居を上げてる
713デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/12(火) 13:02:29.67ID:DAeR3Vqi0
winformでやってみます
714デフォルトの名無しさん (ワッチョイ 4690-Bwin)
2019/02/12(火) 13:02:49.08ID:IcQdq56o0
androidは最初標準でデータバインディングとかなく途中で登場してMVVMっぽく作れるようになったが、
こういう風に段階を踏んで1個ずつ学び安い環境があったから良かった。

その違いだな。
715デフォルトの名無しさん (ワッチョイ c5ae-ZFeD)
2019/02/12(火) 13:47:31.84ID:BXjjeidx0
>>709
UWPってのもある
716デフォルトの名無しさん (ワッチョイ a235-lln6)
2019/02/12(火) 13:58:06.30ID:FIdhys7p0
>>689
UWP「せやな」
717デフォルトの名無しさん (スフッ Sd22-XlDt)
2019/02/12(火) 15:41:39.27ID:rOtwyWX5d
Xamarin.Forms+UWPならついでにiOSやAndroidにまあまあ対応できたりする
718デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/12(火) 17:33:01.90ID:DAeR3Vqi0
>>715
formでやってみます
もうc++のほうがいいですか?
719デフォルトの名無しさん (ワッチョイ 7d17-feI+)
2019/02/12(火) 18:14:08.19ID:3x+OYT1Q0
好きにしろ
720デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/12(火) 19:10:05.32ID:B1oV2gIZ0
>>704
c#、linuxで動くらしいぞ
721デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/12(火) 19:11:51.93ID:B1oV2gIZ0
winformもlinuxで動くみたいなことも誰か言ってなかったっけ?
722デフォルトの名無しさん (ブーイモ MMf6-FdHg)
2019/02/12(火) 19:20:48.95ID:a/nbvL/tM
WPFでしんどいのはMVVMという宗教。
自分で新しい宗派を名のる位のずうずうしさか他人の教義にひれ伏すか
723デフォルトの名無しさん (ワントンキン MM52-5dzK)
2019/02/12(火) 19:21:39.94ID:KFZGfstbM
ザマリンで鬱陶しいのは信者
724 ◆QZaw55cn4c (ワッチョイ e247-3ywI)
2019/02/12(火) 22:02:44.11ID:afakhEje0
>>715-716
UWP のいい教科書/チュートリアルはありませんか?
725デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/12(火) 23:28:53.73ID:TGYKDn8Ur
UWPアプリなんて誰も使ってないのに
726デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/12(火) 23:39:52.22ID:HQcd2HqP0
>>724
o https://github.com/Microsoft/Windows-universal-samples
o Windows Template Studioの吐いたひな形を眺める
o ストアにあるXAML Control Gallery
727デフォルトの名無しさん (ワッチョイ 82ad-bIN/)
2019/02/12(火) 23:48:41.39ID:mBIHBqGr0
>>725
嘘をおっしゃい
728デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/13(水) 00:04:01.52ID:sgtLrhrBr
>>727
いやマジでしょ
729デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/13(水) 00:08:16.61ID:C9BSnIId0
>>725
俺は使ってるが
730デフォルトの名無しさん (ワッチョイ 82ad-bIN/)
2019/02/13(水) 00:26:20.99ID:VGvE+KfY0
>>728
Windows10使ってる人は全員使ってるやろ
731デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/13(水) 04:20:16.35ID:9xiZOSOZ0
wpf使うとエディタ自体重くならないですかね
732デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/13(水) 08:22:31.97ID:9xiZOSOZ0
win form=win 32ということなんでしょうか
また、これは見た目はきれいにできないんですか?
733デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/13(水) 08:35:14.74ID:9xiZOSOZ0
winformってデザイナー画面のズームできないんですか
734デフォルトの名無しさん (ワッチョイ 8242-feI+)
2019/02/13(水) 08:37:37.78ID:hwjiROfk0
>>732
WinFormでファイラー作ると、XPのエクスプローラーもどき程度しか作れないのが問題だな
見た目のカスタマイズが困難だからね

ただWin32のコンポーネントを直に使うように作れば速度は本物と遜色ない物ができる
リストビューとか使わずにエクスプローラーの部品を引っ張ってくるなら
735デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/13(水) 08:45:15.81ID:9xiZOSOZ0
>>734
見た目まで自由に作る場合はC++のほうがいいのでしょうか?
面倒そうではありますが
c++でもインターフェースは何らかのライブラリを使うと聞きますが
736デフォルトの名無しさん (ワッチョイ 8242-feI+)
2019/02/13(水) 08:57:22.13ID:hwjiROfk0
>>735
C++でもWinFormsでも頑張れば見た目を変更できないこともない
ただ、素人が一人で片手間でやる作業量じゃすまないんだわな

簡単に見た目を変えたいのならWPFがお薦め
737デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/13(水) 09:06:36.72ID:9xiZOSOZ0
↑わかりました
738デフォルトの名無しさん (ワッチョイ 86ef-gf/b)
2019/02/13(水) 11:27:04.45ID:9xiZOSOZ0
>>736
それなりに使いこなせるように慣れば見た目を変えるのは容易ですか?
739デフォルトの名無しさん (ワッチョイ a235-lln6)
2019/02/13(水) 11:44:42.10ID:l4vsLjs90
スレチだけど、WPFはMahApps.Metroがあるからな。
メトロデザイン風なら楽できる
740デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/13(水) 11:49:24.81ID:sgtLrhrBr
>>730
画像ビューワとか?
ExcelとかWinFormで作られているじゃん
741デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/13(水) 12:08:48.71ID:ARXdU5axd
>>740
設定アプリ
742デフォルトの名無しさん (ワッチョイ e247-XlDt)
2019/02/13(水) 12:17:19.46ID:C9BSnIId0
>>740
電卓
743デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/13(水) 12:19:31.62ID:sgtLrhrBr
>>741
>>742
そういうのはさ、Windows10に標準でインストールされてるやつだけど
自分で作ったUWPアプリなんか誰にも使われることはないよね
そもそもアプリストアなんか見ることは一切ないし
744デフォルトの名無しさん (スフッ Sd22-XlDt)
2019/02/13(水) 12:24:36.18ID:tFsdkf9td
>>743
ストア見てるよ
Ubuntuとかダウンロードしたもん
745デフォルトの名無しさん (ドコグロ MM41-/S9r)
2019/02/13(水) 12:26:05.04ID:e0d6KWciM
ダウンロードをストアから行うことはあるが、ストアでアプリを探すことは一度もやったことないな
746デフォルトの名無しさん (エムゾネ FF22-XlDt)
2019/02/13(水) 12:33:48.97ID:EW0X8toeF
当初のUWPアプリなんて誰も使ってないという主張からどんどん特定条件が増えていくなw
747デフォルトの名無しさん (ワッチョイ bd5f-FtKs)
2019/02/13(水) 12:34:12.66ID:2XDMMrj30
>>740
スタート画面
748デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/13(水) 12:41:07.09ID:ARXdU5axd
>>743
>>725
749デフォルトの名無しさん (ワッチョイ a1e7-FtKs)
2019/02/13(水) 14:03:56.48ID:jF7nIOB90
>>739
っMaterial Design In XAML Toolkit
マテリアルデザイン風もあるよ
MahApps.Metroとの連携も用意されてる
750デフォルトの名無しさん (ワッチョイ f901-mus4)
2019/02/13(水) 18:31:28.53ID:OfMy+HAU0
派遣先の組込上がりのPMがWinFormでタブレット対応アプリ作れと言ってくる

せめてWPFと言ったんだけどオナニーエンジニアうぜーと言われた
751デフォルトの名無しさん (ワッチョイ 7d17-feI+)
2019/02/13(水) 19:00:57.32ID:ixNjFQqZ0
説得できないんなら諦めろ
752デフォルトの名無しさん (ドコグロ MM41-/S9r)
2019/02/13(水) 19:09:55.36ID:e0d6KWciM
>>750
勘違いするな
お前の仕事はモノを完成させることではなく労働力の提供なんだから黙って従えばよい
お前だって成果物責任を負う立場になれば多少なりとも保守的になるさ
753デフォルトの名無しさん (ワッチョイ 461c-kRwR)
2019/02/13(水) 20:02:03.05ID:NZaXG+jY0
>>750
俺にもお前がオナニーエンジニアにしか見えないんだが。
754デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/13(水) 20:19:25.70ID:T+klQ57Ga
>>750
変な言い掛かりつけてる奴は恐らくWPFだけが
今時のタッチ操作をサポートしていることも知らないだけだから相手にすることない
755デフォルトの名無しさん (オッペケ Srd1-da9w)
2019/02/13(水) 21:17:02.96ID:sgtLrhrBr
前も言ったけどさ、ガワはブラウザで作ればいいじゃん
WinFormもWPFもUWPもいらん

Windowsアプリだがブラウザで操作する
ASP.Net Coreでもできそうだが
756デフォルトの名無しさん (ワッチョイ 8dda-5dzK)
2019/02/13(水) 22:08:44.72ID:kXEWJhMu0
web cad な OSSのlibってあるのけ?
757デフォルトの名無しさん (スフッ Sd22-XlDt)
2019/02/13(水) 22:33:58.03ID:luVawDgcd
>>755
オナニー書き込みやめろ
758デフォルトの名無しさん (オッペケ Sr7b-/+m/)
2019/02/14(木) 05:20:39.39ID:MlsuSDTjr
エレクトロンみたいな感じでいいんだよ
裏側はc#、表側はhtml, css, js
.Net CoreならMacでもLinuxでも動くし
これが一番いい
759デフォルトの名無しさん (ワッチョイ 5f47-0jsH)
2019/02/14(木) 07:46:22.81ID:Dp0xuhxW0
( ´_ゝ`)フーン
好きにすれば
760デフォルトの名無しさん (ワッチョイ a761-sF/z)
2019/02/14(木) 08:16:35.34ID:GFNptSHh0
>>758
エレクチオンみたいな感じ?
761デフォルトの名無しさん (オッペケ Sr7b-/+m/)
2019/02/14(木) 11:28:10.10ID:MlsuSDTjr
バカどもには理解できないらしい
762デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/14(木) 11:37:55.91ID:SFw402Pv0
ファイラを作成しているのですが、ツリービューでPC内のフォルダを検出する方法について、
どのあたりを調べたらいいか教えてください
763デフォルトの名無しさん (ワッチョイ a7da-MZ+k)
2019/02/14(木) 12:34:57.27ID:tlcLfILV0
>>762
SYSTEM.IO
764デフォルトの名無しさん (ササクッテロレ Sp7b-GbUa)
2019/02/14(木) 15:12:27.60ID:Q59BY7+Wp
>>760
こういうレスすごい好き
どうしてエレクチオンしないんだろうな
765デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/14(木) 16:05:20.61ID:SFw402Pv0
>>763
ありがとぅ
766デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/14(木) 20:27:11.25ID:SFw402Pv0
ソフト上でファイルにアクセスして、フォルダの中身などを表示したいのですが、まず何のフォームを使えばいいんでしょうか?
767デフォルトの名無しさん (ワッチョイ a761-udZ6)
2019/02/14(木) 20:28:26.38ID:e1Z71hhf0
>>766
picturebox
768デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/14(木) 20:37:17.42ID:SFw402Pv0
↑ありがとうございます
表示を切り替えたい場合などは、listviewなど別のものを使う感じですね
769デフォルトの名無しさん (ワッチョイ 7f7b-uWgP)
2019/02/14(木) 20:54:47.71ID:KyyLfHej0
質問があやふやで回答が無茶苦茶なの続いているけど遊んでいるのか?
770デフォルトの名無しさん (ワッチョイ 475f-3wKp)
2019/02/14(木) 21:19:13.61ID:m8w/NK2F0
あ?ころころすっぞ
771デフォルトの名無しさん (ワッチョイ 2717-yQ/S)
2019/02/14(木) 21:27:08.41ID:4V+YrcT70
ワッチョイ変わったけど同一人物っぽいね
ソフト完成するまでずっと質問してそう
772デフォルトの名無しさん (ワッチョイ 5f47-0jsH)
2019/02/14(木) 23:37:18.13ID:Dp0xuhxW0
>>771
そういうスレでしょ?
773デフォルトの名無しさん (ワッチョイ 8763-lPFl)
2019/02/15(金) 02:03:45.64ID:olENi3qW0
ある要素の中で2番目に高い数値を選ぶエレガントなlinqを教えて下さい
774デフォルトの名無しさん (ワッチョイ 7fda-cT+3)
2019/02/15(金) 03:00:48.77ID:ehpwnyaM0
sortedData[1]
775デフォルトの名無しさん (ワッチョイ a761-sF/z)
2019/02/15(金) 04:23:42.06ID:lsxqATYQ0
Distinct().OrderBy().Skip(1)
とか?
全部同じ値の可能性があるなら知らん。
776デフォルトの名無しさん (ワッチョイ a761-sF/z)
2019/02/15(金) 04:28:01.15ID:lsxqATYQ0
エレガントとは言えない上に間違ってたorz
777デフォルトの名無しさん (ワッチョイ 5f47-IkAN)
2019/02/15(金) 05:03:20.06ID:a5xYZsMx0
Distinct().OrderByDescending().ElementAt(1)
でしょ
778デフォルトの名無しさん (ワッチョイ 8763-lPFl)
2019/02/15(金) 07:02:27.81ID:olENi3qW0
>>774
その2番じぁねーw
779デフォルトの名無しさん (ワッチョイ 8763-lPFl)
2019/02/15(金) 07:03:18.02ID:olENi3qW0
>>777
ありがとうございます。
780デフォルトの名無しさん (ワッチョイ a742-yQ/S)
2019/02/15(金) 09:07:12.92ID:joZk3VJy0
>>777
だいたい良いと思うが、データが2個以上無いと落ちるよね
781デフォルトの名無しさん (ワッチョイ a7da-MZ+k)
2019/02/15(金) 10:33:16.88ID:QcXsKv+O0
2番じゃ駄目なんですか
782デフォルトの名無しさん (ワッチョイ 5f47-0jsH)
2019/02/15(金) 11:41:11.71ID:a5xYZsMx0
>>780
そんなもん例外キャッチすればいいでしょ
783デフォルトの名無しさん (アウアウウー Sa4b-F6dR)
2019/02/15(金) 12:42:08.68ID:VCl1o3iCa
>>782
ArgumentException系をcatchするのは悪手だと思う

.Distinct().OrderByDescending(x => x).Cast<int?>().ElementAtOrDefault(1)
とするのはどうだろう
784デフォルトの名無しさん (ドコグロ MM3b-3Kdw)
2019/02/15(金) 12:53:25.53ID:Qph8FA2WM
>>780
そういう状態を想定するならそもそも2番目が無い時の要件書いてないやつが悪い
785デフォルトの名無しさん (スププ Sd7f-0jsH)
2019/02/15(金) 12:56:57.66ID:dZvrqvyod
>>780
ちょっとしたQAにあらゆる異常系処理にまで対応したコードまで求めるのは違うと思う
786デフォルトの名無しさん (オッペケ Sr7b-/+m/)
2019/02/15(金) 13:01:49.14ID:tYLxs8Yjr
みんなLinkつこてるの?
787デフォルトの名無しさん (ササクッテロレ Sp7b-13Kq)
2019/02/15(金) 13:02:20.42ID:juddEHEPp
二番目に高い要素を取得っちゅーてんのに二番目が無い場合に
例外じゃなく勝手に既定値を返す方がよほど悪手じゃね?
788デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/15(金) 13:04:27.67ID:Ayyf6Kdi0
c#で作られているソフトって何があるのですか
789デフォルトの名無しさん (アウアウウー Sa4b-F6dR)
2019/02/15(金) 13:18:02.81ID:VCl1o3iCa
>>787
強調し忘れてたから念の為書いておくと
Null許容型にしているから「二番目に高い要素が0」の場合と「二番目が無い場合」は区別できる
それを踏まえた上で指摘してくれているなら……Null許容型使ってたらnullチェックしてくれると信じてるんだがどうだろう
790デフォルトの名無しさん (ササクッテロレ Sp7b-13Kq)
2019/02/15(金) 13:44:54.78ID:juddEHEPp
>>789
正直そのへんは踏まえずケチつけたけど
結局エラー分岐が戻り値か例外かって話になるなら
質問者そっちのけでどちらがスマートか殴りっこしても不毛だなあ
791デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/15(金) 17:22:07.61ID:Ayyf6Kdi0
vs2017でただの波括弧で特定部分を囲うと、インデントされますが、これはどのような意味を持ちますか?
792デフォルトの名無しさん (ワッチョイ 5f61-yQ/S)
2019/02/15(金) 17:37:00.14ID:l6xRE0dp0
超かっこいい
793デフォルトの名無しさん (ワッチョイ a70c-yQ/S)
2019/02/15(金) 17:54:08.50ID:VXffwVEC0
>>791
ブロックという意味です
794デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/15(金) 18:14:31.02ID:Ayyf6Kdi0
>>793
if{}
みたいな条件がない
{}
だけの状態でもエラーとはなりませんが、何の意味があるのですか?
見た目を整えるだけですか?
795デフォルトの名無しさん (ワッチョイ a7da-MZ+k)
2019/02/15(金) 18:34:36.59ID:QcXsKv+O0
>>788
nikon の現像ソフト
796デフォルトの名無しさん (ドコグロ MM1f-udZ6)
2019/02/15(金) 18:35:17.81ID:T7xyRbUnM
>>794
一時変数を何度も使うときに便利
797デフォルトの名無しさん (ドコグロ MM3b-3Kdw)
2019/02/15(金) 18:54:51.21ID:Qph8FA2WM
>>794
C# ブロックスコープ
でぐぐれ
798デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/15(金) 18:57:50.87ID:Ayyf6Kdi0
↑ありがとう
799デフォルトの名無しさん (ワッチョイ 0788-eHko)
2019/02/15(金) 19:10:43.29ID:A45VNw280
>>794
スコープを制限するからその中で宣言したローカル変数は外で使えない
たぶん、それ以外に違いはない
800デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/15(金) 20:08:29.07ID:Ayyf6Kdi0
c#のwinformのmenustripの背景というのは変更できないのでしょうか
この辺はそれぞれのPCに依存してるのかなーと思います
801デフォルトの名無しさん (ワッチョイ 7f7b-uWgP)
2019/02/15(金) 20:12:53.72ID:gfFuWLI70
>>800
BackgroundImageのプロパティに設定
802デフォルトの名無しさん (ワッチョイ 0743-amp2)
2019/02/15(金) 21:35:27.37ID:jCkiam8S0
>>792
俺の事か?
803デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/16(土) 05:07:55.77ID:d5pUUzr/0
>>801
ありがつぅ
804デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/16(土) 05:57:51.57ID:d5pUUzr/0
c#でスクリーンショット撮影するソフトは不可能ですか?
805デフォルトの名無しさん (スッップ Sd7f-/Qxi)
2019/02/16(土) 07:29:21.89ID:+4z8MAVsd
いいえ
806デフォルトの名無しさん (ワッチョイ 2717-yQ/S)
2019/02/16(土) 11:13:44.16ID:I7KLi1I90
>>804
検索すればすぐわかる
807デフォルトの名無しさん (ワッチョイ a761-yQ/S)
2019/02/16(土) 11:55:58.09ID:mmBt6tnL0
>>804
MessageBox.Show("PrintScreenボタンを押せろください");
808デフォルトの名無しさん (ワッチョイ 2702-yQ/S)
2019/02/16(土) 16:07:58.46ID:n2t8JUOl0
Cでは数値型変数を複数の場所から参照するためには、変数のポインタ得てそれを使いますが
C#ではポインタ無いんで、数値フィールド持つクラスを作って
そのインスタンスから参照するしか無いんですか?
809デフォルトの名無しさん (スップ Sdff-K7Ax)
2019/02/16(土) 17:01:04.63ID:dfsqwbBrd
別にポインタはあるぞ。
行儀わるいから、使うべきかよくかんがえたほうがいいだけ。
810デフォルトの名無しさん (ワッチョイ df32-A2tD)
2019/02/16(土) 17:01:47.04ID:mSWYdTC80
>>808
スカラー型なら直接読み書きすれば良いのでは無いかと思いますが…配列なら参照型です
変数参照を扱うなら強化されたrefやoutを使えます、またunsafeだとポインタも使えます
TypedReferenceというのも有りますがコレを扱うための__makerefなどは些かアレなので…

.NETには値参照用のSystem.Runtime.CompilerServices.StrongBox<T>などジェネリック既存型も有ります
811デフォルトの名無しさん (スププ Sd7f-amp2)
2019/02/16(土) 17:09:27.87ID:eqms90yHd
定数参照的な話?
812デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/16(土) 17:11:36.23ID:PR5Tb5Rba
>>808
Cでもスコープ内の変数は普通に読み書き可能。
スコープ外の変数でもその値を引数として関数に渡すことができる
ポインタが必用になるのは変数を書き換える汎用的な関数を書く場合だけ
C#の場合、同じことはrefやout付きの引数で実現できる
813デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/16(土) 17:20:05.45ID:d5pUUzr/0
http://nn-hokuson.hatenablog.com/entry/2017/08/17/200918#%E3%83%9C%E3%83%BC%E3%83%AB%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%99%E3%82%8B
個々のサンプル通りにゲームを作成中なのですが、paintイベントハンドラってなんでしょうか
paintというイベントは何によって発生するのかよくわかりません
814デフォルトの名無しさん (ササクッテロレ Sp7b-13Kq)
2019/02/16(土) 17:27:37.84ID:NXeshUsvp
>>813
> paintイベントハンドラってなんでしょうか
描画をするためのハンドラです

> paintというイベントは何によって発生するのかよくわかりません
描画をしたい時に発生します
815デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/16(土) 17:31:08.38ID:d5pUUzr/0
↑描画とはどういう操作のことでしょうか?
フォームがロードされた時点で実行されます
816デフォルトの名無しさん (ササクッテロレ Sp7b-13Kq)
2019/02/16(土) 17:37:19.60ID:NXeshUsvp
>>815
ゲームの場合は勝手に描画が実行され続けます
817デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/16(土) 18:16:49.35ID:d5pUUzr/0
↑自動的にですか
ありがとうございます
818デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/17(日) 12:34:21.09ID:Cn2cXppc0
using System;
public class Hello{
public static void Main(){
// Your code here!

private void myfunction(){
Console.WriteLine("jfoasd");
}

myfunction();

}
}

paizaでC#を入力するとエラーが出るのですが、どこがおかしいですか?
private voidの部分が予期されていないというエラーが出ますね
https://paiza.io/ja
819デフォルトの名無しさん (ワッチョイ c701-cT+3)
2019/02/17(日) 12:38:27.42ID:51VRzV3m0
staticな関数から動的な関数を呼び出してるんじゃない?
820デフォルトの名無しさん (ワッチョイ 2717-yQ/S)
2019/02/17(日) 12:59:41.60ID:j6Gi9YSR0
ローカル関数をサポートしてないだけでしょ
821デフォルトの名無しさん (ササクッテロレ Sp7b-13Kq)
2019/02/17(日) 13:00:14.76ID:I+dbukVsp
>>818
private voidの部分がおかしいですね
822デフォルトの名無しさん (ワッチョイ 077b-Pt61)
2019/02/17(日) 14:31:14.74ID:cAaLtQSp0
>>818
まずこういう質問はpaizaの問題でC#のスレでやられても混乱するからVisualStudioでの話以外はやめてくれ
コード書けるサイトが間違っていないって保証が無い。実際動くコード転載してもエラーって何度も経験しているからな
VisualStudioで書くのならターゲットフレームワークを.Net4.7以上にしてprivate void myfunction()からprivate外してvoid myfunction()で動く
823デフォルトの名無しさん (ワッチョイ 7ff2-5Hf3)
2019/02/17(日) 16:38:09.76ID:Agaj4T0x0
たすけて!これ何が違うの?
どっちも普通に使えるよね?
ちな初心者
@List<T> list = new List<T>();
AList<T> list;
824デフォルトの名無しさん (ワッチョイ 87e7-Hwlg)
2019/02/17(日) 16:55:04.91ID:2ynU5zYy0
後者は中身が無いからそのままじゃ使えない
825デフォルトの名無しさん (アウアウウー Sa4b-FXSN)
2019/02/17(日) 17:04:55.99ID:KqlDIF5Pa
>>823
1はlistという変数の定義と同時にList型のインスタンスで初期化している、普通に使える
2はlistという変数を定義しただけの状態
ローカル変数の場合は後で初期化する必要がある、未初期化のまま使おうとするとコンパイルエラー
クラスや構造体のフィールドの場合は暗黙でnullで初期化される、「普通に使う」ためには後でList型インスタンスを代入してやる必要がある
826デフォルトの名無しさん (ワッチョイ 5f01-3Kdw)
2019/02/17(日) 17:07:18.00ID:naWxhgEk0
>>823
> @List<T> list = new List<T>();

List<T> list;
list = new List<T>();
と同じ

> AList<T> list;
はlistの実体が設定されてないからそのままlist.Add(…)とかやると例外が発生する
827デフォルトの名無しさん (スッップ Sd7f-/Qxi)
2019/02/17(日) 17:07:30.92ID:B/nvmulQd
>>822
.NETのバージョンなにか関係あるか?
828デフォルトの名無しさん (ワッチョイ df32-A2tD)
2019/02/17(日) 17:12:13.37ID:tKx1WgvG0
>>823
C++と違ってクラスは強制的に参照型で変数宣言がポインタと同等なのよ
宣言だけではコンストラクタはもちろんインスタンスも割り当てられない
829デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/17(日) 17:26:45.23ID:Cn2cXppc0
>>822
paiza だと挙動が少し違うようです
このサイトはやめときます
830デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/17(日) 17:35:39.94ID:Cn2cXppc0
ちょっとコードを確認したいというときに、使えるツールありますか?
わざわざプロジェクト作るほどではないときですね
python のidleのようなものです
831デフォルトの名無しさん (ワッチョイ 275f-8zyB)
2019/02/17(日) 17:38:44.31ID:Ox4HquXb0
>>830
C#インタラクティブ
832デフォルトの名無しさん (ワッチョイ a7da-MZ+k)
2019/02/17(日) 17:41:30.40ID:0sFVNd3o0
cscは標準で入っているでしょ
833デフォルトの名無しさん (スッップ Sd7f-/Qxi)
2019/02/17(日) 17:54:52.02ID:B/nvmulQd
>>830
LINQPad
834デフォルトの名無しさん (ワッチョイ 5f47-0jsH)
2019/02/17(日) 18:01:37.03ID:/k3HmPSI0
csiだな
835デフォルトの名無しさん (ブーイモ MMcf-lPFl)
2019/02/17(日) 18:03:11.00ID:owh3i+7dM
スクリプトみたいに対話型でできる?
836デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/17(日) 18:18:26.04ID:Cn2cXppc0
↑ありがとうございました
837デフォルトの名無しさん (ワッチョイ 5f01-3Kdw)
2019/02/17(日) 18:21:23.19ID:naWxhgEk0
>>830
notepad.exe + csc.exe
838デフォルトの名無しさん (ワッチョイ 7ff2-5Hf3)
2019/02/17(日) 18:28:37.10ID:Agaj4T0x0
>>825
>>826
>>828
NEWはしなきゃいけないのね
有難う御座います
839デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/17(日) 18:29:26.69ID:Cn2cXppc0
>>833
これいいっすね
初心者なのでしばらく練習します
840デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/17(日) 20:45:16.60ID:Cn2cXppc0
vs codeもちょっとしたコードの確認に使うものなんでしょうか?
841デフォルトの名無しさん (ササクッテロレ Sp7b-13Kq)
2019/02/17(日) 21:29:49.15ID:I+dbukVsp
>>840
使うひともいれば使わないひともいますね
842デフォルトの名無しさん (ワッチョイ 7fda-cT+3)
2019/02/18(月) 01:50:55.38ID:pxm+KTrW0
入力項目が沢山ある画面で、変更を保存せず画面を閉じようとしたときは警告を出したいです。
何も変更せず画面を閉じる場合は警告を出さずに閉じたいです。

この場合の変更チェックは入力項目に紐づく変数1個1個をチェックする以外に、スマートな方法は無いでしょうか?
入力項目に紐づく変数はデータクラスとして用意しているので、画面開く直前にハッシュのようなものを計算し退避しておき、
画面を閉じる直前にハッシュを再計算し比較すれば行けると思うのですが、オブジェクトのハッシュを求めるのは
GetHashCodeでいいのでしょうか?
843デフォルトの名無しさん (ワッチョイ a761-udZ6)
2019/02/18(月) 01:58:21.05ID:0Vx/m/dz0
ないね
上に1dot
下に1dot
って動かされて終了したときは
出したくないんでしょ?
何か妥協点がない限り全部比較するしかないよ
844デフォルトの名無しさん (ワッチョイ 275f-8zyB)
2019/02/18(月) 02:13:28.99ID:Y8U6L+e90
>>842
データクラスとして纏めてあるなら、GetProperties()やGetFilelds()で抽出した各変数を
ループで比較すればそこそこスマートなんじゃない。
845デフォルトの名無しさん (ワッチョイ 5f47-0jsH)
2019/02/18(月) 02:29:46.98ID:GC8vaMYY0
俺ならデータクラスにINotifyPropertyChangedを実装するかな
846デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/18(月) 02:53:09.62ID:+SQV8UeVa
>>842
直接の回答でなくてごめん。

そういうMSにありがちなUIはたぶん

(1) 変更をキャンセル可能であること
(2) OKボタンをクリックした時点で初めて変更が反映されること

が要件になってるからそういう仕様になるんだと思うけど、こんな要件が必用ないなら
画面の入力項目の変更を変更があった時点でその都度対応するオブジェクトの
プロパティーに反映させてしまえば、「変更を保存せず画面を閉じようとしたときは警告を出」す
必用自体がなくなる

まあ一種の手抜きだけど、場合によっては許容される手抜きだと思う
847デフォルトの名無しさん (ワッチョイ 7fda-cT+3)
2019/02/18(月) 03:23:01.21ID:pxm+KTrW0
>>845
いいアイデアですね。
プロパティ1つ1つに
if(beforeValue!=afterValue)
 OnPropertyChanged();
みたいな実装が必要なのが若干だるい気がしますが。

>>846
つまり変更した瞬間に即確定って意味でしょうか?
後出し情報で申し訳ないですが、最終保存先がDBで
アプリにとって比較的重要な情報の更新をしようとしています。
なるべく意図しない変更を防ぎたいです。
848デフォルトの名無しさん (ワッチョイ 5f47-0jsH)
2019/02/18(月) 08:27:54.30ID:GC8vaMYY0
>>847
データクラスのベースクラスをPrism.MvvmのBindableBaseにするとまあまあタイプ量減らせたりするよ
849デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/18(月) 11:29:03.32ID:huM3ZKfN0
ふらっと C#,C♯,C#(初心者用) Part141 	YouTube動画>1本 ->画像>5枚
vs codeを使っているのですが、どこから実行できるんでしょうか?
言語はc#で、マイクロソフトのc#のアドオンを入れました
ctr shift pでrunというコマンド?が出てくるので、それをクリックしたのですが、outputには何も出ません

また、ヴィジュアルスタジオの場合はイベントハンドラーがありますが、常に実行させるようなイベントというのはただのC#にあるんでしょうか?
850デフォルトの名無しさん (スッップ Sd7f-/Qxi)
2019/02/18(月) 11:34:39.00ID:FChOt/Xad
>>849
チュートリアルくらいやれよ
851デフォルトの名無しさん (ブーイモ MMcf-lPFl)
2019/02/18(月) 12:06:26.29ID:RBxZ7FEaM
>>849
ターミナルでdotnet runと打ち込んでEnterや
852デフォルトの名無しさん (スフッ Sd7f-Phvs)
2019/02/18(月) 12:13:35.54ID:vM1YVHVQd
>>842
そう言うの割とダルいから、データをクラスにまとめといて、開いた時点でシリアライズして文字列で持っちゃう。
保存時にシリアライズして文字列一致しなかったら、変更されてると言うことにする。
一個ずつ比較したら改修で漏れるよ。
853デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/18(月) 12:41:30.31ID:huM3ZKfN0
>>851
ありがとうございます
そうやって実行するんですね
visual studioよりむずいです

ただ、Program.csという自動生成されたファイルが実行されます
同じフォルダに自分で作ったsample.csがあるんですが、こっちを実行させる設定はどこからするんでしょうか?
パスを指定してからdotnet runしてもエラーになるます
854デフォルトの名無しさん (スップ Sdff-/Qxi)
2019/02/18(月) 12:42:32.67ID:OjJXAwBNd
>>853
いやだからチュートリアルくらいやれって
855デフォルトの名無しさん (ワッチョイ 7fda-lPFl)
2019/02/18(月) 12:59:06.77ID:pxm+KTrW0
>>852
それもいい考えですね。
メンバ変数に[DataMember]とアノテーションを
つければいいだけですね
856デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/18(月) 13:05:27.38ID:99WFuefSa
まあ一度変更があった時点で実際には等価でも別物と見なす実装が一番簡単だねたぶん。
実際そういうソフト結構あるよね。

そういう手抜きが気に入らないなら素直にEquals実装するのが結局シンプルじゃないのかな。
フィールドが全部値型の構造体ならデフォルト実装で済むと思ったし

...と思って調べてみたけど、なんかドキュメントによって書いてるこが微妙に違うなw

https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/statements-expressions-operators/how-to-define-value-equality-for-a-type
↑には「リフレクションを使用して、型のフィールドとプロパティをすべて調べます。」と書いてあるが

https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2
↑には単純にビットイメージの比較と書いてある

となってる。どっちが正しいんだ?w
857デフォルトの名無しさん (アウアウウー Sa4b-F6dR)
2019/02/18(月) 18:49:02.00ID:L0NbuPbAa
>>856
> https://docs.microsoft.com/en-us/dotnet/api/system.valuetype.equals?view=netframework-4.7.2
のRemarksには、thisとobjの全フィールドが参照型でなければbyte単位の比較、そうでなければリフレクションを使うとある
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca2231-overload-operator-equals-on-overriding-valuetype-equals
他に知っているもので↑では、リフレクションを使うとだけある

https://referencesource.microsoft.com/#mscorlib/system/valuetype.cs
少なくとも.NET Framework 4.7.2では、ビット比較だけしていそうなFastEqualsCheckを呼ぶパスが存在する
そのパスを通るか判定しているCanCompareBits関数はexternなので詳細不明
858デフォルトの名無しさん (アウアウウー Sa4b-F6dR)
2019/02/18(月) 19:16:27.32ID:L0NbuPbAa
ごめん「他に知っているもの」に貼るURL間違えた
https://docs.microsoft.com/en-us/visualstudio/code-quality/ca1815-override-equals-and-operator-equals-on-value-types
859デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/19(火) 11:05:06.64ID:t+ZZI+Uh0
vs codeのproblemの欄なんですが、間違ったコードを入力しても自動で更新されないようです
デバッグを実行しないとだめなようですが、リアルタイムにエラーを表示してくれる設定はできますか?
以前はできたんですが
860デフォルトの名無しさん (スップ Sd7f-/Qxi)
2019/02/19(火) 12:03:57.65ID:IsM0ebyqd
日本語でよろしく
861デフォルトの名無しさん (オイコラミネオ MMdb-KRFs)
2019/02/19(火) 12:33:41.44ID:efthhon4M
そいつは難しいproblemだな
862デフォルトの名無しさん (ワッチョイ 077b-Pt61)
2019/02/19(火) 17:38:20.55ID:JJR46+B00
>>859
vs codeのことは専用スレで聞け、スレ違い
Visual Studio Code / VSCode Part5
http://2chb.net/r/tech/1541649564/
863デフォルトの名無しさん (ワッチョイ bfef-l0e6)
2019/02/19(火) 19:41:44.24ID:t+ZZI+Uh0
なぜmain関数の中に処理を書かないといけないのですか?
そういうルールだからってことですか?
pythonだとどこに書いてもいいと思うんですが
864デフォルトの名無しさん (ブーイモ MMcb-A2tD)
2019/02/19(火) 19:46:47.41ID:+t+aP4snM
そういう設計思想だから
865デフォルトの名無しさん (ワッチョイ bf7d-KRFs)
2019/02/19(火) 19:54:09.61ID:zirjw7Cj0
main以外をエントリポイントにできるけどな
win32apiからの慣習
866デフォルトの名無しさん (ワッチョイ 5f2f-dPPD)
2019/02/19(火) 21:39:52.76ID:eXSGnhOj0
>>865
C#で出来るの?
どうやって?
867デフォルトの名無しさん (ワッチョイ 5fad-/Qxi)
2019/02/19(火) 22:33:06.53ID:MriKnXlj0
>>866
なくはない
https://ufcpp.net/study/csharp/cheatsheet/apscripting/
868デフォルトの名無しさん (ワッチョイ 7ff2-yQ/S)
2019/02/20(水) 01:09:59.10ID:WG18KXuW0
助けて!!
Parallel.Forを使ってそれぞれで別の演算アプリを起動して
4スレッドで演算処理してるんだけど
アプリ強制終了してもスレッド(演算アプリ)はずっと処理し続けてるの!お願い止まって!!

親スレッド(UIスレッド)が死んだら子スレッドも死ぬみたいなお作法ありますか?
演算アプリはSystem.Diagnostics.Process使って起動してます
869デフォルトの名無しさん (ワッチョイ 5f47-0jsH)
2019/02/20(水) 01:46:34.63ID:3QCW37aG0
Process.Kill()でしょ
870デフォルトの名無しさん (スプッッ Sdff-lPFl)
2019/02/20(水) 02:03:55.40ID:/GvzZ744d
>>868
それはC#的にスレッドとは言わない。
別プロセスだ
871デフォルトの名無しさん (オッペケ Sr7b-mTlM)
2019/02/20(水) 07:56:23.82ID:Jfh2EJBjr
電源off
872デフォルトの名無しさん (ワッチョイ a742-yQ/S)
2019/02/20(水) 09:16:30.41ID:JdxivbIi0
>>868
CancellationTokenSourceを使ってみれば?
873デフォルトの名無しさん (アウアウエー Sa1f-cT+3)
2019/02/20(水) 16:01:28.63ID:qtZmd9yJa
form1にsplit container をverticalで貼り付けて左右に2分割してその中にボタンとかコンポーネントいろいろ置いてて、
あとから上にmenu stlipを追加したくなってツールボックスからmenu stripコンポーネントをドラッグ&ドロップすると
splitcontanerのpanel1かpanel2のどっちかにしか貼り付けられないのだけどform1にmenuStripを表示するようにするにはどう操作すればいいのでしょうか
874デフォルトの名無しさん (ワッチョイ ff7c-yz29)
2019/02/20(水) 16:10:46.41ID:YXUL7WNb0
一旦張り付けてから
ドキュメントアウトライン表示させてForm直下に移動させる
875デフォルトの名無しさん (アウアウエー Sa1f-x6Gg)
2019/02/20(水) 16:31:00.95ID:ThCTwK+Ha
>>873
前も書いたけど、
[ctrl] + [alt] + t
876デフォルトの名無しさん (アウアウエー Sa1f-cT+3)
2019/02/20(水) 16:42:16.67ID:qtZmd9yJa
>>874
ありがとうございます
877デフォルトの名無しさん (アウアウエー Sa1f-cT+3)
2019/02/20(水) 16:43:52.95ID:qtZmd9yJa
>>875
ありがとうございます

配置していたテキストボックスがめり込んでしまいましたがなんとか修正してみます
878デフォルトの名無しさん (ワッチョイ 66f2-i3+Z)
2019/02/21(木) 12:23:38.43ID:A65FK9eD0
目のかすみ
>>872
>>869
神!トークン付けてスレッド実行して
キャンセル時にスレッド内でIsCancellationRequestedで拾って
Process.Kill()すればいいのか
行けそうな気がしてきた
879デフォルトの名無しさん (ワッチョイ b67c-cX2z)
2019/02/21(木) 12:51:17.47ID:Nj5ihKJg0
それでいいのか
アプリ強制終了っていうからタスクマネージャから落とす時のことを想像してた
880デフォルトの名無しさん (ワッチョイ 66f2-i3+Z)
2019/02/21(木) 13:02:04.01ID:A65FK9eD0
>>879
それもあるよ!今はキャンセル機能ないから強制終了させて
この問題発せしたんよ
ちなみに強制終了の場合はなんか手法ある?
別プロセスもタスクマネージャーで落とすしかない?
881デフォルトの名無しさん (ワッチョイ b67c-cX2z)
2019/02/21(木) 13:15:26.35ID:Nj5ihKJg0
基本的にはそうじゃないかね
ちょっと凝った風にするならプロセス間通信でハートビート送って応答なけりゃ自死するとかあるけど
882デフォルトの名無しさん (ワッチョイ b501-4fA7)
2019/02/21(木) 16:20:57.98ID:+4fiWh+W0
すみません、コルーチンの使い方について教えてください。
例えばRPGなどのゲームで、キャラクターAに話しかけると、数秒待って反応が返ってくるという処理をしたいと思っています。

まず、数秒待つというコルーチンを作り
private IEnumerator waitforsecond(float sec) {
yield return new WaitForSeconds(sec);
}

次にAに話しかけた時の処理を作りました。

public void Sample(){
 //50%の確率で無視される
 if(Probability.DetectFromPercent(50)){
MainText.text = “Aに話しかけてみた・・・”;
StartCoroutine(waitforsecond(2));
 MainText.text = "なんとAから無視された!”;
 
 //50%の確率で殴られる
  }else {
MainText.text = “Aに話しかけてみた・・・”;
StartCoroutine(waitforsecond(2));
MainText.text = "なんとAから蹴られた!”;
883デフォルトの名無しさん (ワッチョイ b501-4fA7)
2019/02/21(木) 16:24:21.78ID:+4fiWh+W0
これで、話しかけたあと2秒時待機して反応がある、という処理になるかと思ったのですが、うまく行きません。

あと登場キャラクターもA、B、C‥‥とたくさんいるのであれば、話しかけると数秒待って反応するという関数を作ってあげたほうがスッキリするのでしょうが、やり方がイマイチわかりません。
884デフォルトの名無しさん (ブーイモ MM0a-LvDS)
2019/02/21(木) 16:42:20.49ID:VKoyYoRjM
>>883
非同期や
885デフォルトの名無しさん (ワッチョイ b501-4fA7)
2019/02/21(木) 17:11:57.24ID:+4fiWh+W0
>>884
非同期・・ググりました。
「非同期」とは重い処理があった場合は終わるのを待たないこと。とありますが、、
886デフォルトの名無しさん (アウアウクー MM7d-QeDo)
2019/02/21(木) 19:03:38.92ID:+XWUccMjM
Wait前にthis.Refresh()って無意味だっけ
887デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/21(木) 19:53:42.96ID:5v/pkJgQa
>>882
何で待つのにイテレーターを使うのかちょっと意味がわかんないねw
888デフォルトの名無しさん (ワッチョイ 790c-rusg)
2019/02/21(木) 20:08:47.12ID:c4smrZlO0
yieldでコルーチンという一昔前の一発芸がUnityで幅を利かせているから仕方ないのねー
889デフォルトの名無しさん (ワッチョイ 667b-SpKW)
2019/02/21(木) 20:11:16.75ID:969mh7640
俺もあいまいな理解だから偉そうには言えないけど
>>882
ここのサンプルが分かりやすいかも
http://developer.wonderpla.net/entry/blog/engineer/Unity_Co-routine/
>>885
private IEnumerator waitforsecond(float sec) とpublic void Sample()が非同期(違う時間軸での動作)になるので待ち時間になっていない
>>887の言う通り待ち時間には他の物を使わないと
890デフォルトの名無しさん (ワッチョイ 6a2f-oRCO)
2019/02/21(木) 20:17:45.84ID:mRRRBv2X0
>>878
その演算アプリがどういう物かわからんが
そもそもそれ別プロセスじゃないとダメなのか?
891デフォルトの名無しさん (ワッチョイ b501-4fA7)
2019/02/21(木) 22:25:20.57ID:+4fiWh+W0
>>889
ありがとうございます。
他の物とは具体的にどんな関数を使えばいいのでしょうか?
892デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/21(木) 23:14:15.44ID:5v/pkJgQa
>>891
思ったより面倒臭い
https://ideone.com/Sf85HN
893デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/21(木) 23:22:50.38ID:5v/pkJgQa
>>892
これ書いてて一つ疑問に思ったのが、
MessagingTask = MessagingTask.ContinueWith(t => job.Action());
これを以下のように、
MessagingTask.ContinueWith(t => job.Action());
こう変えると期待した動きにならない。
ContinueWithってキューになってて先に入ってるタスクの完了を待って次を実行すると思ったけど違うのか
894デフォルトの名無しさん (ワッチョイ 3de7-fRYm)
2019/02/21(木) 23:42:43.30ID:aABnGI350
>>893
重箱の隅…だが。
Task.Run(() => { })の代わりにTask.CompletedTaskってあるよ。
後、Task.Delay(Pause).Wait()ってThread.Sleep(Pause)で良いんでない。
895デフォルトの名無しさん (ワッチョイ a95f-cnIv)
2019/02/21(木) 23:44:55.38ID:e6A24yU10
>>893
継続タスクが1つとは限らない。複数あったらパラって実行される。
896デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/21(木) 23:48:25.54ID:5v/pkJgQa
>>894
うん、知ってたけど今使ってるのがVS2015なのよ...
897デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/21(木) 23:49:35.07ID:5v/pkJgQa
>>895
やっぱり俺が誤解して理解してたんだなありがと
898デフォルトの名無しさん (アウアウエー Sa52-dS/9)
2019/02/23(土) 14:44:05.16ID:3cOSTboLa
MenuStripコンポーネントでItemを選択した時にその左にチェックを入れるようにしてるのだけど
選択した時点でメニュー閉じちゃって若干不便なのだけど
ひらいたままにする設定にはできないのでしょうか
899デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/23(土) 19:07:18.92ID:gzY/wSmba
>>898
ルートのアイテムの直下ならClickか何かで親のShowDropDown()を呼べば一応実現できるっぽい。
入れ子になってる場合は、

....

ToolStripMenuItem1.Click += (sender, e) =>
{
  RecursiveShowDropDown(((ToolStripMenuItem)sender));
};

....

void RecursiveShowDropDown(ToolStripMenuItem item)
{
  if (item == null) return;
  var parent = item.OwnerItem as ToolStripMenuItem;
  RecursiveShowDropDown(parent);
  parent?.ShowDropDown();
}

たぶんこれでいける。
でもエンターキーでクリックした場合の操作性に問題が残るけど
900デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/23(土) 19:24:23.57ID:gzY/wSmba
こっちの方がいいか
EventHandler eh = (sender, e) =>
{
  Action<ToolStripMenuItem> a = null;
  a = item =>
  {
    if (item == null) return;
    var parent = item.OwnerItem as ToolStripMenuItem;
    a(parent);
    parent?.ShowDropDown();
  };
  a((ToolStripMenuItem)sender);
};
ToolStripMenuItem1.Click += eh;
901デフォルトの名無しさん (アウアウエー Sa52-dS/9)
2019/02/24(日) 03:15:52.41ID:pRL7US30a
>>899
無事できました
ありがとうございます!
902デフォルトの名無しさん (ワッチョイ ada2-uPuZ)
2019/02/24(日) 11:47:42.69ID:L3+XvQB40
質問です
現在、以下のように一つの非同期処理(時間のかかるディスクの書き込み)
を実行しています。

private async void button1_Click(object sender, EventArgs e)
{
 await DoSomethingAsync();
 MessageBox.Show("完了");
}

これを実行中にUIを操作して、次の処理の準備ができたら(実行する内容はDoSomethingAsync)
button1を押して予約し、実行中の処理が終わったら引き続き実行させたいです。(並列ではなく)
また、「完了」は登録されたタスクが全て終わったときに出したいです。
どのように書くのが一般的なのでしょうか?


初回実行時にすべての実行すべきタスクがわかっている場合は
そのタスクのリストを作ってWhenAllする みたいなのはググったら出てきたんですが

ContinueWithを使うのかなと思ったのですが、書き方がわかりませんでした
903デフォルトの名無しさん (ワッチョイ 662c-/qFZ)
2019/02/24(日) 11:58:25.65ID:u2ta9zSf0
Queue<T>を使えば良いんじゃね
904デフォルトの名無しさん (ドコグロ MM15-bAbS)
2019/02/24(日) 12:36:22.83ID:cR8EPyISM
>>902
最後に追加したTaskを覚えておいてContinueWithで繋ぐとかできなくはないけど、
そんな変なハックをするくらいなら素直に別スレッド立てて順番にバックグラウンド実行したほうがいい
Producer-Consumerでググれ
905デフォルトの名無しさん (ワッチョイ 9eef-upo5)
2019/02/25(月) 11:09:41.10ID:a5srEHrc0
c#のフォームで、タイルマップエディタのようなものを作りたいのですが、どのような情報を調べたらいいでしょうか
また、そのような目的に適したフォームはありますか?

そもそもC#が適切なのかわからないのですが
906デフォルトの名無しさん (ワッチョイ 66f2-rusg)
2019/02/25(月) 11:41:19.60ID:2iFL+VGx0
>>90結局Unityになるんやろなあ
907デフォルトの名無しさん (ワッチョイ 7d01-b+8Y)
2019/02/25(月) 12:13:30.45ID:kHS+5sOB0
VisualStudioでデバッグ実行した時だけプログラムがフリーズしてしまうのですがこういう時はどういった原因が考えられるでしょうか?
WinFormを使用していてフォームが立ち上がったらバックグラウンドで色々するって感じの処理なのでどこかでUIスレッドをブロックしているのかとも思いましたがConfigureAwait(false)の設定し忘れは無さそうでした
VisualStudioを通さずに直接実行した場合は正常に動作しています
908デフォルトの名無しさん (ワッチョイ b67c-cX2z)
2019/02/25(月) 13:05:26.46ID:fW706uYI0
とりあえずフリーズした時に「すべて中断」して
どこでブレイクされるか確認
ついでにスレッド一覧を見てみる
909デフォルトの名無しさん (ササクッテロラ Spbd-b+8Y)
2019/02/25(月) 13:15:34.63ID:O8+i9ARHp
>>908
それを試そうとしたのですが全て中断しても中断出来ない状況です
中断押すとVS自体もフリーズしてタスクマネージャーからプログラムを終了しないと復帰出来なくなります
910デフォルトの名無しさん (ファミワイ FFc9-kEY9)
2019/02/25(月) 15:41:31.91ID:stIKiSPsF
最前面じゃなくて後ろ面にアクティブウィンドウがポップアップされてるんじゃね
911デフォルトの名無しさん (アウアウエー Sa52-SfL3)
2019/02/25(月) 19:11:52.07ID:ERkCIkZda
>>902
単純にボタンをクリックした回数だけ非同期メソッドを実行したいだけなら
これでいいような気が

private bool mBusy = false;
private int mRepeatCount = 0;

private async void button1_Click(object sender, EventArgs e)
{
  mRepeatCount += 1;
  if (mBusy) return;
  mBusy = true;
  for (int i = 0; i < mRepeatCount; i++)
    await DoSomethingAsync();
  mBusy = false; mRepeatCount = 0;
  MessageBox.Show("全部終わった");
}
912デフォルトの名無しさん (スフッ Sd0a-7Wge)
2019/02/25(月) 19:17:48.39ID:61uBElrFd
>>907
俺はエディタでヒント表示させただけで落ちるけど。Blendなら使えてる。
913デフォルトの名無しさん (ワッチョイ 9eef-upo5)
2019/02/26(火) 06:14:33.14ID:hTJo4mxi0
ふらっと C#,C♯,C#(初心者用) Part141 	YouTube動画>1本 ->画像>5枚
c#をデバッグするとこのようなエラーが出るのですが、どこを改善すればいいかヒントをください
914デフォルトの名無しさん (ワッチョイ 6aad-5Ibu)
2019/02/26(火) 06:21:28.31ID:byKZhMZS0
>>913
dllのパス
915デフォルトの名無しさん (ワッチョイ 9eef-upo5)
2019/02/26(火) 07:34:07.95ID:hTJo4mxi0
↑ありがとうございます
.NET Core Launch (console)
というデバッガを使っているので、
"program": "${workspaceFolder}/bin/Debug/<insert-target-framework-here>/<insert-project-name-here>.dll",
という部分を修正するのだと思いますが、どう修正するんでしょうか?
実行したいプログラムを{workspaceFolder}/Program.csと指定してもエラーになります
916デフォルトの名無しさん (スッップ Sd0a-5Ibu)
2019/02/26(火) 07:53:17.80ID:U5FDQ2yTd
>>915
いやだからcsじゃなくてdllだってば
917デフォルトの名無しさん (スッップ Sd0a-5Ibu)
2019/02/26(火) 07:54:10.15ID:U5FDQ2yTd
ログにもちゃんと出てるはず
918デフォルトの名無しさん (ワッチョイ 4a52-ynlc)
2019/02/26(火) 08:00:35.55ID:H+xdnOpD0
>>915
プログラミングするなら英語は必須だから、「何だか分からないこと言ってる!」とか思わずにちゃんと読みな。
919デフォルトの名無しさん (ワッチョイ 9eef-upo5)
2019/02/26(火) 08:41:24.11ID:hTJo4mxi0
>>916
c#なのにDLLなんですか?
このDLLのパスは何をしてるんですか?
920デフォルトの名無しさん (ドコグロ MM12-/na9)
2019/02/26(火) 08:50:05.00ID:UlQR9ttEM
普通にVisualStudio(Codeじゃないやつ)ダウンロードして知識付けてから挑戦しろよ
邪魔だよ
921デフォルトの名無しさん (ラクペッ MM65-6xHP)
2019/02/26(火) 09:40:46.12ID:7RJrl9MrM
小学校でプログラミング教育でも受けてろ
922デフォルトの名無しさん (ワッチョイ b67c-cX2z)
2019/02/26(火) 09:54:59.60ID:s7Q5fSFO0
>>909
そうなるともう新しいプロジェクトに今のを段階的に移していってどこで再現するか確認するかなぁ
923デフォルトの名無しさん (ワッチョイ b67c-cX2z)
2019/02/26(火) 10:57:10.09ID:s7Q5fSFO0
>>919
とりあえずエクスプローラなりコンソールなりvscodeとは別に開いて
プロジェクトフォルダのbinフォルダの配下を確認
どこかにビルド結果のdllが作られてるから

うちはいつの間にかPlatformって環境変数が定義されてたせいで
HPDとかいうフォルダが1個挟まってたぞ
924デフォルトの名無しさん (ワッチョイ 66f2-rusg)
2019/02/26(火) 10:58:52.43ID:RV1beKRS0
こっちへどうぞ
Visual Studio Code / VSCode Part5
http://2chb.net/r/tech/1541649564/
925デフォルトの名無しさん (ワッチョイ 7d01-b+8Y)
2019/02/26(火) 11:47:10.27ID:7Gbx8Ae00
>>922
ありがとうございます
とりあえず特定のメソッドを呼ばなければ大丈夫ということがわかったのでデバッグモードでは呼ばないようにして対策することにしました
926デフォルトの名無しさん (ワッチョイ 9eef-upo5)
2019/02/26(火) 11:58:57.74ID:hTJo4mxi0
>>923
デバッグできました 余計なフォルダが挟まっていました
指定してやらないといけないんですね ありがとうございました
927デフォルトの名無しさん (スププ Sd0a-pWE8)
2019/02/26(火) 12:16:54.99ID:vuJi7+izd
どういたしまして
928デフォルトの名無しさん (スップ Sdea-5Ibu)
2019/02/26(火) 12:29:03.14ID:CYrridvRd
>>923
それDELLやろ
929デフォルトの名無しさん (スップ Sdea-5Ibu)
2019/02/26(火) 12:29:38.62ID:CYrridvRd
>>924
そっちはスレチ
930デフォルトの名無しさん (ワッチョイ 9fad-SKB1)
2019/02/28(木) 00:37:24.74ID:weUa1N+o0
setterメソッドで文字列が8文字以下ならname変数に引数を代入する文を書きたいんですけど
どのように書けばいいんでしょうか?
931デフォルトの名無しさん (ワッチョイ d7e7-CeLW)
2019/02/28(木) 00:51:58.07ID:ucEMLrR20
private string name;
public void SetName( string name )
{
 if ( name.Length <= 8 )
 {
  this.name = name;
 }
}
932デフォルトの名無しさん (ワッチョイ d7e7-CeLW)
2019/02/28(木) 00:55:51.76ID:ucEMLrR20
セッターよりもプロパティで良い気がする

private string name;
public string Name
{
 set
 {
  if ( value.Length <= 8 )
  {
   this.name = value;
  }
 }

 get
 {
  return this.name;
 }
}
933デフォルトの名無しさん (ワッチョイ 9fad-SKB1)
2019/02/28(木) 01:05:38.31ID:weUa1N+o0
>>931
ありがとうございますー
lengthを使うとint型とstringをオペランドに比較が使えるんですね
覚えておきます
934デフォルトの名無しさん (ドコグロ MM6b-dMaL)
2019/02/28(木) 08:14:05.87ID:3CdGs56rM
>>933
> lengthを使うとint型とstringをオペランドに比較が使えるんですね
言いたいことはなんとなくわかるけどほんとに理解してるのか不安になる文章だな
935デフォルトの名無しさん (オイコラミネオ MMeb-MJ6Y)
2019/02/28(木) 12:10:16.83ID:2lomOid8M
8文字越えた場合や
検証属性の話をと思ったけど自重
936デフォルトの名無しさん (ワッチョイ 37e5-i/5X)
2019/02/28(木) 19:23:03.02ID:owSMuOWF0
Windows.Forms の質問です。
TextBox 数個と MenuStrip に サブメニューのない MenuItem を追加したFormで
Altキーでメニューを選択すると、
カーソルキーの上下でTextBoxのフォーカスが移動するのですが
どういった理由でしょうか?
937デフォルトの名無しさん (アウアウウー Sa9b-Rc0K)
2019/02/28(木) 20:29:09.92ID:1IHH1hzPa
>>936
Menuに反応してるのでは?
938936 (ラクッペ MMcb-hSmr)
2019/02/28(木) 20:50:40.99ID:DAgKUWMjM
うーん
ショートカットキーの設定ができるので
ツールバーの代わりに使おうと思ったんですが
予想外のキモい動きで躊躇してます
939デフォルトの名無しさん (ワッチョイ ff2c-pqT0)
2019/02/28(木) 21:20:30.71ID:560qka060
ドロップダウンしないのは想定してないだろう
940デフォルトの名無しさん (ワッチョイ 377c-vuRV)
2019/03/01(金) 12:58:28.41ID:ozM8zBQ90
この本おすすめですか?
https://www.amazon.co.jp/dp/4774187585
941デフォルトの名無しさん (ワッチョイ ff63-3oSp)
2019/03/01(金) 19:45:05.46ID:MA7hbDcR0
JS
hoge([[1,2,3], [4,5,6]]);

C#
hoge(new int[,] {{ 1,2,3 }, { 4,5,6 }});

javascriptみたいにnew付けないで渡せないですか?
paramでは2次元がだめでした。
942デフォルトの名無しさん (ワッチョイ bfef-Q9lp)
2019/03/01(金) 21:07:24.70ID:tVNocw1h0
サイドバーについてなんですが、例えばgimpというソフトがあるのですが、両サイドにツールやレイヤーが表示されています
このように領域を分けるコントロールを教えてください
win form c#です

これはもう1つフォームを追加してるんでしょうか?
943デフォルトの名無しさん (ワッチョイ ff7b-IHXa)
2019/03/01(金) 21:59:18.22ID:ORsij5/P0
>>942
フォームの枠の中に配置・移動させるのならVisual Studioでデザイナ画面+ツールボックスの「コンテナー」のカテゴリの好きなものを
フォームの枠の外やはみ出して使いたいものには別のフォームを割り当て、というのが基本じゃないかな
GimpはCだからどうやっているかは知らないけど
944デフォルトの名無しさん (ワッチョイ bfef-Q9lp)
2019/03/02(土) 05:28:46.45ID:QccNqZJQ0
別フォーム使った場合でもドッギングなど可能ですか?
だとすれば分けたほうが作業しやすそうですが
945デフォルトの名無しさん (ワッチョイ 17e6-3oSp)
2019/03/02(土) 10:41:05.28ID:29oPzrI/0
GTKでやればいいじゃない
946デフォルトの名無しさん (アウウィフ FF9b-vuRV)
2019/03/02(土) 11:00:56.30ID:+L4gK20KF
>>940
超初心者か池沼向け

普通の人はwebで充分
947デフォルトの名無しさん (アウウィフ FF9b-vuRV)
2019/03/02(土) 11:02:23.80ID:+L4gK20KF
GTKは糞
948デフォルトの名無しさん (ワッチョイ bfef-Q9lp)
2019/03/02(土) 11:07:40.19ID:QccNqZJQ0
>>945
win formではドッギングや分離はできないのですか?
また、別フォームと同じフォームでやるのとではどちらが都合がよいでしょうか
949デフォルトの名無しさん (ブーイモ MMbf-vAvN)
2019/03/02(土) 11:11:23.26ID:PVVyhIVEM
>>948
出来るよ。
950デフォルトの名無しさん (ブーイモ MMbf-vAvN)
2019/03/02(土) 11:12:34.80ID:PVVyhIVEM
>>948
https://dobon.net/vb/dotnet/links/dockingwindow.html
951デフォルトの名無しさん (ワッチョイ 9f35-HIx5)
2019/03/02(土) 11:22:59.87ID:Flko+1Y10
市販のinfragisticsのドッキングウインドウが楽チンだったわ
952デフォルトの名無しさん (ワッチョイ bfef-Q9lp)
2019/03/02(土) 18:42:16.44ID:QccNqZJQ0
Form1からForm2を呼び出すとき、こういう記述をしますが、変数の型がどうしてForm2なんでしょか?varじゃエラーです
Form2 form2 = new Form2();
form2.Show();
953デフォルトの名無しさん (ササクッテロ Sp0b-s6Gp)
2019/03/02(土) 19:06:17.17ID:QSGa9wbhp
そのform2クラスは君が作ったんじゃないのか?
954デフォルトの名無しさん (ワッチョイ ff2c-pqT0)
2019/03/02(土) 19:09:49.50ID:euLZafKS0
取り敢えずエラーの内容を読めよ
955デフォルトの名無しさん (ワッチョイ d72d-SKB1)
2019/03/02(土) 23:01:13.05ID:XIaahVa70
学習のために、確保した変数がスタックかヒープかどっちにあるのか知りたいんだけどさあ
簡単にチェックする手段ってないんかな?
956デフォルトの名無しさん (アウアウウー Sa9b-zhdC)
2019/03/02(土) 23:08:52.67ID:20MtSIx6a
メモリダンプ系のツール使えばいいよ
昔の話だがメモリ上のオブジェクトグラフを可視化してGC絡みのバグをデバッグした事がある
957デフォルトの名無しさん (ワッチョイ 370c-W5e4)
2019/03/02(土) 23:10:49.78ID:nONug4XP0
"変数が"ってことなら変数の型が参照型か値型か
要はコンパイルの時点で判断できる
IntelliSenseでclassかstructを見れば良い話に思えるが
958デフォルトの名無しさん (アウアウウー Sa9b-zhdC)
2019/03/02(土) 23:19:19.07ID:20MtSIx6a
box
959デフォルトの名無しさん (ワッチョイ d763-vAvN)
2019/03/02(土) 23:33:08.46ID:D0+5Vwwl0
>>953
ワロタ
960デフォルトの名無しさん (アウアウエー Sadf-oIIs)
2019/03/03(日) 02:27:49.98ID:6iGgKGSXa
>>957
それは違うと思うw
961デフォルトの名無しさん (ワッチョイ bfef-Q9lp)
2019/03/03(日) 03:54:21.90ID:uu9okAeO0
>>953
Form2というプロジェクトを作りましたが、これがクラスになるんですか?
この変数型はどういう意味ですが
962デフォルトの名無しさん (ブーイモ MMbf-FR3f)
2019/03/03(日) 07:00:37.71ID:cg06QXcyM
>>957
w
963デフォルトの名無しさん (ワッチョイ 3761-kqjU)
2019/03/03(日) 07:50:47.21ID:+cu7OMqU0
>>961
一回チュートリアルなり
入門書とか入門サイトなりやってみろと
964デフォルトの名無しさん (ワッチョイ bfef-Q9lp)
2019/03/03(日) 08:42:41.37ID:uu9okAeO0
winformでノードエディタは作れますか
965デフォルトの名無しさん (ワッチョイ 3761-kqjU)
2019/03/03(日) 08:49:23.89ID:+cu7OMqU0
>>964
いいからForm2わかったのかよ
966デフォルトの名無しさん (ワッチョイ b717-W5e4)
2019/03/03(日) 08:57:36.29ID:2YvY5qRC0
>>964
クラスがなんなのかわかっていないお前には無理
上にも同じ事書かれてるけどまず入門書を読め
967デフォルトの名無しさん (ワッチョイ bfef-Q9lp)
2019/03/03(日) 09:55:03.51ID:uu9okAeO0
↑入門サイトで勉強してます
968デフォルトの名無しさん (ワッチョイ 9f52-n14O)
2019/03/03(日) 11:33:30.33ID:lodoh91K0
>>967
もしかして、ろくに経験もなく基礎も理解しないまま作りたいものを作り始めて、わからないときだけサイトで情報拾ってどうにかなると思ってないか?
ある程度基礎ができているか理解力のある奴ならそれでもいいが、君には無理だ。
ちゃんと金出して真っ当な入門書を買って、面倒がらずに順を追って基礎から身に付けてこい。
969デフォルトの名無しさん (ワッチョイ ff7b-IHXa)
2019/03/03(日) 12:00:57.01ID:fal7gHDn0
質問した人は回答にフィードバックくらいしろよ
質問スレでフィードバックせずに次の質問って論外
970デフォルトの名無しさん (ワッチョイ 3761-kqjU)
2019/03/03(日) 12:07:11.30ID:+cu7OMqU0
いいや
そいつのクソレスなどいらん
入門サイトやら入門書を1ページでも前へ進めろ
971デフォルトの名無しさん (ワッチョイ d763-vAvN)
2019/03/03(日) 13:48:10.30ID:Nfj27eon0
そうだな。独習3版でも一回読み切る事をお勧めするよ
972デフォルトの名無しさん (ワッチョイ 9f7b-q3Gq)
2019/03/03(日) 18:14:45.95ID:7I/UY/410
>>964
ファイラー作るとか言ってた人だよね
コピペ以外で何か作ることはできたの?
作れずに諦めて次できそうなもの見つけて質問するの繰り返しでしょ
973デフォルトの名無しさん (ワッチョイ 9701-s6Gp)
2019/03/03(日) 23:49:50.24ID:DRmEmwqA0
君の作ったプロジェクトの内容なんて分からんよ。
プロジェクト内のソースを探せばForm2クラスを宣言してるんじゃないの?

Visual Studioは色々自動生成して、色々隠蔽してるからオプジェクト指向が理解し難い。
一旦動いたら、全てのソースファイルをメモ帳で開いて動きを解析してみる。
全ては一度には理解できないから、オプジェクト指向の説明本を読む。
やっぱり理解できないけど、ソースを読み解くって繰り返すと段々理解できてくる。
974デフォルトの名無しさん (ワッチョイ 9701-s6Gp)
2019/03/03(日) 23:50:45.69ID:DRmEmwqA0
アンカー忘れた。
>>961さんへ
975デフォルトの名無しさん (ワッチョイ 17d8-ylj6)
2019/03/04(月) 19:07:44.29ID:RIX3InQp0
WinXPのスタートメニューのように、ContextMenuStripのToolStripItemにDrag&Dropって出来ますか?
ToolStripItemのAllowDropをTrueにしても、ToolStripItemのDragEnterイベントが発生しないのですが。
VC++2008を使用しているのですが、ToolStripItemのプロパティ窓にはAllowDropもDrag関連のイベントも 表示されていないので、コードで記述しているのですが、もともとサポートしていない?
976デフォルトの名無しさん (ワッチョイ ff7b-IHXa)
2019/03/04(月) 20:54:01.14ID:+WeHVjLY0
>>975
試してないけどdocsには
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.toolstripmenuitem?view=netframework-4.7.2
DragDrop ユーザーが項目をドラッグし、マウス ボタンを離したとき (つまり、項目がドロップされたとき) に発生します。 (Inherited from ToolStripItem)
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.contextmenustrip?view=netframework-4.7.2
DragDrop ドラッグ アンド ドロップ操作が完了したときに発生します。 (Inherited from Control)

ってなっているからContextMenuStripのは期待通り動作しそうだけどToolStripItemのは項目自体のものだから単独では無理かと
どうしてもやるのならContextMenuStripのほう使ってMouseMoveか何かでカーソルと項目の位置確認しながらやるとか
その前にContextMenuStripがFocusの移動とかで閉じないようにClosingのイベントの設定なども当然必要
もう一回書くけど試してないし試す気もないので責任も取らないw
977デフォルトの名無しさん (ワッチョイ fff2-W5e4)
2019/03/06(水) 20:50:34.30ID:nLVidvZ50
来月からASP.Net初めて触るんだけど
何から始めればいいの?
MVCとかそういう単語と理論とか??
978デフォルトの名無しさん (ワッチョイ 9fad-5O6o)
2019/03/06(水) 21:09:43.18ID:oLv4eGw30
>>977
ASP.NETにもいろいろあるんだけど…
とりあえずテンプレートをビルドして動かしてみるところから
979デフォルトの名無しさん (ドコグロ MM6b-hSmr)
2019/03/06(水) 21:11:48.41ID:1+PBsWw4M
>>977
君が業務ドカタなら、たぶん君がやることになるのはASP.NET MVCでもASP.NET CoreでもなくClassic ASP.NET(WebForms)
Webの知識皆無でも最低限形だけでもWebアプリを作れるようにしたフレームワークで、
WinFormsでメモ帳モドキくらい作ったことがあれば楽勝だから何も心配いらない
980デフォルトの名無しさん (ワッチョイ 9fad-5O6o)
2019/03/06(水) 21:15:44.81ID:oLv4eGw30
>>979
ASP.NET MVCなんじゃね?
知らんけど
981デフォルトの名無しさん (ドコグロ MM6b-hSmr)
2019/03/06(水) 21:26:05.38ID:1+PBsWw4M
>>980
MVCの意味も知らない子が投入されるような現場でASP.NET MVCなんか使ってるかねえ
まあ物好きな前任者が一人で作ってたシステムだったりするとあるかもね
982デフォルトの名無しさん (ラクペッ MMab-/O1n)
2019/03/06(水) 21:26:41.18ID:D2mtoqngM
逃げる心配はしてもいいかも
983デフォルトの名無しさん (ワッチョイ f77d-hBF3)
2019/03/06(水) 21:43:37.08ID:xU8Jrq3Z0
>>981
前やった40画面くらいの小規模プロジェクトがMVCでしたわ
メンバーのほとんどがjs?css?c#?LINQ?な素人で激アツだった
984デフォルトの名無しさん (ワッチョイ b717-W5e4)
2019/03/06(水) 21:52:08.74ID:MehlFqwY0
Webは覚えることが多すぎて禿げちゃうから
学習コストが低いらしいBlazorに期待してる
985デフォルトの名無しさん (オッペケ Sr0b-5hgX)
2019/03/06(水) 23:01:29.39ID:wF9IXRdCr
asp.net core使って開発したいがまだまだ実用レベルではないんだろうな
そう思うと開発頓挫しそうで使えない
986デフォルトの名無しさん (アウアウエー Sadf-hSmr)
2019/03/06(水) 23:15:31.66ID:b1gJEqu2a
普通に使えるよ
英語読めないジャップにとっては永遠に実用にはならないだろうけど
987デフォルトの名無しさん (ドコグロ MMdb-hSmr)
2019/03/06(水) 23:19:16.57ID:07omsi5cM
〇〇Coreはバージョンアップで平気で互換性切ってくるから、受託開発では使っちゃいけない代物
ソースを手放さずいつでも自己責任で弄れる事業形態向け
988デフォルトの名無しさん (ワッチョイ 92ad-YS+u)
2019/03/07(木) 01:08:41.43ID:tnYmqFtJ0
>>985
もう既に実運用してるけど
そろそろ3年だしさすがにね
989デフォルトの名無しさん (ワッチョイ 92ad-YS+u)
2019/03/07(木) 01:09:12.20ID:tnYmqFtJ0
>>987
おじいちゃんはずっとCOBOL使ってればいいと思うよ
990デフォルトの名無しさん (ドコグロ MM97-/Er5)
2019/03/07(木) 01:28:00.03ID:rQAOToBLM
>>989
こればっかりは老害とかそういう話じゃなくて業界構造の問題だからね
米国のシステム開発は内製が主流であり、基本的に自己責任だから改修のハードルが低いの
それに合わせてMSの開発者向けプロダクトも変化を許容する方向へ変わってきていて、
もはや日本のSIには全く適さないものになってしまってるんだよ
991デフォルトの名無しさん (ワッチョイ 8361-usO3)
2019/03/07(木) 01:59:57.04ID:1eeIEHnS0
OSSとか向こうから来るもんは全部そうだね
人身売買なんかやってたら理解できない文化ばっかり
992デフォルトの名無しさん (ドコグロ MM97-/Er5)
2019/03/07(木) 05:24:03.06ID:rQAOToBLM
OSSに対する考え方は顕著な例だね
受託開発においてOSSのライセンスを受ける主体は開発会社じゃなくてユーザー会社だから、
当然、開発会社が使用したOSSは全てユーザー会社に把握させてユーザー会社自身が承認しなければならない
これは事業形態上完全に正当で必須なプロセスであり、時代遅れとかそういう問題ではない
NuGetやNPMなどのパッケージマネージャで依存関係として勝手に入ってくるOSS全てに対してこのプロセスを適用するのは事実上不可能
993デフォルトの名無しさん (ワッチョイ 162c-FuHz)
2019/03/07(木) 06:32:35.38ID:6L3KEJfe0
次スレが立ってないようなので立ててくる
994デフォルトの名無しさん (ワッチョイ 162c-FuHz)
2019/03/07(木) 06:36:57.49ID:6L3KEJfe0
次スレ
http://2chb.net/r/tech/1551908141/
msdnのリンクはdocsに変更しといた
995デフォルトの名無しさん (ワッチョイ 1f63-YPKy)
2019/03/07(木) 07:20:20.11ID:Zl7f22uA0
>>986
日本に住んでるなら日本語使えや、英語なんて翻訳すりゃあいいんだよ。フランス人を見習え
996デフォルトの名無しさん (アウアウウー Sac3-rz6J)
2019/03/07(木) 07:51:25.69ID:KDtWvu+2a
>>995
英語出来ない言い訳ww
997デフォルトの名無しさん (スップ Sd52-YS+u)
2019/03/07(木) 08:33:12.38ID:AIEkzJHxd
>>990
Googleと比べてみ
998デフォルトの名無しさん (ワッチョイ df4f-IDpv)
2019/03/07(木) 08:51:22.28ID:p9S7AU5B0
インターネット創世記の頃は情報共有とか甘い言葉が飛び交ったが
最近ではやっぱスキルやノウハウといった知的財産情報は
対価を払って手に入れるべきだと思うようになった
ネットでただで手に入れたいなら英語くらい読めよって話だな
999デフォルトの名無しさん (ワッチョイ c67c-ouaW)
2019/03/07(木) 09:10:26.28ID:0euQyoSb0
1000
1000デフォルトの名無しさん (ワッチョイ c67c-ouaW)
2019/03/07(木) 09:10:41.65ID:0euQyoSb0
1000!
ニューススポーツなんでも実況



lud20251107062546ca

ID:hIHuQnKx0のレス一覧:


498デフォルトの名無しさん (ワッチョイ fff2-vS77)
2019/02/01(金) 12:54:05.03ID:hIHuQnKx0
>>474
ありがとうございます
D3DKMTWaitForVerticalBlankEvent に渡す
D3DKMT_WAITFORVERTICALBLANKEVENT の
以下の3つはどのように取得すればよいのでしょうか
D3DKMT_HANDLE hAdapter;
D3DKMT_HANDLE hDevice;
D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
499デフォルトの名無しさん (ワッチョイ 7f2d-V2CY)
2019/02/01(金) 17:55:46.18ID:mF+gwDus0
var dicHoge = new Dictionary<string, string>();
dicHoge["Key"] = "hoge";

って、いきなり出来ちゃうんですか。
ダメと思って試しもしなかったです。
500デフォルトの名無しさん (ブーイモ MM9f-3dyC)
2019/02/01(金) 18:45:15.00ID:9eIyz51RM
System.Data.DataTable なんて使ったら悶絶しちゃうかもな
501デフォルトの名無しさん (ワッチョイ 5f0c-vS77)
2019/02/01(金) 19:27:14.70ID:Lo/lI1+50
>>498
そのくらい自分でぐぐって調べろ
と突き放そうと思ったけど要望そのまんまのコードが出てきたのでまあええわ

https://github.com/fuse-open/fuse-studio/blob/master/Source/Fusion/Windows/VerticalSynchronization.cs

素直にIDXGIOutput::WaitForVBlank辺り使った方が良いと思うけどネ
502デフォルトの名無しさん (ドコグロ MM7f-vGUq)
2019/02/03(日) 12:37:02.16ID:ZxPovaO5M
>>495
俺も最近似たようなもんが欲しくなったときがある

・重複したときに別の処理が必要
・登録した順番が重要

ってときにDictionary自体使わんで
KeyValuePairのListばっかり使うようになった
つーのはログの出力まで出したいときに登録した順に出したいから
ログ出力するもんにはDictionary使わなくなった
503デフォルトの名無しさん (ワッチョイ ff79-5lWN)
2019/02/03(日) 15:42:40.54ID:jpAIKS8U0
ログ取ってるなら逆にDicで困らんと思うけど
504デフォルトの名無しさん (ワッチョイ 5f61-vGUq)
2019/02/03(日) 15:49:56.24ID:IKDI2S7C0
>>503
入れたときじゃなくて別のタイミングで出したい
順番に保証がないと困る
って場面
505デフォルトの名無しさん (ワッチョイ 5f17-vS77)
2019/02/03(日) 15:58:01.30ID:7GVwTPrN0
ログ出力する時に並び替えるだけで済むのでは?
506デフォルトの名無しさん (ワッチョイ 5f61-vGUq)
2019/02/03(日) 16:04:15.94ID:IKDI2S7C0
>>505
どうやって?
507デフォルトの名無しさん (ワッチョイ 7f2f-t8y0)
2019/02/03(日) 16:18:53.59ID:LOT7/zBp0
つかそれKeyは何なんだよ
それがキー項目である必要あるのか?
508デフォルトの名無しさん (アウアウウー Saa3-LWaQ)
2019/02/03(日) 17:01:46.98ID:cLU3XamPa
>>504

dict[key] = value;
mySpecialLogger.Log($"dictに追加したぞ: {key}, {value}");

----

mySpecialLogger.Flush();
509デフォルトの名無しさん (ドコグロ MM63-45Wg)
2019/02/03(日) 17:56:25.94ID:EhLznF4nM
SortedListやSortedDictionaryでいいだろ
510デフォルトの名無しさん (ワッチョイ 5f90-qbk3)
2019/02/03(日) 19:21:16.88ID:ZOlWRYsg0
登録順ならOrderedDictionary
511デフォルトの名無しさん (ワッチョイ fff2-vS77)
2019/02/04(月) 11:39:31.27ID:2YxD3k7B0
>>501
できました、ありがとうございました
IDXGIOutput::WaitForVBlankは呼び出すまでがよくわからないし
P/Invokeだけでできるのかもわからないのでやめておきます
512デフォルトの名無しさん (アウアウエー Sa7f-S1Ul)
2019/02/04(月) 13:36:44.96ID:AKeTBC2ia
ReadOnly=trueのテキストボックスをクリックしてしまった時に
フォーカス映ってカーソルがチカチカしないようにしたいのですがプロパティ上で設定できないのでしょうか?
513デフォルトの名無しさん (ワッチョイ ff7c-r1Iy)
2019/02/04(月) 13:48:21.68ID:B1LZYLJj0
GotFocusのたびにWindowsAPIのHideCaretの呼び出しが必要じゃないかな
514デフォルトの名無しさん (アウアウエー Sa7f-dgou)
2019/02/04(月) 14:07:22.27ID:/rUNKcNUa
>>512
コピーを想定してそうなってるので、TextBoxを使うならその仕様は買えない方がよいのでは。
コピーなんかできなくてもいいなら素直にLabelを使いましょう。
BorderStyleやBackColorをいじればTextBoxに近い外見にも出来る
515デフォルトの名無しさん (アウアウエー Sa7f-S1Ul)
2019/02/04(月) 15:54:30.95ID:AKeTBC2ia
テキストボックスの上に後付けでボタン配置したので、ポインタずれて押しそこなった時にそんな感じになってしまったのです
まあ動作的にはなんの問題もないのではあるけど>>513のイベントハンドラ作ってみます
ありがとうございました
516デフォルトの名無しさん (ワッチョイ 7f4b-ordn)
2019/02/05(火) 08:55:05.54ID:3J1ruy+d0
rar5をオンメモリで解凍、ストリーム取得できるライブラリは無いですか?
517デフォルトの名無しさん (ワッチョイ 7f47-XV7K)
2019/02/05(火) 10:59:50.41ID:svez8hxC0
>>516
sharpcompressでそれっぽいことできてるな

https://www.nuget.org/packages/sharpcompress
https://github.com/adamhathcock/sharpcompress/blob/master/tests/SharpCompress.Test/Rar/RarReaderTests.cs
518デフォルトの名無しさん (ワッチョイ 7f47-XV7K)
2019/02/05(火) 11:07:59.15ID:svez8hxC0
すまんrar5は未対応みたいなこと言ってるわ
519デフォルトの名無しさん (ワッチョイ 7f47-XV7K)
2019/02/05(火) 11:21:25.96ID:svez8hxC0
ほんならこっち
7z.dllのラッパー
https://www.nuget.org/packages/SevenZipExtractor/
https://github.com/adoconnection/SevenZipExtractor/blob/master/README.md
520デフォルトの名無しさん (ワッチョイ 5fba-+Svn)
2019/02/05(火) 12:48:55.07ID:cT2SE72s0
web上の画像をダウンロードせずに
高さと幅を取得する方法があれば教えてください
521デフォルトの名無しさん (ワッチョイ 7fa5-qf6r)
2019/02/05(火) 13:03:57.50ID:GPC4C0Pm0
電話で聞く
522デフォルトの名無しさん (ワッチョイ 7f32-qf6r)
2019/02/05(火) 13:37:05.03ID:RjbzZp8x0
>>520
先頭だけ取得して解析するくらいが関の山じゃない?
https://developer.mozilla.org/ja/docs/Web/HTTP/Range_requests
523デフォルトの名無しさん (ワッチョイ 5fba-+Svn)
2019/02/05(火) 15:25:13.53ID:cT2SE72s0
>>522
ありがとうございました
524デフォルトの名無しさん (ワッチョイ 7f4b-ordn)
2019/02/05(火) 15:40:50.37ID:3J1ruy+d0
>>519
回答ありがとうございます。

SevenZipExtractorですが、プロジェクトにNugetで取り込んでも正常に認識してくれず使えませんでした。
SharpCompressですが、(まだファイルの一覧だけしか試していませんが)RAR5での圧縮ファイルを扱えました。
SharpCompressは前に使っていたことがあるので(当時はRAR5が使えなかった)、こちらを使おうと思います。
525デフォルトの名無しさん (ワントンキン MMdf-7pVy)
2019/02/05(火) 17:04:13.00ID:CPjaAgWSM
vs2013なんですけど、バーコードを作るメジャーな方法って何があるでしょうか?無料がいいです。
526デフォルトの名無しさん (ワッチョイ 5fae-kMzi)
2019/02/05(火) 17:23:07.87ID:jB1piIf60
無料ならGPLv3でもええんか
527デフォルトの名無しさん (アウウィフ FFa3-zGAl)
2019/02/05(火) 17:28:38.13ID:dQJUt0gZF
ライブラリいっぱいあるで
528デフォルトの名無しさん (スププ Sd9f-XV7K)
2019/02/05(火) 18:20:58.39ID:C5l7MRqld
>>525
メジャーなのはZXing
529デフォルトの名無しさん (ワッチョイ ff2c-Qmko)
2019/02/05(火) 21:05:22.94ID:XsUhL+1b0
何かライブラリ無いかなと思ったらまずNuGet見てみる
530デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 12:34:37.03ID:ymLQaaTBd
C#で書いたコードをVBAから呼び出す際のC#でのやり方を教えてください。

例えば、MessageBoxで「Hello!」と表示するには何をどうすれば出来ますか?
使ってるのはVisualStudio2017です。
531デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 12:38:03.13ID:ymLQaaTBd
>>530
引数でHelloを持ちかえる方法です。
532デフォルトの名無しさん (ブーイモ MM9f-3dyC)
2019/02/06(水) 13:05:34.43ID:pq3DhSMgM
日本語でOK!
533デフォルトの名無しさん (ワッチョイ 5f17-vS77)
2019/02/06(水) 13:11:17.81ID:/72vyC150
>>530
ググレカス

C#で実装したコードをVBAとかVBから使う方法 : 実験ぶろぐ(仮)試供品
https://needtec.exblog.jp/21522702/
534デフォルトの名無しさん (ワッチョイ dfe8-1Xap)
2019/02/06(水) 16:15:23.61ID:sqv9vum40
https://gist.github.com/katabamisan/5231237

上記サイトのIniFileクラスでBufferExpandingSizeを小さくしてから
GetSectionNamesを呼び出すとループ2回目のGetPrivateProfileString呼び出しのタイミングで
例外も発生せずにプログラムが異常終了してしまうのですが何が問題なんでしょうか?
535デフォルトの名無しさん (スップ Sd1f-DeEq)
2019/02/06(水) 18:20:24.61ID:ymLQaaTBd
>>533
書いてるコードの意味がよくわからないので単純なコードが知りたいんです。
536デフォルトの名無しさん (ササクッテロレ Spb3-MXrN)
2019/02/06(水) 18:30:37.80ID:1DcU3Gnhp
コードコピペして自分の使ってるクラスに直せば出来ると思うけど
インターフェース作ってなければクラスから作って置き換えればサンプルコード通りに動くはず
537デフォルトの名無しさん (アウアウウー Saa3-LWaQ)
2019/02/06(水) 18:54:31.06ID:cXGNS95ra
>>535
C# メインルーチンからメッセージボックスを表示
VBA shellを使って↑を起動
538デフォルトの名無しさん (ワッチョイ ff2c-IxnT)
2019/02/06(水) 21:20:24.24ID:SSakxrcH0
>>534
GetPrivateProfileStringの定義がCharSet.Unicode指定してるから
第5引数のnSizeはwchar_tの個数を指すことになる
wchar_tは2バイトだからnSizeに16指定したらlpReturnedStringは32バイトあることになる
でも実際にはその半分の16バイトしか確保してないから
GetPrivateProfileStringが17バイト目以降に書き込もうとしてヒープ破損する
539デフォルトの名無しさん (ワッチョイ a1e8-7AZF)
2019/02/07(木) 10:39:20.42ID:BTY8+ybz0
>>538
文字セットのことがすっかり頭から抜けてました
WinAPIを使うなら真っ先に気を付けないといけない部分なのになあ

・ReAllocCoTaskMemで確保するサイズをlength*2に変更
・GetPrivateStringのCharSetをAnsiに変更、文字列への変換をPtrToStringAnsiに変更

上記2通りの修正でどちらも正常動作することが確認できました
回答ありがとうございました
540デフォルトの名無しさん (スップ Sd82-Q5xa)
2019/02/07(木) 18:21:29.96ID:yK9ubdQXd
VS2017使用。
ADOを使ってエクセルのシート名を読んだりセルのデータを読み取りたい。
対象エクセルブックは〇〇.xlsのみ

ネットのサンプルコードをコピペして使ってもエラーでさっぱりです。
何かインストールが必要なんですか?それとも参照設定とか必要なんですかね?

なんか雛形のコードでもあればいただけませんか?
541デフォルトの名無しさん (ワッチョイ 7d17-feI+)
2019/02/07(木) 19:01:48.27ID:l2uiBAtS0
具体的にどのサイトのコードを試したら
どんなエラーメッセージが出たのかを書いてくれ
542デフォルトの名無しさん (スップ Sd82-Q5xa)
2019/02/07(木) 19:28:54.09ID:yK9ubdQXd
https://qiita.com/OneK/items/c3077aea595635f40ee5
このサイトの下のコードです。

adp.Fill(dt);←ここでエラーです。

return dt;
}

今パソコンから離れたのでエラー内容は忘れましたが何かがないぞみたいな感じでした。
543デフォルトの名無しさん (ワッチョイ a9e3-feI+)
2019/02/07(木) 20:24:29.71ID:3NiqE0/P0
>>540
https://csharp.keicode.com/topics/how-to-use-exceldatareader.php
これじゃあかんの?
544デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/07(木) 21:34:46.19ID:FLUWNW3J0
>>543
これも明日試してみます。
でもいろいろとコードの引き出しがあったらいいなって
545デフォルトの名無しさん (ワッチョイ 911f-Q5xa)
2019/02/07(木) 21:37:56.26ID:FLUWNW3J0
>>543
速度はどうなんですか?早いですか?
546デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/07(木) 22:02:28.76ID:O0GaOve00
>>545
ウゼェ、やる気がねーなら
エロゲでもやってろ
547デフォルトの名無しさん (ワッチョイ a1f0-38JT)
2019/02/07(木) 22:23:39.18ID:iyj2o48P0
こんばんはよければ教えてください
c#で社内用のソフトをしこしこ作っているものなのですが、同じ境遇の方ヘルプファイルはどの形式で
作っていますか? chmファイルは今時便利なツールもないので作りにくいのですが、pdfではなんか味気ない

今回新たなソフトを社内でリリースするので悩んでいます。

あ、ちっちゃい会社です。
548デフォルトの名無しさん (ワッチョイ 6ef2-Yfay)
2019/02/07(木) 22:28:55.73ID:CKGjxJfq0
もしかしてc#全く関係ない話?
549デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/07(木) 22:35:04.98ID:VZhzokSX0
> pdfではなんか味気ない

その謎の価値観を改めればすべて解決です
550デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/07(木) 23:39:26.83ID:Q7Nq6LQdd
>>547
sandcastleでchmやHTMLのヘルプを簡単に生成できるよ
551デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/07(木) 23:40:23.99ID:Q7Nq6LQdd
>>548
C#のコメントからヘルプを生成する話だよ
552デフォルトの名無しさん (ワッチョイ 2d61-umi9)
2019/02/07(木) 23:47:55.01ID:O0GaOve00
doxygen的なのって新しいの出た?
553デフォルトの名無しさん (ワッチョイ 467d-4IkZ)
2019/02/08(金) 00:00:34.72ID:JeOi55qM0
sandcastleなつかしい
554デフォルトの名無しさん (ワッチョイ e247-WCNk)
2019/02/08(金) 00:09:17.11ID:yxq5pHtX0
>>553
今でもメンテしてる人いるし!
https://github.com/EWSoftware/SHFB
555デフォルトの名無しさん (ワッチョイ 6e63-+1v6)
2019/02/08(金) 00:42:26.66ID:zMW+eOHy0
markdownで書いてhtml出力
556デフォルトの名無しさん (スププ Sd22-WCNk)
2019/02/08(金) 00:59:36.44ID:wLiZux8Md
>>555
ソースコードから生成しないのは非効率でしょ
557デフォルトの名無しさん (ワッチョイ 6ef2-Yfay)
2019/02/08(金) 01:02:48.69ID:kZW3St4e0
ソースコードから設計書出すならわかるけど、今回の質問はヘルプファイルでしょ?
558デフォルトの名無しさん (アウアウエー Sa0a-/S9r)
2019/02/08(金) 01:18:59.44ID:e7pcoQvna
社内ならConfluenceみたいなwiki的なサービス使えば?
ファイルで配ると後でメンテに苦労することになるよ
559デフォルトの名無しさん (ワッチョイ e247-WCNk)
2019/02/08(金) 01:22:13.31ID:yxq5pHtX0
>>557
C#のスレなんだからヘルプと言えばクラスリファレンスだろ
560デフォルトの名無しさん (ササクッテロル Spd1-Yfay)
2019/02/08(金) 01:45:40.32ID:NCJ1sppLp
ユーザー向けのヘルプファイルだろ
質問した本人出てこないから結論出ないけど
561デフォルトの名無しさん (アウアウエー Sa0a-OF6d)
2019/02/08(金) 06:02:12.24ID:86VvLP3ma
簡単なゲーム作ってみたのだけど仮にこれを配布するとしたら
動作環境は何を基準にして明記したらいいのでしょうか

Windowsの人なら特になにか入れてもらわなくてもだいたい動くってことでしょうか
562デフォルトの名無しさん (ドコグロ MMca-3tWi)
2019/02/08(金) 07:19:45.32ID:en2thcC6M
>>555に一票
俺はAsciiDocだけど
563デフォルトの名無しさん (スッップ Sd22-lwMy)
2019/02/08(金) 07:20:35.11ID:Weq4zX9xd
対処にした.netでしょう。

win7はデフォだと3.5
win8がデフォだと4.5
win10はデフォ4.6がはいってる。
win8とwin10は3.5系はデフォでは入ってない。
一般的には、4.5で作っておけばトラブルは少ない。
async awaitも使えるし、入ってることが期待できる。

.net coreは開発者でないと、入れてることは期待できないので、入れてもらう形かね。
一般の非開発者は、.net framework と .net coreの二系統に大きく別れてるとか
知らないので、coreは注意が必要かもねぇ
564デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/08(金) 07:33:47.03ID:JXgoNARF0
むしろCoreはランタイムをSelf-containedにできるから実行環境の状況を気にせず済むでしょ
(まだデスクトップアプリの開発環境として整ってるとは言えないけどそれはそれ)
565デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/08(金) 07:37:27.34ID:N+zrhIiBd
>>563
4.5はもうサポート切れだからだめやろ
566デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 14:02:16.37ID:wLzz2paeM
今更新規でFull .NET使うのはお勧めできないな
結局.NET standardはMSが早くも投げ出して崩壊し、今後は.NET Coreに一本化される
既存の.NETアプリは全てレガシーの産廃だ
567デフォルトの名無しさん (スッップ Sd22-bIN/)
2019/02/08(金) 14:09:17.61ID:N+zrhIiBd
>>566
ASP.NET Coreも、3.0からは.NET StandardじゃなくてCore3.0だけをターゲットにするしねw
568デフォルトの名無しさん (ワッチョイ a205-BpIe)
2019/02/08(金) 16:42:05.01ID:DCBa2RJt0
指定のdatetimeまで待つ処理はどのように書けばよいでしょうか?
GUIアプリケーションで出来れば待っている間も操作可能
なるべくcpuの負担が軽くなる方法が良いです
よろしくお願い致します。
569デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 16:47:22.48ID:xI0+6qTx0
>>568
それは、まず、タイマーを起動して、1秒間に一回程度、自前の関数が
呼び出されるようにしておく。そして、その自前の関数で現在の日時を
取得して、条件に合う日時になっているか調べる。そして、条件に合って
いれば、好きな処理をする。そうすればいい。
570デフォルトの名無しさん (ワッチョイ 024b-GiBE)
2019/02/08(金) 16:58:08.14ID:hTn4Mfg30
>>569
Thread.Sleepの方がいいんじゃね?
571デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 17:08:32.00ID:wLzz2paeM
>>568
タスクスケジューラ
572デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:20:02.58ID:xI0+6qTx0
>>570
それだと GUI の処理がほぼ完全に止まってしまい、アプリがほとんど操作不能
になるハズ。
573デフォルトの名無しさん (ワッチョイ 9232-/WZR)
2019/02/08(金) 17:23:59.58ID:T5iT/olM0
>>568
アプリが起動しっぱなしなら指定日時から現在日時を引いて
await Task.Delay()等でタイムアウト待つとか、他は>>571かね
574デフォルトの名無しさん (ワッチョイ fe02-q2E1)
2019/02/08(金) 17:28:55.52ID:1w1isakW0
do-whileもいいと思う
575デフォルトの名無しさん (ワッチョイ 024b-GiBE)
2019/02/08(金) 17:33:15.83ID:hTn4Mfg30
>>572
待つロジックをThreadにすればいいだけじゃね?
576デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:48:48.00ID:xI0+6qTx0
マルチ・スレッドというのは、プログラミング経験を沢山積んだ人が使うもので、
非常に原因の特定が難しいバグを引き起こすことがあるので、初心者には
お勧めできない。同期オブジェクトや atomic アクセス、volatile などを
正しく理解してからでないと危険を伴うことがある。

async も独特で複雑なことをやっているので、プログラミング初心者が、何が起きて
いるのかを理解するのは難しい。なんとなく動くかもしれないがうかつに使うのは
やめたほうがいいと思う。
577デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 17:50:59.48ID:xI0+6qTx0
async は、↓のような複雑な control flow になる。
それを全部理解してから出ないと危険。

ふらっと C#,C♯,C#(初心者用) Part141 	YouTube動画>1本 ->画像>5枚
https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/async/
578デフォルトの名無しさん (ワッチョイ cd0c-feI+)
2019/02/08(金) 18:11:51.00ID:JXgoNARF0
GUIちゅーてんだから普通にWinforms/WPFのTimer/DispatcherTimerを紹介すりゃええんでないの
数日間待機させたいとかになるとまた話が違ってくるしもうちょい質問の要件をハッキリさせて欲しいけど
579デフォルトの名無しさん (ブーイモ MMcd-FdHg)
2019/02/08(金) 18:25:10.33ID:ccTwL3cjM
指定日時後の起動はタスクスケジューラに任せた方が良いと思う
GIU側の仕事はスケジューラヘの登録と指定日時にスケジューラが起動したプロセスとの通信
580デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 18:28:22.25ID:xI0+6qTx0
C#も汚い言語になってきたなー
581デフォルトの名無しさん (ワッチョイ 2d61-VUEs)
2019/02/08(金) 18:32:16.25ID:xI0+6qTx0
なんか、JavaScript そっくりになってきる。JavaScript は汚いのにな・・・。
582デフォルトの名無しさん (スプッッ Sd82-bIN/)
2019/02/08(金) 18:49:11.69ID:5c9t7/Awd
汚いとは?
583デフォルトの名無しさん (ドコグロ MMd5-/S9r)
2019/02/08(金) 18:56:00.90ID:wLzz2paeM
JavaScriptそっくりもクソも、JavaScriptのasync/awaitはC#が発祥だぞ
それをJavaScriptもPythonもKotlinもそっくりそのまま真似した
汚い機能だと感じる君の感覚は否定しないが、好みは別にして非同期プログラミングのデファクトスタンダードであるのは事実だ
584デフォルトの名無しさん (ワッチョイ a1d2-hHwN)
2019/02/08(金) 19:49:11.94ID:lL88DpXz0
割り込んですまない。
SolrNet を使ったことあるヤツがいたら知恵を貸して欲しい。

SolrNet を使ってこんなことをやってみた。

Startup.Init<[適当なモデルクラス]>( [SolrのサーバーURL] );
var solr = ServiceLocator.Current.GetInstance<ISolrOperations< [適当なモデルクラス] >>();

まあごく当たり前の初期処理なのだが、実行すると2行目の Current の中身が null でヌルポエラーになる。

原因がわからなくてしばらく悩んで、GitHub にあるサンプルコードをダウンロードしてきてコピペしても同じだったのだが、
ダウンロードしたソリューションをビルドして実行するとこの部分を問題なく通過する。
またしばらく悩んで、nuget でダウンロードしてくる SolrNet のバージョンに違いがあることに気がついた。
どうやらバージョンが 0.5 以下だと通過し、それ以降のバージョンだとヌルポエラーになるようだ。

最新のは 1.0.1 だったか、このバージョンで上の部分を通過させるに必要な事はなんだろう。心当たりがあったら教えて欲しい。
0.5 の辺りって、その辺りを境に他のパッケージを参照するようになってるぽいのだけど関係があるだろうか。
これを使えってご指定なんだよな。。
585デフォルトの名無しさん (アウアウエー Sa0a-gVV1)
2019/02/08(金) 20:41:31.54ID:OM4aCJGta
>>568
一応これでできるけど、これがベストかどうかは知らん
private static async Task WaitTillAsync(DateTime dt)
{
  var now = DateTime.Now;
  var span = dt > now ? dt - now : TimeSpan.Zero;
  await Task.Delay(span);
}

private async void button1_Click(object sender, EventArgs e)
{
  await WaitTillAsync(DateTime.Now.AddSeconds(10));
  MessageBox.Show("10秒後にこんにちは");
}

>>566
マジですかw

レス:1-200 201-400 401-600 601-800 801-1000 ALL

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

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「ふらっと C#,C♯,C#(初心者用) Part141 YouTube動画>1本 ->画像>5枚 」を見た人も見ています:
ふらっとC#,C♯,C#(初心者用) Part88
ふらっと C#,C♯,C#(初心者用) Part137
ふらっと Q#,Q♯,Q#(初心者用) Part 1
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part154
ふらっと C#,C♯,C#(初心者用) Part148
ふらっと C#,C♯,C#(初心者用) Part128
ふらっと C#,C♯,C#(初心者用) Part157
ふらっと C#,C♯,C#(初心者用) Part153
ふらっと C#,C♯,C#(初心者用) Part121
ふらっと C#,C♯,C#(初心者用) Part151
ふらっと C#,C♯,C#(初心者用) Part144
ふらっと C#,C♯,C#(初心者用) Part129
ふらっと C#,C♯,C#(初心者用) Part145
ふらっと C#,C♯,C#(初心者用) Part146
ふらっと C#,C♯,C#(初心者用) Part134
ふらっと C#,C♯,C#(初心者用) Part131
ふらっと C#,C♯,C#(初心者用) Part130
ふらっと C#,C♯,C#(初心者用) Part141
ふらっと C#,C♯,C#(初心者用) Part142
ふらっと C#,C♯,C#(初心者用) Part161 (82)
くだすれFORTRAN(超初心者用)その7
UWSC初心者用スレ
くだすれDelphi(超初心者用)その56
くだすれDelphi(超初心者用)その55
くだすれPython(超初心者用) その32
くだすれDelphi(超初心者用)その57
くだすれPython(超初心者用) その36
くだすれDelphi(超初心者用)その16
くだすれPython(超初心者用) その52【まず1嫁】
【まず1嫁】くだすれPython(超初心者用) その60
【まず1嫁】くだすれPython(超初心者用) その53
くだすれPython(超初心者用) その46【Ruby禁止】
くだすれPython(超初心者用) その42【Ruby禁止】
くだすれPython(超初心者用) その45【Ruby禁止】
くだすれDelphi(超初心者用)その59【Embarcadero】
くだすれDelphi(超初心者用)その60【Embarcadero】
浪人初心者 Part2
FX初心者スレ Part73
Ruby 初心者スレッド Part 67
Java入門・初心者質問スレ Part.3
【初心者でも】エギングPart 122【上級者でも】
Ruby 初心者スレッド Part 61
Java入門・初心者質問スレ Part.8
Java入門・初心者質問スレ Part.5
Ruby 初心者スレッド Part 60
Java入門・初心者質問スレ Part.10
Ruby 初心者スレッド Part 64
Java入門・初心者質問スレ Part.4
Java入門・初心者質問スレ(ワッチョイなし) Part.8
【初心者】洗車~ワックスがけ情報【大歓迎】Part159
【プロスピ】プロ野球スピリッツA初心者スレpart105 パヨクは使用禁止
【初心者】DxPortLibとラズパイを使ってソフト作りたいと思います【お願いします】
初心者
初心者
初心者の館
初心者です
家具の初心者
PC初心者です
初心者総合
初心者なんやが
初心者の作品
02:11:47 up 21 days, 17:33, 4 users, load average: 89.36, 67.90, 57.51

in 0.23255300521851 sec @[email protected] on 111316