[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 02/26 17:48 / Filesize : 268 KB / Number-of Response : 1046
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

C#, C♯, C#相談室 Part93



1 名前:デフォルトの名無しさん(ワッチョイ 1e06-m8Mb) mailto:sageteoff [2017/04/22(土) 08:52:00.93 ID:iVvswOrb0.net]
■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
www.visualstudio.com/downloads/

■コードを貼る場合はこちら
ideone.com/

■前スレ
C#, C♯, C#相談室 Part92
echo.2ch.net/test/read.cgi/tech/1485589613/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

67 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 13:09:08.98 ID:a8axhl9cd.net]
>>62
キチガイに触るなよ

68 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 13:35:53.97 ID:Gj1BXJi/M.net]
基地外大暴れワロタ

69 名前:デフォルトの名無しさん [2017/05/25(木) 13:51:23.71 ID:CNpknsWj0.net]
ideone.com/GHvgKN
勢いで書いた。

70 名前:デフォルトの名無しさん [2017/05/25(木) 13:59:41.85 ID:OZ9w4Yf70.net]
>>66
いいっすね、いいっすね
Thread.Sleep(100); ← ここがもうちょっとマシな待ち方になるといいんですがw
自分はインターフェイスは、IDispose使ってロック範囲を lock で書いたような雰囲気にしてます。
タイマーは、初ロック失敗の後にスタートさせて、ロック成功(大半のケース)でロスが少ないようにしてます。
なかなか素敵な感じになってくれませんw

71 名前:デフォルトの名無しさん (ワッチョイ 1f1b-6//c) mailto:sage [2017/07/11(火) 08:22:12.16 ID:MCsEtOKi0.net]
↓のテンプレートとジェネリックの違い、にある
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/generics/differences-between-cpp-templates-and-csharp-generics
トップ項目にある
・C# ジェネリック クラスでは、ユーザー定義演算子は呼び出すことができますが、算術演算子を呼び出すことはできません。
"算術演算子を呼び出すことはできません"ってどーいう意味っすか?
算術演算子って+-*/のこと?

72 名前:デフォルトの名無しさん (アウアウイー Sacb-G8QH) mailto:sage [2017/07/11(火) 09:57:14.72 ID:t4lUkhAUa.net]
遠まわしに制約について言ってるのかな。

算術演算子が使える型のみ受け入れるような制約はできないから
自動的に算術演算子は使えないことになるわけだけど...

73 名前:デフォルトの名無しさん (ワッチョイ 5eea-bL4e) mailto:sage [2017/07/16(日) 01:54:50.85 ID:mMdQfX5s0.net]
楽しそうだな。w

74 名前:デフォルトの名無しさん (ワッチョイ 6a90-qWRz) mailto:sage [2017/07/29(土) 20:36:18.47 ID:Gw88XuqA0.net]
ジェネリックに算術演算子を使うなら、そんなに速度が要求されないんなら
(dynamic)にキャストしてからなら演算子が使える
まあこれキャッシュ付きのリフレクションだから速度は期待しないでよー

75 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 18:56:43.94 ID:LgNyTwHt0.net]
C++ではテンプレートに焦点をあてた書籍はいくつかあるけど
C#でジェネリックに絞ったオススメ書物ってのはありますか?
C++のテンプレートテクニックのどれが使えないか?ってのは知りたい。



76 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 19:55:10.65 ID:KmAQXiSua.net]
C#のジェネリックって1時間で読める記事で網羅されるぐらいの内容しかないっすよ

77 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 20:02:09.15 ID:vP5jpteT0.net]
テンプレートテクニックとか全部忘れてOK

78 名前:デフォルトの名無しさん mailto:sage [2017/08/21(月) 21:10:14.69 ID:qdRqCzb30.net]
プレートテクトニクス

79 名前:デフォルトの名無しさん [2017/08/27(日) 02:29:03.34 ID:/hywh0UG0.net]
式テンプレートジェネリックでどー書くんだよ

80 名前:デフォルトの名無しさん [2017/10/09(月) 21:40:27.74 ID:dzl0TrLma.net]
すみません。ちょっと急いでいます。

