!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
・Insider.NET > .NET TIPS - @IT
https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html
・DOBON.NET .NET Tips
https://dobon.net/vb/dotnet/index.html
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
ふらっと C#,C♯,C#(初心者用) Part148
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ df89-moxv)
2020/05/27(水) 20:28:41.27ID:Pggemlyq0373デフォルトの名無しさん (JP 0H22-pYMh)
2020/10/21(水) 13:03:41.62ID:eNSg6QZpH >>371
-0.01と-0.02の中間(MidPoint)である-0.015のときの丸め方(Rounding)として
「MidpointRounding.ToPositiveInfinity」を指定したつもりだったのですが・・・
MidPointじゃないときにも「ToPositiveInfinity」が適用されちゃうんですね・・・
JavaScriptのMath.Round()とおなじような(四捨五入される桁の数字が5の場合に
正の無限大の方向で丸める)四捨五入をしたかっただけなのですが、
関数を自作しないとだめみたいなので自作します。
お騒がせしました。
-0.01と-0.02の中間(MidPoint)である-0.015のときの丸め方(Rounding)として
「MidpointRounding.ToPositiveInfinity」を指定したつもりだったのですが・・・
MidPointじゃないときにも「ToPositiveInfinity」が適用されちゃうんですね・・・
JavaScriptのMath.Round()とおなじような(四捨五入される桁の数字が5の場合に
正の無限大の方向で丸める)四捨五入をしたかっただけなのですが、
関数を自作しないとだめみたいなので自作します。
お騒がせしました。
374デフォルトの名無しさん (ワッチョイ 8242-gGz3)
2020/10/21(水) 13:30:40.39ID:UaTtUbsy0 await絡みのときは、排他制御はSemaphoreSlim使うのが定番ですよ
https://www.atmarkit.co.jp/ait/articles/1411/11/news117.html
https://www.atmarkit.co.jp/ait/articles/1411/11/news117.html
375デフォルトの名無しさん (アウアウウー Sa45-PQnC)
2020/10/21(水) 13:44:12.17ID:RtxzEAIBa 四捨五入:わかる
銀行丸め:わかる
正の無限大の方向で丸める:何の意味があんのそれ?
銀行丸め:わかる
正の無限大の方向で丸める:何の意味があんのそれ?
376デフォルトの名無しさん (テテンテンテン MMe6-K3fn)
2020/10/21(水) 13:52:03.73ID:xBoANC0iM 切り上げって知ってる?
377デフォルトの名無しさん (ワッチョイ 1d1a-8DiG)
2020/10/21(水) 14:15:10.32ID:sg7OOy0L0 >>373
それならこんな感じで簡単に作れるから頑張れ
static decimal[] table = new decimal[]{1E0m, 1E1m, 1E2m, 1E3m, 1E4m};
static decimal Round(decimal num, int pow) => Decimal.Floor((num * table[pow]) + 0.5m) / table[pow];
decimal num = Round(-0.015m, 2); // -0.01
>>372
普通にメインスレッドから叩いていればこうなるからな
if(!locked){ // thread 1
locked = true; // thread 1
await xxx.Task; // thread 2
locked = false; // thread 1
}
それならこんな感じで簡単に作れるから頑張れ
static decimal[] table = new decimal[]{1E0m, 1E1m, 1E2m, 1E3m, 1E4m};
static decimal Round(decimal num, int pow) => Decimal.Floor((num * table[pow]) + 0.5m) / table[pow];
decimal num = Round(-0.015m, 2); // -0.01
>>372
普通にメインスレッドから叩いていればこうなるからな
if(!locked){ // thread 1
locked = true; // thread 1
await xxx.Task; // thread 2
locked = false; // thread 1
}
378デフォルトの名無しさん (スップ Sd02-UPmx)
2020/10/21(水) 14:19:07.15ID:lJjSrE40d 正負どっち方向に動くかわかんない変換より確実に方向がわかっている変換が必要なことはあるよ
379デフォルトの名無しさん (アウアウウー Sa45-PQnC)
2020/10/21(水) 14:26:27.71ID:RtxzEAIBa380デフォルトの名無しさん (スップ Sd02-UPmx)
2020/10/21(水) 14:32:15.81ID:lJjSrE40d 5捨6入って特定に分野では一般的な計算方法では?
俺は使わないけど
俺は使わないけど
381デフォルトの名無しさん (アウアウウー Sa45-PQnC)
2020/10/21(水) 14:33:15.98ID:RtxzEAIBa382デフォルトの名無しさん (ワッチョイ 8224-3PYq)
2020/10/21(水) 14:47:36.44ID:8k52si4D0 それでもう.NET5使ってええの?
383デフォルトの名無しさん (ワッチョイ 02ad-zk6z)
2020/10/21(水) 14:52:13.96ID:v0oiVQF00 いいよ
384デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 15:00:31.64ID:5E7rZ8hS0 >>377
それが問題になるのは、そのifブロックが複数スレッドで実行されたときだからな
それが問題になるのは、そのifブロックが複数スレッドで実行されたときだからな
385デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/21(水) 16:37:46.89ID:APVpE4AA0386デフォルトの名無しさん (ワッチョイ 1d1a-LA9s)
2020/10/21(水) 17:36:18.89ID:sg7OOy0L0 >>385
つまりこういうのを危惧してるのか?
Task.Run(() => {
if(!locked){
locked = true;
await xxx.Task;
locked = false;
}
});
だとしたらこんなのは仮定に持ち出すのがそもそも間違い
それ言い出したらフィールド操作するあらゆるメソッドで「並列で呼び出される可能性がある」とlock()で括らなきゃいけなくなってしまう
つまりこういうのを危惧してるのか?
Task.Run(() => {
if(!locked){
locked = true;
await xxx.Task;
locked = false;
}
});
だとしたらこんなのは仮定に持ち出すのがそもそも間違い
それ言い出したらフィールド操作するあらゆるメソッドで「並列で呼び出される可能性がある」とlock()で括らなきゃいけなくなってしまう
387デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/21(水) 17:53:44.86ID:lxmGvu010 ifブロックがシングルスレッドでしか実行されない状況で
lockが必要な状況ってどういうの?
lockが必要な状況ってどういうの?
388デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 17:55:56.87ID:5E7rZ8hS0 元の質問がマルチスレッドでのロックに関する質問だと思うのだがな
このコードはスレッドセーフですか?
いいえ危険です
みんなが回答してるのはそういう事
このスレの趣旨や質問者のレベルを考えると妥当な仮定と回答だと思うぞ
このコードはスレッドセーフですか?
いいえ危険です
みんなが回答してるのはそういう事
このスレの趣旨や質問者のレベルを考えると妥当な仮定と回答だと思うぞ
389デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 17:58:26.66ID:5E7rZ8hS0 >>387
再入すればやばい気がしないでもない
再入すればやばい気がしないでもない
390デフォルトの名無しさん (ワッチョイ 1d1a-LA9s)
2020/10/21(水) 18:02:52.19ID:sg7OOy0L0 元の質問って>>366だろ?
> async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無い
「同じスレッドに戻る」を認識してるなら疑いなくtrueやん
ここで「でも別スレッドで動かしたら危険」と言うのは質問の前提を崩してる
> async/awaitは同じスレッドに戻るからこんな単純なロックでも問題無い
「同じスレッドに戻る」を認識してるなら疑いなくtrueやん
ここで「でも別スレッドで動かしたら危険」と言うのは質問の前提を崩してる
391デフォルトの名無しさん (ワッチョイ bdad-TzND)
2020/10/21(水) 18:14:17.17ID:MqdNiLmu0 崩してないな。
392デフォルトの名無しさん (ワッチョイ 022f-MACq)
2020/10/21(水) 18:19:06.78ID:5E7rZ8hS0 そのawaitしてるのはasyncメソッドだから、メインスレッドからのみ呼ばれるとは限らん
つまりもどるのがメインスレッドだとは限らん
というの理解しているのならまあ大きなお世話だと言えなくもないが
あとフォームアプリじゃなければ、もとのスレッドに戻るも保障されないけどな
つまりもどるのがメインスレッドだとは限らん
というの理解しているのならまあ大きなお世話だと言えなくもないが
あとフォームアプリじゃなければ、もとのスレッドに戻るも保障されないけどな
393デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/21(水) 19:06:44.50ID:lxmGvu010 >>389
なるほど
ロックって言葉でちょっと意図を勘違いしてた
タスクが実行中ならもう1回呼ばれても実行しないようにしたいってことだったのか
タスクの中には他のスレッドと競合する処理はなく
ifブロックはUIスレッドでのみ実行されるという前提ならいいんじゃねって気がする
なるほど
ロックって言葉でちょっと意図を勘違いしてた
タスクが実行中ならもう1回呼ばれても実行しないようにしたいってことだったのか
タスクの中には他のスレッドと競合する処理はなく
ifブロックはUIスレッドでのみ実行されるという前提ならいいんじゃねって気がする
394デフォルトの名無しさん (ワッチョイ 895f-ojc3)
2020/10/21(水) 19:15:16.66ID:/GjtxlMb0 そもそも呼ばれないようにしろ
395デフォルトの名無しさん (ワッチョイ 1d1a-xMNm)
2020/10/21(水) 19:22:35.51ID:sg7OOy0L0396デフォルトの名無しさん (ワッチョイ fd02-XbO/)
2020/10/21(水) 20:02:51.66ID:GqMp+oa10397デフォルトの名無しさん (アウアウクー MMd1-/IKK)
2020/10/21(水) 21:32:30.66ID:38qDfhYJM >>338
まだ帳票開発したことないけど、やる機会があればDocurainってサービス使ってみようかなって思ってる
まだ帳票開発したことないけど、やる機会があればDocurainってサービス使ってみようかなって思ってる
398デフォルトの名無しさん (ワッチョイ cdda-XH2X)
2020/10/24(土) 21:17:36.19ID:skFEsPcd0 for文で書き始めて、配列から要素を取り出すだけだからforeachに書き換えて、でもやっぱりiが必要になってfor文に戻すこと多くない?
399デフォルトの名無しさん (ワッチョイ eee3-tMQb)
2020/10/24(土) 21:32:32.75ID://9fx+gF0 Index付きのSelect句で事足りる
400デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/24(土) 21:50:33.27ID:878uww5f0 MoreLinqのIndex()がKeyValuePair<int, TSource>を返してくれる
簡単だから自分で実装してもいいけどライブラリ使うほうが管理含めて楽
foreach (var (i, x) in foo.Index()) {
Console.WriteLine($"{i}: {x}");
}
簡単だから自分で実装してもいいけどライブラリ使うほうが管理含めて楽
foreach (var (i, x) in foo.Index()) {
Console.WriteLine($"{i}: {x}");
}
401デフォルトの名無しさん (ワッチョイ cdda-XH2X)
2020/10/24(土) 21:55:59.78ID:skFEsPcd0 そうなんだ
402デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/24(土) 22:19:40.87ID:VOTutQQJ0 >>400
いや、これ書くぐらいならforで書くよな
いや、これ書くぐらいならforで書くよな
403デフォルトの名無しさん (ワッチョイ 5db2-Xls4)
2020/10/24(土) 23:15:08.92ID:GpR1sqnP0 >>402
たしかに
たしかに
404デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/24(土) 23:52:47.91ID:878uww5f0 またLinqバトル始まっちゃう感じ?
405デフォルトの名無しさん (ワッチョイ ee2c-ySc4)
2020/10/25(日) 00:14:13.24ID:AkfEJdVF0 (index, value)と(value, index)でバグを作ってしまったから
Index拡張メソッドは控えることにした
Index拡張メソッドは控えることにした
406デフォルトの名無しさん (ワッチョイ eee3-tMQb)
2020/10/25(日) 00:16:36.51ID:wq/6wJQN0407デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/25(日) 00:24:48.70ID:lDlwJ32m0 そもそもforeachなんて作ったやつの脳みそ腐ってんだから仕方ない
何回回すのかもコードからわかんねーし
どう回したいのか変わると一気に産廃
そもそもforeachなんて産廃コード使うなよ
変更に激弱だろ
あ、インデックスN番目は処理したくない
→産廃
あ、後から処理しないと
→産廃
あ、奇数と偶数で処理変えないと
→産廃
あ、こっちの配列もみながらいっしょに処理しないと
→産廃
もうあれね
コードレビューでforeachを見つけたら
修正させるぐらいでいい
何回回すのかもコードからわかんねーし
どう回したいのか変わると一気に産廃
そもそもforeachなんて産廃コード使うなよ
変更に激弱だろ
あ、インデックスN番目は処理したくない
→産廃
あ、後から処理しないと
→産廃
あ、奇数と偶数で処理変えないと
→産廃
あ、こっちの配列もみながらいっしょに処理しないと
→産廃
もうあれね
コードレビューでforeachを見つけたら
修正させるぐらいでいい
408デフォルトの名無しさん (ワッチョイ e1ad-gqeA)
2020/10/25(日) 07:44:18.56ID:yVRP623B0 インデックスを考えるような用途でforeach使うほうが悪いだろ。
偶数と奇数で処理変えるのも意味わからんし、イテーレタを一つずつって変更に強いと思うけど。
全部Linqでなんとかなることだけどさ。
偶数と奇数で処理変えるのも意味わからんし、イテーレタを一つずつって変更に強いと思うけど。
全部Linqでなんとかなることだけどさ。
409デフォルトの名無しさん (ワッチョイ 05da-jvOs)
2020/10/25(日) 08:02:57.19ID:bN5bdnqa0 紅白に塗るとかあるよね
410デフォルトの名無しさん (アウアウクー MMd1-AKl2)
2020/10/25(日) 09:10:32.90ID:WAUUQolqM 偶数の場合こう処理します!
プログラム解説サイトとかでありがち。
実務でそういうのに出くわしたことほぼない。
プログラム解説サイトとかでありがち。
実務でそういうのに出くわしたことほぼない。
411デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/25(日) 09:22:04.05ID:lDlwJ32m0412デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/25(日) 09:24:16.14ID:lDlwJ32m0 2行でワンセットになるデータで
上側だけ、下側だけって処理するときもお世話になるじゃん
どんだけ組んだことないんだよ
上側だけ、下側だけって処理するときもお世話になるじゃん
どんだけ組んだことないんだよ
413デフォルトの名無しさん (ワッチョイ 86da-3XbD)
2020/10/25(日) 09:26:32.27ID:XkKy2l3/0 WPFみたいな割と最近のライブラリなら、
自前で偶数判断なんてせず交互に色を変えてくれる。
自前で偶数判断なんてせず交互に色を変えてくれる。
414デフォルトの名無しさん (スフッ Sda2-gqeA)
2020/10/25(日) 09:36:22.60ID:w//Xf3xfd415デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/25(日) 09:37:37.76ID:lDlwJ32m0416デフォルトの名無しさん (スフッ Sda2-gqeA)
2020/10/25(日) 09:40:44.86ID:w//Xf3xfd417デフォルトの名無しさん (ワッチョイ eea7-qdaq)
2020/10/25(日) 09:47:07.55ID:lDlwJ32m0418デフォルトの名無しさん (ワッチョイ e1ad-gqeA)
2020/10/25(日) 10:01:32.46ID:yVRP623B0 >>417
画面側でやること。
描画関数には何行目かそもそも渡ってくるからループなんぞする必要もないだろ。
それを客が言ってるからってデータでやるのは手早くて汚い方法取ってるか、それしか知らないって事じゃん?
画面側でやること。
描画関数には何行目かそもそも渡ってくるからループなんぞする必要もないだろ。
それを客が言ってるからってデータでやるのは手早くて汚い方法取ってるか、それしか知らないって事じゃん?
419デフォルトの名無しさん (ワッチョイ c6de-qdaq)
2020/10/25(日) 10:29:58.35ID:j2oMvxGH0420デフォルトの名無しさん (ワッチョイ c6de-qdaq)
2020/10/25(日) 10:32:46.22ID:j2oMvxGH0 ループで奇数と偶数は別の描画ライブラリ使っててそっちの話だった
すまん
すまん
421デフォルトの名無しさん (ワッチョイ e1ad-gqeA)
2020/10/25(日) 10:35:11.15ID:yVRP623B0 なんか俺も言い方悪かったな。すまん。
422デフォルトの名無しさん (アウアウイー Sad1-y5oF)
2020/10/25(日) 10:36:49.62ID:MD0uz1BLa 最近のC#ならTupleで書けるからindexつきSelectのほうが短く書けて楽かな
foreach (var (item, index) in items.Select((x, i) => (x, i)))
{
Console.WriteLine($"{index}: {item}");
}
for (var index = 0; index <= items.Length; i++)
{
var item = items[i];
Console.WriteLine($"{index}: {item}");
}
後者の書き方に仕込まれてるバグを目視だけで見つけるのはやっぱりしんどい
ていうかDataGridViewなら奇数行・偶数行のスタイルをそれぞれ別に設定できたはず
なんでそれ使わないでロジックで制御するんだろう
foreach (var (item, index) in items.Select((x, i) => (x, i)))
{
Console.WriteLine($"{index}: {item}");
}
for (var index = 0; index <= items.Length; i++)
{
var item = items[i];
Console.WriteLine($"{index}: {item}");
}
後者の書き方に仕込まれてるバグを目視だけで見つけるのはやっぱりしんどい
ていうかDataGridViewなら奇数行・偶数行のスタイルをそれぞれ別に設定できたはず
なんでそれ使わないでロジックで制御するんだろう
423デフォルトの名無しさん (アウアウクー MMd1-AKl2)
2020/10/25(日) 10:46:49.59ID:WAUUQolqM >>411
そんな偶数奇数で色変えるとかはコントロール側で制御して、各機能では意識せずに作れるようにしてる。
有償のものは標準でそういう機能ついてる。
あなたのところは各機能でそんなことさせてるの?
ほとんどのシーンでforeachは使えるしforより可読性も高い。
C上がりのひとは頑なにfor文つかうよね。
そんな偶数奇数で色変えるとかはコントロール側で制御して、各機能では意識せずに作れるようにしてる。
有償のものは標準でそういう機能ついてる。
あなたのところは各機能でそんなことさせてるの?
ほとんどのシーンでforeachは使えるしforより可読性も高い。
C上がりのひとは頑なにfor文つかうよね。
424デフォルトの名無しさん (アウアウクー MMd1-AKl2)
2020/10/25(日) 10:48:09.55ID:WAUUQolqM とか書いてたら話終わってた…
425デフォルトの名無しさん (スフッ Sda2-VUOf)
2020/10/25(日) 10:57:42.82ID:ad5S/9r+d BASIC上がりの俺は頑なにforを使う
426デフォルトの名無しさん (ワッチョイ ee2f-3XbD)
2020/10/25(日) 11:43:12.08ID:6wSnm1o40 フォームアプリを作成していて、
作ったタブページを一時的に表示させないようにしたいのですが
(開発者用なのでユーザーから隠したいタブページ)
invisible設定とかないのでしょうか?
作ったタブページを一時的に表示させないようにしたいのですが
(開発者用なのでユーザーから隠したいタブページ)
invisible設定とかないのでしょうか?
427デフォルトの名無しさん (ワッチョイ 05da-jvOs)
2020/10/25(日) 11:54:01.85ID:bN5bdnqa0 visibleをfalseにしる
428デフォルトの名無しさん (ワッチョイ fd5f-Naer)
2020/10/25(日) 13:16:25.56ID:FzqccguI0 elisp上がりだとdolistか
429デフォルトの名無しさん (アウアウイー Sad1-y5oF)
2020/10/25(日) 13:18:15.58ID:MD0uz1BLa430デフォルトの名無しさん (ワッチョイ c201-45kF)
2020/10/25(日) 13:20:19.02ID:M7kzCKlu0 >>405
拡張メソッドの問題ではないような・・・
それはいいとして順番だけど
map/reduce系のAPIはindexがオプショナルなので引数の順番は(value, index)が一般的で
index付きのtuple的なもの返す場合は(index, value)で返すほうが一般的
自分の知ってる言語はどれもそうなってるよ
拡張メソッドの問題ではないような・・・
それはいいとして順番だけど
map/reduce系のAPIはindexがオプショナルなので引数の順番は(value, index)が一般的で
index付きのtuple的なもの返す場合は(index, value)で返すほうが一般的
自分の知ってる言語はどれもそうなってるよ
431デフォルトの名無しさん (ワッチョイ 8901-dBbI)
2020/10/28(水) 07:40:35.09ID:qnSD+cEJ0 C#で作られた2つの実行中プログラムの間でデータの受け渡しをするならどういう方法が考えられますか?
csvやデータベースくらいしか思いつかず
csvやデータベースくらいしか思いつかず
432デフォルトの名無しさん (スフッ Sd33-5Eci)
2020/10/28(水) 08:05:19.87ID:68kYXJV6d >>431
ポート開けて通信する。
プロセス間通信する。
のどっちかかな。
Core化するなら、ポート開けて通信したほうが良いかも。
embedIOとか使うとhttpサーバがびっくりするほど簡単に立てられるよ。既存アプリの上に。
ポート開けて通信する。
プロセス間通信する。
のどっちかかな。
Core化するなら、ポート開けて通信したほうが良いかも。
embedIOとか使うとhttpサーバがびっくりするほど簡単に立てられるよ。既存アプリの上に。
433デフォルトの名無しさん (ワッチョイ 1324-XCPW)
2020/10/28(水) 08:10:45.70ID:geAq98MI0 GUI同士ならSendMessageとかも
434デフォルトの名無しさん (アウアウウー Sa9d-hJ+A)
2020/10/28(水) 08:41:56.32ID:cCglm1Caa435デフォルトの名無しさん (ワッチョイ 13ad-W+MZ)
2020/10/28(水) 09:08:45.24ID:Nt7id6vD0 Web API
436デフォルトの名無しさん (ワッチョイ 132f-G7xE)
2020/10/28(水) 09:13:36.29ID:DyAY2wG10 WCFの後継とかどうすりゃいんだ
437デフォルトの名無しさん (ワッチョイ 13ad-W+MZ)
2020/10/28(水) 09:22:47.39ID:Nt7id6vD0438デフォルトの名無しさん (ワッチョイ 69b0-Wesc)
2020/10/28(水) 09:28:12.57ID:3bmwn6Ba0 WCF 開発者に gRPC を推奨する理由
https://docs.microsoft.com/ja-jp/dotnet/architecture/grpc-for-wcf-developers/why-grpc
https://docs.microsoft.com/ja-jp/dotnet/architecture/grpc-for-wcf-developers/why-grpc
439デフォルトの名無しさん (ワッチョイ 136a-Wesc)
2020/10/28(水) 22:35:34.95ID:bWE1nSHc0 うちにはRemoting使ってて詰んでるレガシーがある
440デフォルトの名無しさん (アウアウウー Sa9d-LF1B)
2020/10/29(木) 08:48:31.11ID:GkpRv4Lwa MSMQという手も
441デフォルトの名無しさん (ブーイモ MM8d-jkRw)
2020/10/29(木) 12:27:01.55ID:VHRGFK1gM MQTT
442デフォルトの名無しさん (ワッチョイ 8901-dBbI)
2020/10/29(木) 19:28:53.48ID:obW6sm8G0443デフォルトの名無しさん (ササクッテロ Spc5-8Qnl)
2020/10/29(木) 20:32:35.12ID:ytciXGtBp お前が好きだと今日言うメモリー
気持ちを交換共有メモリー
気持ちを交換共有メモリー
444デフォルトの名無しさん (オッペケ Src5-oSKY)
2020/10/29(木) 21:27:35.00ID:fAmed0Klr 動的なJsonを作成したいのですが、いい方法ありませんか?
今考えてるのは
1. Jsonシリアライズ用クラスを用意(複数)
2. 処理部で使用するタイミングで1.クラスnew
3. 2.でnewしたクラスのみ匿名型オブジェクトに突っ込む
4. 3.をシリアライズ
これで一応は出来るんですが、3.で分岐多くなるのが非常に汚くて。
今考えてるのは
1. Jsonシリアライズ用クラスを用意(複数)
2. 処理部で使用するタイミングで1.クラスnew
3. 2.でnewしたクラスのみ匿名型オブジェクトに突っ込む
4. 3.をシリアライズ
これで一応は出来るんですが、3.で分岐多くなるのが非常に汚くて。
445デフォルトの名無しさん (オッペケ Src5-oSKY)
2020/10/29(木) 21:28:58.34ID:fAmed0Klr できれば使用したタイミングで、都度匿名型に追加できればいいんですが、実装方法わからず…
446デフォルトの名無しさん (オッペケ Src5-oSKY)
2020/10/29(木) 21:32:20.78ID:fAmed0Klr 都度匿名型に追加ってのはあくまでイメージですはい。
447デフォルトの名無しさん (ワッチョイ f946-6z/3)
2020/10/29(木) 21:37:54.98ID:w+K6PrrE0 DynamicObjectとか使えばよかったような
448デフォルトの名無しさん (ワッチョイ 8b2c-jacq)
2020/10/29(木) 21:45:46.98ID:HAxtGf170 いまいちよく分からんが、Dictionary<string, object>だとダメなの?
449デフォルトの名無しさん (オッペケ Src5-oSKY)
2020/10/29(木) 22:08:26.61ID:fAmed0Klr450デフォルトの名無しさん (ワッチョイ 518f-CXnf)
2020/10/29(木) 22:56:17.00ID:28O5aXgi0 >>425
Python が最初だとどうなるんだろうな
Python が最初だとどうなるんだろうな
451デフォルトの名無しさん (ワッチョイ 1340-mlHN)
2020/10/30(金) 05:36:06.93ID:Of4L3rez0 スタティックライブラリーを使うためDLLにしているのだが、関数ポインタを引数にする関数があって困っています。
C#の関数をその関数ポインタに結びつける方法ありますか?
C#の関数をその関数ポインタに結びつける方法ありますか?
452デフォルトの名無しさん (ワッチョイ 1324-XCPW)
2020/10/30(金) 07:28:47.86ID:NoXL5vik0 >>451
関数ポインタ引数に対してはdelegateをそのまま渡せばいいよ
LPCTSTR引数に対してstringをそのまま放り込んでも成立するのと同様にdelegateもPVOIDとして解釈される
つまりそのDLLで使う関数の型のdelegate型を作って渡せば良いだけ
関数ポインタ引数に対してはdelegateをそのまま渡せばいいよ
LPCTSTR引数に対してstringをそのまま放り込んでも成立するのと同様にdelegateもPVOIDとして解釈される
つまりそのDLLで使う関数の型のdelegate型を作って渡せば良いだけ
453デフォルトの名無しさん (ワッチョイ 1324-XCPW)
2020/10/30(金) 07:32:51.69ID:NoXL5vik0 ちなみにC#9だか10からは生の関数ポインタも扱えるって聞いた
454デフォルトの名無しさん (ワッチョイ 1340-mlHN)
2020/10/30(金) 09:43:54.51ID:Of4L3rez0 >>452
ありがとうございます。
ありがとうございます。
455デフォルトの名無しさん (ワッチョイ 2b7c-jacq)
2020/10/30(金) 09:48:27.53ID:+BFmFpNo0 関数ポインタをDLL側が保持する(寿命が関数から返ってくるまでより長い)場合は
マネージ側もその間そのdelegateインスタンスを保持しとかないとだめだぞ
マネージ側もその間そのdelegateインスタンスを保持しとかないとだめだぞ
456デフォルトの名無しさん (ワイーワ2 FF63-L1Xi)
2020/10/30(金) 12:16:19.25ID:7MkyV1CpF >>444
msgpack
msgpack
457デフォルトの名無しさん (ワッチョイ 518f-CXnf)
2020/10/30(金) 23:02:16.07ID:YXzIJ61G0 >>453
どどど、どう書くの?
どどど、どう書くの?
458デフォルトの名無しさん (ワッチョイ 136a-Wesc)
2020/10/31(土) 12:17:23.59ID:8cswqFVg0459デフォルトの名無しさん (アウウィフ FF9d-L1Xi)
2020/10/31(土) 12:27:36.76ID:fxcwqRC2F460デフォルトの名無しさん (アウアウエー Sae3-qHab)
2020/10/31(土) 20:35:43.78ID:jPO/JqMva 最近最新版がプレリリースされたwebView2って、C#ではまだ使えないんでしょうか?
https://docs.microsoft.com/ja-jp/microsoft-edge/webview2/gettingstarted/winforms
上記サイトに習ってnugetからインストールし、1日いろいろ試して全く動作しませんでした。
ソリューションエクスプローラーの参照の、webView2をダブルクリックすると、「このプロジェクトは利用不可能き、またはビルドされていないため、オブジェクトブラウザで表示できません」と表示されます。
webView2もVisualStudioもMicrosoft Edgeも最新版をインストールしてもダメでした。
https://docs.microsoft.com/ja-jp/microsoft-edge/webview2/gettingstarted/winforms
上記サイトに習ってnugetからインストールし、1日いろいろ試して全く動作しませんでした。
ソリューションエクスプローラーの参照の、webView2をダブルクリックすると、「このプロジェクトは利用不可能き、またはビルドされていないため、オブジェクトブラウザで表示できません」と表示されます。
webView2もVisualStudioもMicrosoft Edgeも最新版をインストールしてもダメでした。
461デフォルトの名無しさん (アウアウエー Sae3-qHab)
2020/10/31(土) 20:37:54.93ID:jPO/JqMva 間違えました。
「このプロジェクトは利用不可能か、またはビルドされていないため、オブジェクトブラウザでは表示できません。」の間違いです。
「このプロジェクトは利用不可能か、またはビルドされていないため、オブジェクトブラウザでは表示できません。」の間違いです。
462デフォルトの名無しさん (ワッチョイ fb42-L1Xi)
2020/10/31(土) 20:40:31.48ID:4IwElBvx0 WindowsFormsを勉強しはじめたんだけど
テキストボックスに処理の状況を逐一表示させたい場合ってどうやるのが正しいやり方?
とりあえずこんな感じで作ってみたら動くけどなんか違う気がする
https://ideone.com/o3Agp4
テキストボックスに処理の状況を逐一表示させたい場合ってどうやるのが正しいやり方?
とりあえずこんな感じで作ってみたら動くけどなんか違う気がする
https://ideone.com/o3Agp4
463デフォルトの名無しさん (ワッチョイ 7178-CXnf)
2020/10/31(土) 20:55:29.78ID:Pj54f0iv0 ログ的な事をやりたいんだったらListBox使う方が良いよ
一定行数に達したら先頭(最終)行を削除とかも簡単に実装できる
一定行数に達したら先頭(最終)行を削除とかも簡単に実装できる
464デフォルトの名無しさん (ブーイモ MMdd-+cRC)
2020/10/31(土) 21:00:31.63ID:+32PkI4zM >>462
allocconsole してconsole に出力するの吉
allocconsole してconsole に出力するの吉
465デフォルトの名無しさん (ワッチョイ 1324-XCPW)
2020/10/31(土) 21:00:33.78ID:1joLaKYt0 >>462
それでも良いと思うけどConsole.WriteLineみたいに強制改行関数作っといたら?
あとC#自体のアドバイスになるけど、"処理しています……" + "\r\n"は+いらないから"処理しています……\r\n"で良いし
変数挟むときは$を付けて{}で囲む$"あと{i}秒\r\n"って書き方は各プログラミング言語の中でもトップクラスに便利だから覚えておいた方が良い
それでも良いと思うけどConsole.WriteLineみたいに強制改行関数作っといたら?
あとC#自体のアドバイスになるけど、"処理しています……" + "\r\n"は+いらないから"処理しています……\r\n"で良いし
変数挟むときは$を付けて{}で囲む$"あと{i}秒\r\n"って書き方は各プログラミング言語の中でもトップクラスに便利だから覚えておいた方が良い
466デフォルトの名無しさん (ワッチョイ 8b7b-ZVtx)
2020/10/31(土) 21:34:45.65ID:2P+i0kOV0467デフォルトの名無しさん (アウアウエー Sae3-vExa)
2020/10/31(土) 21:59:39.41ID:b+5qg5vxa468デフォルトの名無しさん (ワッチョイ 136a-Wesc)
2020/10/31(土) 22:07:28.55ID:1TbrihkJ0469デフォルトの名無しさん (ワッチョイ fb42-Y3Cl)
2020/10/31(土) 22:21:19.47ID:4IwElBvx0470デフォルトの名無しさん (ワッチョイ 2b2d-yS8S)
2020/10/31(土) 22:39:35.75ID:syXSgGXN0 >>469
積極的にコンソールを使う意図が無いのであれば、AllocConsoleよりも
System.Diagnostics名前空間のDebug.WriteLine()やTrace.WriteLine()を勧める
VSのデバッグ出力画面やDebugView++等のアプリで見れる
積極的にコンソールを使う意図が無いのであれば、AllocConsoleよりも
System.Diagnostics名前空間のDebug.WriteLine()やTrace.WriteLine()を勧める
VSのデバッグ出力画面やDebugView++等のアプリで見れる
471デフォルトの名無しさん (ブーイモ MMdd-+cRC)
2020/10/31(土) 23:14:04.52ID:+32PkI4zM コンソールにはコンソールのメリットが
あるからなぁw
あるからなぁw
472デフォルトの名無しさん (ワッチョイ 136a-Wesc)
2020/11/01(日) 00:44:45.18ID:TS2lQNKS0 >>460
本当に書かれている通りにやったの?
・WebView2はプレリリース版でなければならない(今だと1.0.674-prereleaseかな?)
・EdgeはCanary版でなければならない
なんとなく、WebView2のプレリリース版でなく安定版の方を入れてそうな予感
本当に書かれている通りにやったの?
・WebView2はプレリリース版でなければならない(今だと1.0.674-prereleaseかな?)
・EdgeはCanary版でなければならない
なんとなく、WebView2のプレリリース版でなく安定版の方を入れてそうな予感
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【インバウンド】中国からの“渡航自粛”…ツアー1000人分の直前キャンセル「キャンセル料は免除してくれ」 ことしいっぱいキャンセルに [1ゲットロボ★]
- 【芸能】日中関係悪化でエンタメ業界に大ダメージ… JO1の中国でのイベント中止、邦画は公開延期、STARTOアイドルへの影響も [冬月記者★]
- 「国民の憤りを引き起こした」中国側“高市首相発言の撤回改めて要求” [どどん★]
- XやChatGPTで広範囲の通信障害 投稿や閲覧できず [蚤の市★]
- 【サッカー】日本代表、ボリビアに3発快勝 森保監督通算100試合目を飾る…鎌田、町野、中村がゴール [久太郎★]
- 【ローソン】ロゴの「L」で誤解生んだコーヒーカップ、デザイン変更へ 在庫使い切る3か月後にリニューアル [ぐれ★]
- パラドゲーやってる人に聞きたい総理の発言がそのまま国家意思になるって中世かよ [279479878]
- 【高市早苗】バス会社、中国からのキャンセルで12月で2000万円~3000万円の損失へ [115996789]
- 米シンクタンク「アメリカは台湾問題で"あいまい戦略"を取っている。高市早苗はこの方針から逸脱している」 [603416639]
- かしこいワンコっていうVtuberの子知ってる?
- 岡田克也「軽々しく存立危機事態とか言うべきじゃない」高市早苗「台湾で武力攻撃が発生したらどう考えても日本の存立危機事態」 [931948549]
- 俺が「う~寒い寒い」って言いながらお前らが寝てるお布団に潜り込んだら…
