「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part95
http://mevius.5ch.net/test/read.cgi/tech/1508180530/
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part135
http://mevius.5ch.net/test/read.cgi/tech/1517749348/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://msdn.microsoft.com/ja-jp/library/gg145045.aspx
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://msdn.microsoft.com/en-us/library/gg145045.aspx
http://referencesource.microsoft.com/
-
VIPQ2_EXTDAT: default:vvvvv:1000:512:----: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part136
■ このスレッドは過去ログ倉庫に格納されています
2018/03/03(土) 15:09:05.75ID:SBEkwl3H
694デフォルトの名無しさん
2018/03/27(火) 01:19:00.55ID:tVuDF99u >>693
糞会社が4.0止まりなんだ
糞会社が4.0止まりなんだ
695デフォルトの名無しさん
2018/03/27(火) 01:20:41.65ID:rY6p5Eum >>694
4.0はもうサポート対象外だし、Windows Server 2012も非対応なのに使わざるを得ないとか同情するわ
4.0はもうサポート対象外だし、Windows Server 2012も非対応なのに使わざるを得ないとか同情するわ
696デフォルトの名無しさん
2018/03/27(火) 01:24:49.59ID:t3gWSj15697デフォルトの名無しさん
2018/03/27(火) 01:30:08.36ID:dhIDlkWy >>696
だいたい8から13時間程度の稼動になります!
だいたい8から13時間程度の稼動になります!
698デフォルトの名無しさん
2018/03/27(火) 01:30:24.22ID:ff4RZBmU 4.X系ならアップグレードのコストはそんなにかからないだろうに
お前が変えさせるか、辞めちまえ
お前が変えさせるか、辞めちまえ
699デフォルトの名無しさん
2018/03/27(火) 01:36:06.94ID:t3gWSj15700デフォルトの名無しさん
2018/03/27(火) 01:49:34.53ID:XpaqG/wa 最大13時間です!
すいません!
すいません!
701デフォルトの名無しさん
2018/03/27(火) 03:45:35.94ID:7OwU1Hvz 同期プリミティブ
http://www.tokumaru.org/techterm/primitive.html
ポーリングは、ダメの見本。常識
ランデブーとか、待ち合わせしたいだけだろ。
それか、非同期で、callback してもらえば良いだけw
http://www.tokumaru.org/techterm/primitive.html
ポーリングは、ダメの見本。常識
ランデブーとか、待ち合わせしたいだけだろ。
それか、非同期で、callback してもらえば良いだけw
702デフォルトの名無しさん
2018/03/27(火) 04:03:08.18ID:E80vD2cb task.delay(100)とTheading.sleep(100)ってどう違うの?
703デフォルトの名無しさん
2018/03/27(火) 07:45:14.33ID:i+K8FLsM 素人ってやたらとポーリングを嫌うよね
704デフォルトの名無しさん
2018/03/27(火) 09:12:45.31ID:8h15hFzc CPU100%とか言ってるし無限ループと勘違いしてるんだろ
705デフォルトの名無しさん
2018/03/27(火) 09:37:19.37ID:84JRCCml まあ素人さんはしょうがない
706デフォルトの名無しさん
2018/03/27(火) 09:39:14.11ID:kmAPzdoZ >>702
Thread.Sleepは指定した時間自分のスレッドを停止する
Task.Delayは「指定した時間停止するスレッド」を生成する
Task.Delayは単独では意味がないのでawaitなりContinueWithなりする
Thread.Sleepは指定した時間自分のスレッドを停止する
Task.Delayは「指定した時間停止するスレッド」を生成する
Task.Delayは単独では意味がないのでawaitなりContinueWithなりする
707デフォルトの名無しさん
2018/03/27(火) 09:48:09.70ID:rY6p5Eum async/awaitの勉強しているんだが、async voidやasync Taskのメソッドをawait無しで呼び出したらそのメソッドの処理は投げっぱなしになるの?
708デフォルトの名無しさん
2018/03/27(火) 10:48:57.49ID:fbReATtq そだよ。
709デフォルトの名無しさん
2018/03/27(火) 12:21:35.26ID:7OwU1Hvz そもそも、MS が、50ms 以上掛かる処理は、同期処理するなって言ってるだろ。
非同期処理にして、callback してもらうようにって
「ポーリング」で検索して、色々な記事を読め
非同期処理にして、callback してもらうようにって
「ポーリング」で検索して、色々な記事を読め
710デフォルトの名無しさん
2018/03/27(火) 12:28:13.60ID:xeybzECW 何がそもそもなんだw
>>709の世界ではDateTimeの比較演算に50msもかかるのかw
30年前のPC-98だってそんなにかからないと思うけどww
ネタなのかマジなのか知らんけど、そもそもHW資源を直接触れないOS上で動くコードは
一件コールバックのように見える処理も実態はポーリング
単にそれがシステム側のコードに隠蔽されてるだけ
>>709の世界ではDateTimeの比較演算に50msもかかるのかw
30年前のPC-98だってそんなにかからないと思うけどww
ネタなのかマジなのか知らんけど、そもそもHW資源を直接触れないOS上で動くコードは
一件コールバックのように見える処理も実態はポーリング
単にそれがシステム側のコードに隠蔽されてるだけ
711デフォルトの名無しさん
2018/03/27(火) 12:35:46.40ID:GW1/xmrB spin lock なんてものは無かったんや
いやぁ勉強になるなぁ
いやぁ勉強になるなぁ
712デフォルトの名無しさん
2018/03/27(火) 12:38:24.18ID:rY6p5Eum >>708
サンクス
サンクス
713デフォルトの名無しさん
2018/03/27(火) 12:39:38.04ID:nnyxYnJQ 元々タスクスケジューラで十分な話をよくもここまで長々と続けられるな
714デフォルトの名無しさん
2018/03/27(火) 12:44:03.80ID:Eb35YKQg 質問にとは関係ない部分で知識をひけらかしたい奴がいるから
715デフォルトの名無しさん
2018/03/27(火) 13:12:24.26ID:8gmuwQWV 仮にオレがこのソフトを作るとしたら、NotifyIconのデザインで小一時間悩むところから始まるだろうね
716デフォルトの名無しさん
2018/03/27(火) 13:45:19.52ID:7OwU1Hvz 何時間も待つ処理だろ。
50ms を超えてるから、非同期処理を使えって、MS が言ってる
自分でプログラミングで、ポーリングしたらダメ
OS の内部処理とは関係ない
50ms を超えてるから、非同期処理を使えって、MS が言ってる
自分でプログラミングで、ポーリングしたらダメ
OS の内部処理とは関係ない
717デフォルトの名無しさん
2018/03/27(火) 13:53:27.94ID:Eb35YKQg 思い込み激しい奴だな
718デフォルトの名無しさん
2018/03/27(火) 14:12:37.92ID:9YSJ28+H 指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
719デフォルトの名無しさん
2018/03/27(火) 14:24:49.80ID:zZm0N0X4 スレチ
720デフォルトの名無しさん
2018/03/27(火) 14:35:31.77ID:ClOSXPHI 1秒タイマーでタイムアウトするたびに目的の時刻を越えたか
調べるだけでいいじゃないの
違ったら即抜けるだけなのに、50msも掛かる処理じゃねーよ
なんでわざわざタスクスケジューラー使わにゃならんのだ
調べるだけでいいじゃないの
違ったら即抜けるだけなのに、50msも掛かる処理じゃねーよ
なんでわざわざタスクスケジューラー使わにゃならんのだ
721デフォルトの名無しさん
2018/03/27(火) 15:21:58.88ID:1rmw5Lza >>709
ぜんぜん理解してないじゃん
ぜんぜん理解してないじゃん
722デフォルトの名無しさん
2018/03/27(火) 18:28:00.64ID:84JRCCml コミュ障は病気だからやむを得ないが
読解力は人並みに身につけてから書き込んで欲しいよなw
読解力は人並みに身につけてから書き込んで欲しいよなw
723デフォルトの名無しさん
2018/03/27(火) 19:38:51.59ID:8gmuwQWV タイマーのインターバルは10秒とか100秒だけじゃなくて、10年でも100年でも設定できるんだから
起動時に開始と停止までの時間を計算してタイマー設定すれば
ポーリングしなくても良いんじゃね?
起動時に開始と停止までの時間を計算してタイマー設定すれば
ポーリングしなくても良いんじゃね?
724デフォルトの名無しさん
2018/03/27(火) 19:41:02.82ID:RNGaKb4X725デフォルトの名無しさん
2018/03/27(火) 19:46:25.47ID:a4CYTpTn726デフォルトの名無しさん
2018/03/27(火) 20:12:24.26ID:foR5XOpk727デフォルトの名無しさん
2018/03/27(火) 20:34:44.17ID:8gmuwQWV728デフォルトの名無しさん
2018/03/27(火) 20:36:49.79ID:D1lCzr9q 初心者の陥りがちなミス
Timeの精度を信用してしまう
途中で時刻修正の入る場合などを考慮しない
Timeの精度を信用してしまう
途中で時刻修正の入る場合などを考慮しない
729デフォルトの名無しさん
2018/03/27(火) 20:40:14.18ID:8gmuwQWV730デフォルトの名無しさん
2018/03/27(火) 20:42:13.82ID:RAm1FIuU そおです
731デフォルトの名無しさん
2018/03/27(火) 20:51:58.53ID:SJRVUf0s >>710
30年前ってPC9801あったっけ?
30年前ってPC9801あったっけ?
732デフォルトの名無しさん
2018/03/27(火) 20:56:33.38ID:vavxlF2f >>731
初代は1982年(36年前)
初代は1982年(36年前)
733デフォルトの名無しさん
2018/03/27(火) 20:58:54.08ID:FNmJga7y こういうインフラの煩わしい制約からコアになる処理を分離したい
ワーカー側は終了再開するためのapiを用意して時間や終了再開するタイミングの事は一切考えない
時間を管理するクラスが適切なタイミングでそれらのapiを実行する
というのが正解な
時間管理クラスが内部でループぶん回そうがシステムコール使おうがそれはどうでもいい
ワーカー側は終了再開するためのapiを用意して時間や終了再開するタイミングの事は一切考えない
時間を管理するクラスが適切なタイミングでそれらのapiを実行する
というのが正解な
時間管理クラスが内部でループぶん回そうがシステムコール使おうがそれはどうでもいい
734デフォルトの名無しさん
2018/03/27(火) 21:05:37.51ID:D1lCzr9q c#環境では指定時刻にイベントを起こすAPIは用意されてない
735デフォルトの名無しさん
2018/03/27(火) 21:12:23.97ID:9YSJ28+H 指定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
736デフォルトの名無しさん
2018/03/27(火) 21:13:34.93ID:D1lCzr9q737デフォルトの名無しさん
2018/03/27(火) 21:14:46.44ID:1tsj2UvO738デフォルトの名無しさん
2018/03/27(火) 21:22:44.33ID:rY6p5Eum >>737
お仕事でなんでこの仕様からこんな糞コードが生まれるんだろと不思議に思うことあるけど、このスレの流れ見たらある意味納得だわ
お仕事でなんでこの仕様からこんな糞コードが生まれるんだろと不思議に思うことあるけど、このスレの流れ見たらある意味納得だわ
739デフォルトの名無しさん
2018/03/27(火) 21:23:33.47ID:8gmuwQWV740デフォルトの名無しさん
2018/03/27(火) 21:30:26.48ID:xeybzECW どうでもいい
そんな盛り上がるネタじゃないだろうw
いい加減止めたら?
そんな盛り上がるネタじゃないだろうw
いい加減止めたら?
741デフォルトの名無しさん
2018/03/27(火) 21:43:38.37ID:RAm1FIuU 他に居場所がないのでしゅよw
742デフォルトの名無しさん
2018/03/27(火) 21:44:08.38ID:FNmJga7y 悲しいね
743デフォルトの名無しさん
2018/03/27(火) 22:08:17.45ID:t3gWSj15 1秒ポーリングでやろうぜ
現在時刻が開始〜終了時刻の範囲
起動Flagなし
起動処理
起動Flag立てる
現在時刻が開始〜終了時刻の範囲外
起動Flagあり
終了処理
起動Flag下ろす
(*゚∀゚)bできた!
現在時刻が開始〜終了時刻の範囲
起動Flagなし
起動処理
起動Flag立てる
現在時刻が開始〜終了時刻の範囲外
起動Flagあり
終了処理
起動Flag下ろす
(*゚∀゚)bできた!
744デフォルトの名無しさん
2018/03/27(火) 22:29:48.19ID:FkzRU/Z7 回答者の方は基本情報持ってるもんですか?
745デフォルトの名無しさん
2018/03/27(火) 23:11:24.08ID:a4CYTpTn 持ってるけど少し勉強すれば誰でも取れる資格に意味なんてあるの?
精々資格手当で給料が5000円プラスされる程度の価値しかないぞ
精々資格手当で給料が5000円プラスされる程度の価値しかないぞ
746デフォルトの名無しさん
2018/03/27(火) 23:19:17.56ID:LCPGZ3qz 5000円の価値も分からないとか働いたことないのかな?
747デフォルトの名無しさん
2018/03/27(火) 23:32:40.08ID:FNmJga7y うちは1万増える
748デフォルトの名無しさん
2018/03/27(火) 23:34:25.90ID:zFrY2ZyB 5,000円も上乗せとかウラヤマ過ぎだろ
うちなんて高度取っても報償金30,000円だけ
基本や応用ではなにもでない
うちなんて高度取っても報償金30,000円だけ
基本や応用ではなにもでない
749デフォルトの名無しさん
2018/03/27(火) 23:42:52.53ID:7OwU1Hvz 10年以上やってる奴でも、基本情報技術者は取れない
大卒の新米が、こんなの簡単に取れますよねって言ったら、
中堅社員は皆、新米をにらみつけていたw
企業の資格取得率は、年1%(100人中1人)ぐらいだろ。
10年いても、9割の社員は、資格を取れない
大卒の新米が、こんなの簡単に取れますよねって言ったら、
中堅社員は皆、新米をにらみつけていたw
企業の資格取得率は、年1%(100人中1人)ぐらいだろ。
10年いても、9割の社員は、資格を取れない
750デフォルトの名無しさん
2018/03/27(火) 23:53:23.07ID:FNmJga7y 申し込みしたけど忙しくて受験できない人は沢山居るけど受験して落ちる人はいない
751デフォルトの名無しさん
2018/03/27(火) 23:53:50.72ID:3aWOhLkC 俺は応用情報まで持ってて+1万だなー
>10年以上やってる奴でも、基本情報技術者は取れない
……冗談だろ?
>10年以上やってる奴でも、基本情報技術者は取れない
……冗談だろ?
752デフォルトの名無しさん
2018/03/27(火) 23:58:15.55ID:3aWOhLkC さておき、建築士だの医師だの弁護士だのみたいに
「この職務に就くには、○○の資格が必要」とかいう業界じゃないんで
本当に、ただ給料が増えるだけではあるな (採用試験でもまあ有利にはなるかもしれん)
増えたら増えただけ嬉しいもんではあるが
年間で+12万なら、家電の買い替え費用くらい楽に捻出出来るし
「この職務に就くには、○○の資格が必要」とかいう業界じゃないんで
本当に、ただ給料が増えるだけではあるな (採用試験でもまあ有利にはなるかもしれん)
増えたら増えただけ嬉しいもんではあるが
年間で+12万なら、家電の買い替え費用くらい楽に捻出出来るし
753デフォルトの名無しさん
2018/03/27(火) 23:58:26.75ID:9YSJ28+H 定したディレクトリの中を一発で全て置換する何か便利なソフトはありますか?
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
c:\test
aaa.txt
bbb.txt
ccc.txt
...etc
指定したディレクトリの中に複数のファイルがあります。
その中にある特定の文字列を全て一括で置換したいです。
アンパンマン → バイキンマン
といった具合です。
754デフォルトの名無しさん
2018/03/28(水) 00:00:54.89ID:02fULCHO botかな
755デフォルトの名無しさん
2018/03/28(水) 00:09:13.46ID:pf/Jvdmo756デフォルトの名無しさん
2018/03/28(水) 00:16:20.41ID:0was1dJs Ruby の、Dir.glob で書ける
Dir.glob('C:/test/*.txt') do |file|
# gsub(/アンパンマン/, 'バイキンマン')で全部を置換する
end
Dir.glob('C:/test/*.txt') do |file|
# gsub(/アンパンマン/, 'バイキンマン')で全部を置換する
end
757デフォルトの名無しさん
2018/03/28(水) 00:44:23.36ID:Im6j951B C# もしくは 既に要件を満たすツールがあれば教えてください。
758デフォルトの名無しさん
2018/03/28(水) 01:02:57.21ID:GnpAMkN4 >>753
マジレスするとVisualStudioで可能
マジレスするとVisualStudioで可能
759デフォルトの名無しさん
2018/03/28(水) 01:13:32.94ID:qs/6O+TS >>757
WindowsでC#使ってるならVisual Studio使ってるんだろ?
フォルダーを指定して置換でいいと思うが
https://msdn.microsoft.com/ja-jp/library/a40ywt0a.aspx
WindowsでC#使ってるならVisual Studio使ってるんだろ?
フォルダーを指定して置換でいいと思うが
https://msdn.microsoft.com/ja-jp/library/a40ywt0a.aspx
760デフォルトの名無しさん
2018/03/28(水) 07:24:31.11ID:1/4U3eU2761デフォルトの名無しさん
2018/03/28(水) 07:34:12.04ID:NtzDkwr+ powershell
762デフォルトの名無しさん
2018/03/28(水) 22:10:34.35ID:LHMXaAz3 public Pixel(IList<byte> data, int index)
{
B = data[0];
G = data[1];
R = data[2];
Index = index;
}
var list = new List<(int x, int y)>();
// 何故か背景色がFFA07A固定なのでそれ使って適当に
list.AddRange(pixels.Where(x =>
Math.Abs(x.R - 0xFF) < 5 &&
Math.Abs(x.G - 0xA0) < 5 &&
Math.Abs(x.B - 0x7A) < 5
).Select(x => (x.Index % width, x.Index / width)));
ビットマップをPixelクラスに読み込んで特定の色(FFA07A)のピクセルを検出しているのですが
(x.R - 0xFF) < 5
ここのRGBから16進数をマイナスして5未満の意味がわからないのですが
なぜこんな計算をしているのでしょうか?
{
B = data[0];
G = data[1];
R = data[2];
Index = index;
}
var list = new List<(int x, int y)>();
// 何故か背景色がFFA07A固定なのでそれ使って適当に
list.AddRange(pixels.Where(x =>
Math.Abs(x.R - 0xFF) < 5 &&
Math.Abs(x.G - 0xA0) < 5 &&
Math.Abs(x.B - 0x7A) < 5
).Select(x => (x.Index % width, x.Index / width)));
ビットマップをPixelクラスに読み込んで特定の色(FFA07A)のピクセルを検出しているのですが
(x.R - 0xFF) < 5
ここのRGBから16進数をマイナスして5未満の意味がわからないのですが
なぜこんな計算をしているのでしょうか?
763デフォルトの名無しさん
2018/03/28(水) 22:12:50.37ID:6nNahb2+ 止まるんじゃねぇぞ…
764デフォルトの名無しさん
2018/03/28(水) 22:21:23.63ID:Im6j951B765デフォルトの名無しさん
2018/03/28(水) 22:33:50.78ID:r3METhPg >>762
そのコードを書いた奴に聞けよ
そのコードを書いた奴に聞けよ
766デフォルトの名無しさん
2018/03/28(水) 22:42:38.68ID:qs/6O+TS >>764
2008 でもある
https://docs.microsoft.com/ja-jp/previous-versions/visualstudio/visual-studio-2008/a40ywt0a(v=vs.90)
たぶんもっと前からあったような気がする
2008 でもある
https://docs.microsoft.com/ja-jp/previous-versions/visualstudio/visual-studio-2008/a40ywt0a(v=vs.90)
たぶんもっと前からあったような気がする
767デフォルトの名無しさん
2018/03/28(水) 22:52:23.87ID:Im6j951B >>766
知らなんだ。サンクス
知らなんだ。サンクス
768デフォルトの名無しさん
2018/03/29(木) 00:01:16.76ID:LDL0rnP5770デフォルトの名無しさん
2018/03/29(木) 12:17:07.66ID:48quLBzg 質問です。よろしくお願いします。
ttps://tb.click-sec.com/fx/historical/historicalDataDownload.do?y=2018&m=01&c=21&n=USDJPY
をブラウザで開くとzipファイルのDLが始まるので、これをC#でDLしようと思ったのですが、
このURLのままだとSystem.Net.WebClient.FileDownloadでもWebBrowserコントロールで開いてもzipファイルのDLができません。
どうすればいいのでしょうか。 👀
Rock54: Caution(BBR-MD5:8e40a50a3146c71e5aa506574dbd07bd)
ttps://tb.click-sec.com/fx/historical/historicalDataDownload.do?y=2018&m=01&c=21&n=USDJPY
をブラウザで開くとzipファイルのDLが始まるので、これをC#でDLしようと思ったのですが、
このURLのままだとSystem.Net.WebClient.FileDownloadでもWebBrowserコントロールで開いてもzipファイルのDLができません。
どうすればいいのでしょうか。 👀
Rock54: Caution(BBR-MD5:8e40a50a3146c71e5aa506574dbd07bd)
771デフォルトの名無しさん
2018/03/29(木) 12:30:39.81ID:49BUJ49m 諦める
772770
2018/03/29(木) 12:50:22.61ID:48quLBzg IEに開かせればできるかもと思ったのでやってみます。
773デフォルトの名無しさん
2018/03/29(木) 14:42:04.00ID:fRxUhejE すまんが、イベントハンドラーを空っぽにするのってどうやんの?
774デフォルトの名無しさん
2018/03/29(木) 15:00:44.15ID:mcXZqOx8 nullから空っぽのラムダ式を入れる
もしそのイベントを持つクラスの外からやりたいと言ってるならそれは無理
無理と言うより、そんなことをしたいと思うこと自体が間違ってる
もしそのイベントを持つクラスの外からやりたいと言ってるならそれは無理
無理と言うより、そんなことをしたいと思うこと自体が間違ってる
775デフォルトの名無しさん
2018/03/29(木) 19:35:16.02ID:2ivypk2R >>773
-= イベントハンドラ;
-= イベントハンドラ;
776デフォルトの名無しさん
2018/03/30(金) 11:54:45.53ID:LK6mi3V8 ユニットテストについて質問
例えば計算クラスのテストをするときは
[TestCase(-2, 2)]
public void AbsTest(int a, b){
int n = Math.Abs(a);
Assert.AreEqual(n, b);
こういう風に正しい値を予め手計算で用意しておくものなの?
例えば計算クラスのテストをするときは
[TestCase(-2, 2)]
public void AbsTest(int a, b){
int n = Math.Abs(a);
Assert.AreEqual(n, b);
こういう風に正しい値を予め手計算で用意しておくものなの?
777デフォルトの名無しさん
2018/03/30(金) 12:24:31.95ID:Aig7x3ki >>776
一般的にはその通り
間違っても n = a < 0 ? -a : a とかやってはいけない
ちょっと考えたら分かると思うけど、そういうのは全く意味のないオレオレテスト
手計算がどうしても困難なら、デバッガで動かしてその結果が合ってるかを検証してその値をコピペしとけ
少なくとも意図しないデグレの検出には役立つ
一般的にはその通り
間違っても n = a < 0 ? -a : a とかやってはいけない
ちょっと考えたら分かると思うけど、そういうのは全く意味のないオレオレテスト
手計算がどうしても困難なら、デバッガで動かしてその結果が合ってるかを検証してその値をコピペしとけ
少なくとも意図しないデグレの検出には役立つ
778デフォルトの名無しさん
2018/03/30(金) 12:34:29.62ID:LK6mi3V8779デフォルトの名無しさん
2018/03/30(金) 12:46:02.45ID:Aig7x3ki >>778
それはテストの観点を適切に直行化できてないんじゃないか?
引数xが3以上のとき結果は必ず負になることが期待されるとしたら、
テストは3と3を超える値を引数に入れて、それぞれの結果yについて y < 0 が真となることを確認すればいいんだぞ
何を確かめたいのかを明確にしてそれをそのままコードで書くんだよ
それはテストの観点を適切に直行化できてないんじゃないか?
引数xが3以上のとき結果は必ず負になることが期待されるとしたら、
テストは3と3を超える値を引数に入れて、それぞれの結果yについて y < 0 が真となることを確認すればいいんだぞ
何を確かめたいのかを明確にしてそれをそのままコードで書くんだよ
780デフォルトの名無しさん
2018/03/30(金) 14:10:01.41ID:tnFi4c/U LinqのJoinメソッドに渡すメソッドなんだけど、ラムダ式で書く方法が全然理解できないぜ・・・・
多分、掲示板で解説するのも難しいと思うので、やさしく解説してるページやら本やらがあったら教えて!!!
多分、掲示板で解説するのも難しいと思うので、やさしく解説してるページやら本やらがあったら教えて!!!
781デフォルトの名無しさん
2018/03/30(金) 14:45:38.48ID:L1eApEVG782デフォルトの名無しさん
2018/03/30(金) 14:48:53.79ID:CpZcazmB ラムダ式とか正規表現とか、記憶してるやついないから大丈夫
毎回ググればいい
毎回ググればいい
783デフォルトの名無しさん
2018/03/30(金) 15:28:55.57ID:87KFZNYL ラムダ式って、無名関数の構文糖だろ
func (引数1, 引数2) => 戻り値
(a, b) => result
func (引数1, 引数2) => 戻り値
(a, b) => result
784デフォルトの名無しさん
2018/03/30(金) 16:00:30.28ID:BIk3pBCX λを採用した祖の言語LISPなんてわざわざ(lambda〜)と毎回書いてるのに変な略称=>なんて許されんばい
λと書きんしゃい
λと書きんしゃい
785デフォルトの名無しさん
2018/03/30(金) 16:46:29.66ID:kajlCXLR またはじまった
786デフォルトの名無しさん
2018/03/30(金) 17:32:32.77ID:+cAt7TAV ランバダのPVはエロかったなあ
関係ないけど
関係ないけど
787デフォルトの名無しさん
2018/03/30(金) 18:08:45.57ID:qHFB3R53 >>780
この本よかったぞ
基本的な知識はあるがLINQ、ラムダ、推論型の知識があやふやならおススメ
「C#プログラマーのための 基礎からわかるLINQマジック! 」
https://www.amazon.co.jp/dp/product/B01FEZ7QNY/ref=as_li_tf_tl?camp=247&creative=1211&creativeASIN=B01FEZ7QNY&ie=UTF8&linkCode=as2&tag=bookmeter_book_image_image_pc_logoff-22
この本よかったぞ
基本的な知識はあるがLINQ、ラムダ、推論型の知識があやふやならおススメ
「C#プログラマーのための 基礎からわかるLINQマジック! 」
https://www.amazon.co.jp/dp/product/B01FEZ7QNY/ref=as_li_tf_tl?camp=247&creative=1211&creativeASIN=B01FEZ7QNY&ie=UTF8&linkCode=as2&tag=bookmeter_book_image_image_pc_logoff-22
788デフォルトの名無しさん
2018/03/30(金) 18:19:24.61ID:LI6oPksr 人脈?
789デフォルトの名無しさん
2018/03/30(金) 18:25:17.02ID:QYlpMr10 質問失礼します。
以下のようなプログラムを書いたところコメントに書いたようなメッセージが表示されますが、
このメッセージに従ってインライン化しようにも、どのように修正すれば良いか分かりません。
これはIDEのバグだと思って無視しても良いものなのでしょうか。
インライン化の有無は可読性だけの問題でパフォーマンスなどに影響はないのだと思いますが、
このようなメッセージが表示されたままプログラムを完成とするのはあまり気分がよくありません。
プログラムの修正方法や、このようなメッセージに対する考え方など、
分かることがあれば教えていただけないでしょうか。よろしくお願いします。
static void Main(string[] args)
{
void getMessage1(out string _message) => _message = "x is 1.";
void getMessage2(out string _message) => _message = "x is not 1.";
int x = 1;
string message; // IDE0018 変数の宣言をインライン化できます
if (x == 1)
{
getMessage1(out message);
}
else
{
getMessage2(out message);
}
Console.WriteLine(message);
}
以下のようなプログラムを書いたところコメントに書いたようなメッセージが表示されますが、
このメッセージに従ってインライン化しようにも、どのように修正すれば良いか分かりません。
これはIDEのバグだと思って無視しても良いものなのでしょうか。
インライン化の有無は可読性だけの問題でパフォーマンスなどに影響はないのだと思いますが、
このようなメッセージが表示されたままプログラムを完成とするのはあまり気分がよくありません。
プログラムの修正方法や、このようなメッセージに対する考え方など、
分かることがあれば教えていただけないでしょうか。よろしくお願いします。
static void Main(string[] args)
{
void getMessage1(out string _message) => _message = "x is 1.";
void getMessage2(out string _message) => _message = "x is not 1.";
int x = 1;
string message; // IDE0018 変数の宣言をインライン化できます
if (x == 1)
{
getMessage1(out message);
}
else
{
getMessage2(out message);
}
Console.WriteLine(message);
}
790デフォルトの名無しさん
2018/03/30(金) 18:42:11.73ID:q+LDJ3nt そんなもん買っても十中八九忘れる
基本ネットに転がってるコピペで食いつなぐのが一流
基本ネットに転がってるコピペで食いつなぐのが一流
791デフォルトの名無しさん
2018/03/30(金) 18:44:40.56ID:LI6oPksr >>789
なんでoutを使うのかが分からないんだけど
なんでoutを使うのかが分からないんだけど
792デフォルトの名無しさん
2018/03/30(金) 18:49:12.82ID:+cAt7TAV793デフォルトの名無しさん
2018/03/30(金) 18:57:29.01ID:roepBgfb >>789
これ、どうしろって言ってん?
これ、どうしろって言ってん?
■ このスレッドは過去ログ倉庫に格納されています