C#でクラスを宣言する際に、
class {...} とpublic class {...}
このふたつの違いが判りません。
教えてください。

81 名前:デフォルトの名無しさん [2017/10/09(月) 21:54:29.58 ID:rAF1hT8M0.net]
お願いします。同じものですか?

82 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 21:56:31.06 ID:28tAbNEV0.net]
アクセス修飾子を省略したクラスは internal になる
public とか internal とかの意味については↓

アクセス修飾子 (C# プログラミング ガイド) | Microsoft Docs
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/classes-and-structs/access-modifiers

83 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 21:56:50.83 ID:u67WqECL0.net]
>>77
外部から見えるか見えないか

84 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 22:03:58.01 ID:rAF1hT8M0.net]
ありがとうごぜます。
internalですね。アセンブリ言語レベルの話のようなので
まだそこまで至ってないのでpublic, private, protectedだけ使います。
すみませんでした。

85 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 22:12:08.58 ID:Y4203ffV0.net]
「アセンブリ」ってみて「アセンブリ言語」って理解するのは先が思いやられるな。全然意味が違う話なのに



86 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 22:16:05.20 ID:28tAbNEV0.net]
>>81
上記のページで

87 名前:「アセンブリ」と言ってるのはアセンブリ言語のことではなくて
「exe」とか「dll」とかのファイル単位での機械語のまとまりのことだよ
[]
[ここ壊れてます]

88 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 22:41:05.37 ID:rAF1hT8M0.net]
ありがとう。
今自分でも調べていてなんか違うなーって思ってました。

89 名前:デフォルトの名無しさん mailto:sage [2017/10/09(月) 23:04:42.97 ID:/pZGRYTm0.net]
bin

バイナリ・ファイル

90 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 00:40:47.02 ID:pliWVB3X0.net]
今となっては、いや初めから忘れてもいい話だったけど
ファイル単位の物理的なまとまりはモジュール(.netmodule)で
モジュールをまとめた論理的まとまりがアセンブリ(.dll/.exe)
Visual Studioが2002の初めから一貫してサポートしてないこのモジュールって単位をMSはどう使うつもりだったんだろう

91 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 21:13:43.71 ID:9Raz+qz10.net]
最終的に1つのライブラリにしたいものをC#とF#で部分ごとに書き分けるとかそういう例は見た事あるけど
(ものによってはF#のほうが書きやすいとか)
実際それが必要なユーザがどれだけいるのかって話な

92 名前:デフォルトの名無しさん mailto:sage [2017/10/10(火) 23:25:11.21 ID:I+aeGBiR0.net]
C++/CLIとC#の組み合わせがある。

最終的な呼び出し元はネイティブと同じ口なんだけど、
dynamicやasync/awaitなどを使いたいため、
dllexport付近の薄皮一枚だけ C++/CLI、
残りは全部C#で記述して1つの.dllにってのに.netmoduleを使う。

C#とF#の組み合わせとか、ほとんど無意味に思えるが…

93 名前:デフォルトの名無しさん mailto:sage釣 [2017/10/11(水) 03:26:54.68 ID:rqqSAVqsM.net]
iron python も?

94 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 13:52:47.94 ID:ufsScDVj0.net]
event解除ってnullぶっこんでもいいのかしら?
何処見ても-=でしろってのばかりで全解除の適切なやり方載ってないんだけど
一応null代入で動いてるぽいけどちと不安

95 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 14:05:31.13 ID:4p9Ry6Jxa.net]
まいなすはそれだけ消す、nullはすべて消す
できわるいコードだとnull入れると落ちるw



96 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 14:18:32.71 ID:ufsScDVj0.net]
全解除ってそれなりに需要あると思うんだが何処も扱ってない不思議
+=って内から外へ処理出しする訳だから
インスタンスが破棄されたら当然破棄されるべきなのにどうもそうなってない
nullぶっこめばGC回収されるみたいだけど正しいやり方なのかな

97 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 15:17:21.27 ID:8oWZ+6kpM.net]
設計次第じゃないの

98 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 15:34:04.84 ID:jnsT8t6ma.net]
購読側じゃなく発行側が勝手に解除ってのがちょっと...
むしろどういう場面で必要になるのか想像できないな

