ふらっと C#,C♯,C#(初心者用) Part141

■ このスレッドは過去ログ倉庫に格納されています
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
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/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
2018/12/17(月) 23:25:54.89ID:yChZzMqc0
>>38
普通のトランペットはB♭管って言って「ド」の音を出すとピアノのシ フラットの音が出る
なのでその楽譜の最初の音はピアノの「ソ」の音
下段のユーフォニウムもB♭管なんだけど歴史的にC管として楽譜が書かれる
なので最初の音は楽譜通り「シ」の音が出るのでハモってる
ちなみにこの時ユーフォニウムの奏者は「ド シャープ」として演奏してる

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

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

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

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

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

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

タスクスケジューラ否定してる奴らは、タスクスケジューラ使って言ってるんだろうか?
2018/12/22(土) 11:47:17.60ID:h0Ytd2ZqM
誰も否定してないと思うが?
どれをそう感じたんだろう?
2018/12/22(土) 13:29:07.95ID:MYt604IR0
3日間もこの話を続けてるのか

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

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

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

http://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
ここにも書いてあるけど、バージョンとか製品名とかアセンブリの属性を何か変更したから
保存場所も変わったんじゃないの?
2018/12/25(火) 12:21:30.96ID:H2h1tiNca
ごめん>>137は訂正
俺の記憶違いで、記事にはバイナリのパスにも影響されると書いてあるねw
2018/12/25(火) 12:25:14.95ID:yMEv05zrd
>>137
いいえexeの絶対パスが変わると保存先も変わります
知らないなら適当に答えるなよ
2018/12/25(火) 12:49:04.91ID:H2h1tiNca
いいえ私はさそり座の女〜
2018/12/25(火) 20:05:08.93ID:C73Cga6+0
C#スレが伸びてるけど、unityのおかげ?
2018/12/25(火) 20:36:10.99ID:bRmFmcZ5r
いいえ
2018/12/25(火) 20:49:56.13ID:wyvxpdNe0
設定の保存ならjson.net使ったほうが幸せになれるね
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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