> +=って内から外へ処理出しする訳だから
> インスタンスが破棄されたら当然破棄されるべきなのにどうもそうなってない
ここは何を言ってるのかよく分からない

まあ、イベントというかデリゲートのマルキチャストの仕組みが分かりづらいのはわかる

99 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 15:50:00.66 ID:h6dEijxza.net]
>>92
正しいというかとりあえず安全なのは何もしないの放り込んどく
それでも勝手に消されて困るのがあるかもしれんがw

100 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 16:11:03.50 ID:ufsScDVj0.net]
>>94
例えば非同期通信でデシリアライズ終わったらイベント投げて後は勝手に死ね、って場合
-=だと発行側で解除するのが困難でリークしちまう
最新VerC#ならTaskで後処理書けばいいけど、Unityだとつい最近まで3.5だったから

101 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 16:24:45.96 ID:jnsT8t6ma.net]
>>96
俺の理解不足だったらごめん

リークするのはイベントの購読側のオブジェクトLがイベントの購読を解除しないまま
Lを参照する変数がなくなった場合で

102 名前:A発行側のオブジェクトPのイベントに
Lのメソッドが登録されたままPへの参照がなくなってもそれはリークにならないと思うんですが
[]
[ここ壊れてます]

103 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 16:39:10.41 ID:ufsScDVj0.net]
>>97
そう思ってた時期が俺にもありました
しかし実際はリークしてOutofMemoryが出る
どうも購読側参照が残ってると到達可能と見られてGC回収されないぽい
本当にそういう理屈かは知らんけどnullぶち込むと例外でなくなる

104 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 17:26:02.20 ID:jNhOnQNR0.net]
思い込みって怖いネー

105 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 17:46:05.16 ID:GswCLlj60.net]
>>98
>どうも購読側参照が残ってると到達可能と見られてGC回収されないぽい

登録解除してないから購読側は発行側から参照されてて回収されない
その状態で購読側が発行側を参照してるんなら発行側も回収されないよね



106 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 19:19:26.31 ID:j/PgXgnk0.net]
循環参照しててもルートから到達不能なら回収されるよ
されないなら単に循環参照以外の参照が何かしら残ってるだけ

いいや解放されないね!とかいう思い込みに付き合う気はないから
口ごたえがしたければ、VSのメモリーアナライザーで
リークしているというオブジェクトの参照状態のスナップショットを撮って
ここに貼り付けてから続けるように

107 名前:デフォルトの名無しさん mailto:sage [2017/10/18(水) 21:18:06.23 ID:GswCLlj60.net]
>>101
すまんすまん、他の言語と勘違いしてた。

108 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 14:20:16.62 ID:7CEykIkZ0.net]
WebBrowserコントロールを使うと、レジストリ編集しないと自動的にIE7相当になってしまうんですが、
レジストリ編集無しでIE11相当にするにはどうしたらいいでしょうか?

もしくは、dllファイル1つで済むなら、他のブラウザコンポーネントでもいいです。

109 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 14:42:48.60 ID:uJ4GX7RNM.net]
IEは他にはhtmlのmeta要素使うとか
レジストリっていってもHKCUなんだからアプリ起動時に書き込むだけのことだけど

110 名前:デフォルトの名無しさん mailto:sage [2017/11/07(火) 18:40:38.64 ID:MJK6I9RA0.net]
>>103
CefSharpっていうChromiumの実装がNuGetにあるよ
AnyCPUに対応してないんで導入が若干手間だけど気合いでがんばれ

111 名前:デフォルトの名無しさん mailto:sage [2017/11/08(水) 00:31:11.06 ID:NuL34q9d0.net]
>>103
CoInternetSetFeatureEnabled

112 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 07:59:20.53 ID:mWvJQqvN0.net]
#EntityFrameworkの質問ってここでよいですか?

EFCore+Sqliteで開発してるんですが、".db"ファイルのパス指定で困ってます。

コネクション作成時に、以下でdbパス指定をしています。
var connectionString = new SqliteConnectionStringBuilder { DataSource = @"./app.db" }.ToString();

この場合、理由がよく分かってないのですが、
Update-Databaseを実行した時(CreateDatabaseが発行される時)、プロジェクトフォルダからの相対パスになり、
SaveChangesを実行した時(Insert文が発行される時)、/bin/debugからの相対パスになります。

毎回相対パス指定を変えるのが面倒で、かつ絶対パス指定はしたくないもので。
何か良い方法はありませんでしょうか。

113 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 13:46:10.03 ID:325qmzymM.net]
ここじゃないと思うの

114 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:56:45.39 ID:dTBoNCZ50.net]
>>107
で、app.dbはどこに有るのよ、

115 名前:デフォルトの名無しさん mailto:sage [2017/12/18(月) 14:57:20.68 ID:E4FIT7xPa.net]
俺ならexeパス取得して絶対パス作ってそれ使うけど、
絶対パスいやならカレントフォルダ変更したら?



116 名前:107 mailto:sage [2017/12/18(月) 23:30:30.75 ID:mWvJQqvN0.net]
>>109
プロジェクトフォルダにできます。
ただ、プログラム実行時は別のパス見てるからDBないエラーになります。

>>110
あー、それいいかもです。
やってみます。

117 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 15:13:16.63 ID:n7dS7ECy0.net]
個々の人ってWinFormとWPFどっちで作ってる?

118 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 15:13:40.84 ID:K0nOGJob0.net]
WPF

119 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 16:15:17.15 ID:jcdX0HHma.net]
何度聞かれてもformだ

120 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 16:16:35.61 ID:PdI3PgJiM.net]
オレも2年前からWPFにした。

121 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 16:35:43.42 ID:GvxCaHuK0.net]
新規は基本的にWPFだけど、使い捨てのツールはFormsのことも多い。

122 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 16:54:40.12 ID:Jm0z8SXaF.net]
昔はVSが何かっつと即堕ちして使いもんにならんかったが
今はまともになったんかねWPF

123 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 17:32:53.36 ID:n7dS7ECy0.net]
WPFって技術資料があんまないから、つっかかりにくいんだよなあ

124 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 18:07:24.15 ID:jSVu2Yi+0.net]
>>118
日本語が変だな
外国人?

125 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 18:22:11.56 ID:OKQGXBiEx.net]
>>119
あれだ外人からみれば
そうみえんじゃねw



126 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 20:17:21.07 ID:jSVu2Yi+0.net]
つっかかりにくい→つかえやすいorつっかえやすい
それとも
つっかかりにくい→とりつきにくいorとっつきにくい

あんまない→あまりないorあんまりない

127 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 20:22:19.59 ID:TCYSbVmxa.net]
読解力ないな
外国人?

128 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 20:26:45.27 ID:sT88mvz00.net]
読解力が無かったら修正例は書けないと思う

129 名前:デフォルトの名無しさん mailto:sage [2017/12/31(日) 21:26:10.60 ID:mh0j3eXv0.net]
どこかの田舎もんが書いた文章なんだろ

130 名前:デフォルトの名無しさん mailto:sage [2018/01/01(月) 08:43:08.79 ID:qva7Cn1y0.net]
そんな事にも突っ込まないといけないほど余裕がないんだろうな

131 名前:デフォルトの名無しさん mailto:sage [2018/01/08(月) 21:07:22.93 ID:ff9XOb220.net]
ILMergeについて質問です

例えば自作アプリ X.EXE に外部ライブラリ A.DLL と B.DLL を結合して X2.EXE を作ったとします
この X2.EXE を配布する場合、A.DLL と B.DLL の著作権情報を明記すれば問題ないという認識で合っていますか?

132 名前:デフォルトの名無しさん mailto:sage [2018/01/08(月) 21:23:20.13 ID:/QyX6ETP0.net]
>>126
それはILMerge関係なくA.DLL と B.DLL のライセンスの問題です
結合が禁止されていなければ添付して配布するのと同じになります
どんなライセンスかによって違うので
【License】ライセンス総合【利用許諾】
https://mevius.5ch.net/test/read.cgi/tech/1266247461/
へどうぞ

133 名前:デフォルトの名無しさん mailto:sage [2018/01/08(月) 21:33:00.91 ID:7hYpzMEE0.net]
>>126
> この X2.EXE を配布する場合、A.DLL と B.DLL の著作権情報を明記すれば問題ないという認識で合っていますか?
各々のライセンスを確認するしかない

134 名前:デフォルトの名無しさん mailto:sage [2018/01/08(月) 22:13:04.36 ID:ff9XOb220.net]
>>127-128
レスありがとうございます

135 名前:デフォルトの名無しさん mailto:sage [2018/01/31(水) 23:46:33.39 ID:3zSQiFnB0.net]
ラムダ式から右辺の情報を取得する事は出来ますか?

.net MVC のソースコードを見ていて思ったのだけど、たとえば razor の Html.LabelFor メソッドは第一引数に
m => m.name などと書いて、引数 m で示すクラスインスタンスの name プロパティの DisplayName 属性の値を
ラベルとして表示していたりします。

ということは、ラムダ式 m => model.name から name プロパティの属性情報を取得しているのだと思うのですが、
どうやってるのかさっぱり分からず。
調べるべきキーワードだけでもいいので、ヒントをいただけませんか。



136 名前:デフォルトの名無しさん mailto:sage [2018/02/01(木) 01:19:13.10 ID:7ACR6glp0.net]
ラムダ式を受け取るメソッドの引数を
Func<String>の代わりにExpression<Func<String>>にしたりする
キーワードは式ツリー

137 名前:130 mailto:sage [2018/02/02(金) 00:27:05.13 ID:eoTWLp2s0.net]
>>131
ありがとー。
軽く見てみましたが、Expression ってよく分からないですね。。
式ツリーでも、もっと調べてみます。

138 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 16:59:47.00 ID:KbLCHvlc0.net]
サイズ、位置が固定されているウィンドウを外部プログラムから移動、サイズ変更する方法を教えてください

139 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 20:22:55.89 ID:ElvL/+ZbM.net]
とりあえず一般的には
FindWindowやEnumWindowsで目的のウィンドウのウィンドウハンドルを手に入れて
SetWindowPosする
>>133のウィンドウがこれでできるかどうかはそのプログラムの作り次第

140 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 20:56:39.50 ID:KbLCHvlc0.net]
>>134
ありがとうございます
それで移動、サイズ変更できないウィンドウをどうにかできないかなと思い質問してみました
ユーザーが移動サイズ変更できないウィンドウでも強引にしてしまうプログラムがあるらしいので、どうしてるのかな?と

141 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 21:00:42.72 ID:00bUqpHu0.net]
>>135
とりあえず直接のC#の話でなくWinAPIなんだからそっちで調べた方がいいと思うよ

142 名前:デフォルトの名無しさん mailto:sage [2018/02/13(火) 21:21:31.71 ID:KbLCHvlc0.net]
>>136
ありがとうございます

143 名前:デフォルトの名無しさん mailto:sage [2018/02/16(金) 06:01:32.86 ID:W1XJdyx10.net]
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

144 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 14:21:53.70 ID:hXBdpr6O0.net]
厳密に言うとC#の話じゃないんだけど
TcpClientでコネクション使い回しというか
開けっ放しでデータ送り切るって出来ない?
flushしてもデータ残っててCloseしないと全部送られない

145 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 15:36:40.77 ID:Cpp6LEO80.net]
ソースで説明してくれ



146 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 15:51:30.50 ID:hXBdpr6O0.net]
そんな複雑な話じゃないんだ
GetStream()でストリーム取ってWrite()するだろ
でもClose()しないとケツのいくばくかはいつまで経っても送られない
断続的に送りたいから、いちいちClose()してからConnect()やり直すとかしないで済む方法あるか知りたい

147 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 15:59:29.12 ID:uvdwBq6N0.net]
NoDelay=true

148 名前:デフォルトの名無しさん mailto:sage [2018/04/09(月) 16:03:49.46 ID:hXBdpr6O0.net]
おおサンクスやってみる

149 名前:デフォルトの名無しさん [2018/04/16(月) 21:16:34.15 ID:f86xegYk0.net]
質問です。

非同期実行について勉強中です。

以下のサイトの内容なんですが、

https://ufcpp.wordpress.com/2012/11/12/asyncawait%E3%81%A8%E5%90%8C%E6%99%82%E5%AE%9F%E8%A1%8C%E5%88%B6%E5%BE%A1/

ページ中ほどにある
"スレッド プール実行"

"一方、内側は、スレッド プール上での実行になりますが、スレッド プール上のコンテキストではawaitしてもスレッド プール上のどこかで実行されるだけで、決してUIスレッドには戻らなくなります。"
の意味が理解できません。プール上のどこかで何が実行されるのでしょうか?


また、その下の”問題となる書き方の例”

”Task.Runの中のawaitでは、単一スレッド実行にはならないので、lockが必要になることがあります。”

理解が出来ませんでした。

2連続someTask()は同時に実行されるという意味でしょうか?

150 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 21:51:32.37 ID:zRE5gkIia.net]
スレッドは使い捨ての領域だから、
その中で遅延実行しても戻り値は受け取れないよ
だって戻る領域が数秒後も存在しているか分からないからね
って意味だと思う

151 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 23:04:11.81 ID:qlfABgAK0.net]
マルチスレッドなんて、素人がやるものじゃない。
Ruby を作った、Matz でさえ、何十年もやっていないのに

OS・CPU が今、どのプロセスのどのスレッドの、どの実行コードを実行しているのか、
君のプロセスのスレッドから、わかるわけないでしょ

同期処理じゃないのに。
バラバラに、無関係に動いているのに

逆に言えば、バラバラに動くスレッドの、
現在実行中のコードがわかるのなら、それは同期処理になる

152 名前:デフォルトの名無しさん mailto:sage [2018/04/16(月) 23:28:22.82 ID:pnvSaCZFa.net]
これがシングルスレッドおじさん再登場の瞬間であった

153 名前:144 mailto:sage [2018/04/17(火) 06:32:51.54 ID:/3sDS4fX0.net]
どうもありがとう

154 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 08:18:31.78 ID:iJwyhGM3M.net]
シングルスレッドだけで出来る仕事って限られてないか。通信なんか絡んだらマルチスレッド必須でしょう。私の現場は.net3.5なんでback|ground work|er使ってるよ。

155 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 08:24:21.80 ID:AgNOdAZLM.net]
>>149
taskって4.0からだっけ?



156 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 10:03:57.21 ID:iJwyhGM3M.net]
>>150
確かそうです。
taskとか使えると楽なんですが4.0強制もできない案件なんで。

157 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 10:50:32.95 ID:EhGIAhyrd.net]
どうしても.net3.5を使わないといけないんだったらRxで処理するわん

158 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 11:51:31.97 ID:iJwyhGM3M.net]
おっ!
いいこと教えてもらった。
Rxってsilverlightだけじゃないんだ。

159 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 12:18:07.14 ID:xGjbcgxza.net]
そんなの使えるなら.NET4だって使えるでしょw
3.5が使えて4が使えないプラットフォームは存在しないと思うけど

160 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 12:48:49.14 ID:JQ78IAVca.net]
そういう問題じゃないんだよ・・・

161 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 13:03:19.02 ID:iJwyhGM3M.net]
お客様のPCがWindows7ならデフォルトで3.5が入ってるでしょう。4.0にしてから使ってくださいとは言いずらい。

162 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 13:07:10.43 ID:rojjHsw+0.net]
ちょっと前までUnityも3.5止まりだったから多少はね?

163 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 16:37:52.80 ID:joazaAE7M.net]
Rxってなんぞや!!

164 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 17:17:34.43 ID:JQ78IAVca.net]
gugure

165 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 19:00:52.03 ID:F4BOoGzu0.net]
ググれは正論だけど、せっかく話題になったんだからここの住民の意見も聞いてみたい。使ってる人の感想とか。



166 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 19:14:49.95 ID:joazaAE7M.net]
せや!Rxについて詳しく

167 名前:デフォルトの名無しさん mailto:sage [2018/04/17(火) 19:54:15.01 ID:xGjbcgxza.net]
全然関係ないけど、receiveの略が何でRxなのか昔から結構謎






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<268KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef