■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/
■コードを貼る場合はこちら
http://ideone.com/
■前スレ
C#, C♯, C#相談室 Part94
http://mevius.2ch.net/test/read.cgi/tech/1492843013/
■次スレは>>970が建てる事
建てられない場合は他を指定する事。
C#, C♯, C#相談室 Part95
■ このスレッドは過去ログ倉庫に格納されています
2017/10/17(火) 04:02:10.51ID:/jJUZ/t7
123デフォルトの名無しさん
2017/11/12(日) 16:08:56.10ID:kmdFzMTF class A,B,C,...が有って
void func<T>(...){...}
みたいな関数を
func<A>(...);
func<B>(...);
func<C>(...);
みたいに順番に実行したい場合、
forループ使って書ける?
void func<T>(...){...}
みたいな関数を
func<A>(...);
func<B>(...);
func<C>(...);
みたいに順番に実行したい場合、
forループ使って書ける?
124デフォルトの名無しさん
2017/11/12(日) 16:11:43.25ID:MOg5phwx125デフォルトの名無しさん
2017/11/12(日) 16:17:52.85ID:j0JK3XOe >>123
var list = new dynamic[] { a, b, c };
foreach (var x in list)
func(x);
引数もインスタンスも無いならreflection
var list = new dynamic[] { a, b, c };
foreach (var x in list)
func(x);
引数もインスタンスも無いならreflection
126デフォルトの名無しさん
2017/11/12(日) 16:33:07.06ID:kmdFzMTF127デフォルトの名無しさん
2017/11/12(日) 16:58:32.42ID:RZNIwvSq reflectionが目に入らぬか
128デフォルトの名無しさん
2017/11/12(日) 17:39:19.11ID:UFCv5vw0 >>127
reflectionと言うのでやる方法を教えて下さい
reflectionと言うのでやる方法を教えて下さい
129デフォルトの名無しさん
2017/11/12(日) 17:39:26.99ID:5vVJXllV partical いいよなぁ
130デフォルトの名無しさん
2017/11/12(日) 18:01:29.09ID:PNAmYcb6 >>119
APIはあっても、実際は例外投げるんじゃないかとか。
StreamやISerializableなど今まで散々レガシー扱いされてたのに、
すんなり実装されたのだったら、今までは何だったのかと思ってしまって。
APIはあっても、実際は例外投げるんじゃないかとか。
StreamやISerializableなど今まで散々レガシー扱いされてたのに、
すんなり実装されたのだったら、今までは何だったのかと思ってしまって。
131デフォルトの名無しさん
2017/11/12(日) 18:02:25.44ID:Lnuis1wP >>124
「配置できるファイルに〜」のところもソースファイルの話だったか、失礼した
「配置できるファイルに〜」のところもソースファイルの話だったか、失礼した
132デフォルトの名無しさん
2017/11/12(日) 18:42:10.04ID:WcVSvCUs >>118
読み方はあっているのかい?
読み方はあっているのかい?
133デフォルトの名無しさん
2017/11/12(日) 18:55:18.48ID:52C+Ep3W >>132
えにゅめらぶる
えにゅめらぶる
134デフォルトの名無しさん
2017/11/12(日) 19:11:35.21ID:Ti9eVPN+ >>133
いい難いなw
いい難いなw
135デフォルトの名無しさん
2017/11/12(日) 19:31:01.04ID:WbI57bEd あいえにゅめらぼー
136デフォルトの名無しさん
2017/11/12(日) 19:38:58.15ID:RZNIwvSq れっきょ
137デフォルトの名無しさん
2017/11/13(月) 01:47:33.98ID:v8HXsfBj138デフォルトの名無しさん
2017/11/13(月) 01:55:32.64ID:v8HXsfBj >>130
最初のリンクがそもそも.NETStandardの話なんだけど、.NETStandardとは何か知ってれば(最低限ググれば)前者は迷う余地がない
後者は経緯知らないけどレガシーが実装されたらだめという理由がない
…と考える人が大多数だと思う
最初のリンクがそもそも.NETStandardの話なんだけど、.NETStandardとは何か知ってれば(最低限ググれば)前者は迷う余地がない
後者は経緯知らないけどレガシーが実装されたらだめという理由がない
…と考える人が大多数だと思う
139デフォルトの名無しさん
2017/11/23(木) 11:44:32.89ID:3aIXz7vh C#でちょっとした文字列の連結を行う場合、+がいいのかFormatがいいのかReplaceがいいのかStringBuilderを使うのがいいのか悩んでます
どれが一番いいのでしょうか?
1. string value = A + "-" + B;
2. string value = string.Format({0}-{1}, A, B);
3. string value = "{A}-{B}".Replace("{A}", A).Replace("{B}, B);
4. StringBuilder sb = new StringBuilder();
sb.Append(A);
sb.Append("-");
sb.Append(B);
どれが一番いいのでしょうか?
1. string value = A + "-" + B;
2. string value = string.Format({0}-{1}, A, B);
3. string value = "{A}-{B}".Replace("{A}", A).Replace("{B}, B);
4. StringBuilder sb = new StringBuilder();
sb.Append(A);
sb.Append("-");
sb.Append(B);
140デフォルトの名無しさん
2017/11/23(木) 11:50:10.15ID:nWWLjgB9 こんな細かいことで悩んでいたら禿げるわ
それぞれにどれだけの差が出てくるか考えろよ
それぞれにどれだけの差が出てくるか考えろよ
141デフォルトの名無しさん
2017/11/23(木) 12:00:55.88ID:+AsqqoLD $"{A}-{B}" でしょ
142デフォルトの名無しさん
2017/11/23(木) 12:03:56.69ID:3aIXz7vh >>141
なるほど
なるほど
143デフォルトの名無しさん
2017/11/23(木) 12:04:14.40ID:11MjDn+U とりあえず、環境が許すなら141、駄目なら139の1
144デフォルトの名無しさん
2017/11/23(木) 12:13:05.14ID:1XchAmld 連結ならいつもは分かりやすさ優先で+
実際に扱うデータで使ってみて遅いと感じたらStringBuilderに変えてるわ
置き換えは置き換えの時だし、フォーマット形式が必要と感じたらそれ使うし
悩むのかこれ…コーディング終わらんやろ…
実際に扱うデータで使ってみて遅いと感じたらStringBuilderに変えてるわ
置き換えは置き換えの時だし、フォーマット形式が必要と感じたらそれ使うし
悩むのかこれ…コーディング終わらんやろ…
145デフォルトの名無しさん
2017/11/23(木) 12:20:49.75ID:Go3NcBxu 最初はくだらない事に悩むからしょうがない。直に、開き直るからそれまでとことん悩め。
146デフォルトの名無しさん
2017/11/23(木) 12:24:20.12ID:nWWLjgB9 >>145
こういうので悩みだすのはスキルが伸びず閉塞感に陥って逃げ道探しているときだw
こういうので悩みだすのはスキルが伸びず閉塞感に陥って逃げ道探しているときだw
147デフォルトの名無しさん
2017/11/23(木) 12:28:18.93ID:kBi82nCb 4とか使うのは連結回数がクソ多いぐらいだな
148デフォルトの名無しさん
2017/11/23(木) 14:17:08.77ID:U/QtJVxM StringBuilder必要なのはループで回す時くらいやろ
固定回数なら最適化されるんちゃうか
しらんけど
固定回数なら最適化されるんちゃうか
しらんけど
149デフォルトの名無しさん
2017/11/23(木) 15:17:10.10ID:JqKYKF6h 改行したい時はsb.AppendLine使う
var s = $@"hello
{A}
world";
別にこれでもいいけど、インデントが気持ち悪い
var s = $@"hello
{A}
world";
別にこれでもいいけど、インデントが気持ち悪い
150デフォルトの名無しさん
2017/11/23(木) 18:08:06.61ID:w+OP7Z8m 数個程度の定数個の結合にStringBuilderは無いね
@""で改行入れたときの改行コードってソースコードの改行コードに依存するんかな
@""で改行入れたときの改行コードってソースコードの改行コードに依存するんかな
151デフォルトの名無しさん
2017/11/23(木) 18:25:49.20ID:Go3NcBxu StringBuilder使うのは基本、ループ内で文字列結合するときだけだな
152デフォルトの名無しさん
2017/11/23(木) 18:28:19.08ID:zj6W6oGG スレがボケジジイの繰り言みたいになってる
153デフォルトの名無しさん
2017/11/23(木) 18:29:25.95ID:Go3NcBxu と書くと、問題あるな。あるメソッド内でループしてないから普通に文字列結合してても、
そのメソッドを使う方でループしてメソッド呼び出されたら・・
ということでなんでもない。
そのメソッドを使う方でループしてメソッド呼び出されたら・・
ということでなんでもない。
154デフォルトの名無しさん
2017/11/23(木) 19:44:15.73ID:NThPFj2G パフォーマンスは大差ないので可読性で選ぶ
となると
定数個なら+
動的ならlinqとJoin
となると
定数個なら+
動的ならlinqとJoin
155デフォルトの名無しさん
2017/11/24(金) 08:32:28.20ID:LQb8e4yU public override と
override public とでは、どっちが普通ですか?
override public とでは、どっちが普通ですか?
156デフォルトの名無しさん
2017/11/24(金) 08:40:21.61ID:GsVE4oKd アクセス修飾子が先
157デフォルトの名無しさん
2017/11/24(金) 09:49:06.09ID:LQb8e4yU158デフォルトの名無しさん
2017/11/24(金) 11:32:34.25ID:GsVE4oKd アクセス修飾子が先
159デフォルトの名無しさん
2017/11/28(火) 20:01:33.21ID:uo9ygS2y EF Core + MariaDBで行ロックをするにはどうしたらいいですか?
160デフォルトの名無しさん
2017/11/29(水) 11:56:45.71ID:/OzCwr8n >>159
行ロックって何よ?
行ロックって何よ?
161デフォルトの名無しさん
2017/11/29(水) 12:25:04.50ID:rN1pofYI162デフォルトの名無しさん
2017/11/29(水) 15:02:54.88ID:LyP2QHxX EFは基本、楽観ロックだからね。
自分が更新するデータは誰も変更しないだろうということで楽観的に考えて行ロックを取得しない。
で、実際の更新時に、保存しておいたタイムスタンプ列や全列を比較して更新するUpdate文を
発行して誰も変更してなきゃ成功する。
自分が更新するデータは誰も変更しないだろうということで楽観的に考えて行ロックを取得しない。
で、実際の更新時に、保存しておいたタイムスタンプ列や全列を比較して更新するUpdate文を
発行して誰も変更してなきゃ成功する。
163デフォルトの名無しさん
2017/11/29(水) 15:08:27.80ID:LyP2QHxX 対して、悲観的ロックは誰か変更するんじゃないかと悲観的に考え前もって行ロックする。
行ロック取得したければ、トランザクションの分離レベル変更して、間接的に取得すればいいんじゃねぇかな。
例えば、トランザクションをロックを使って実装してるデータベース使ってるなら、
トランザクションの分離レベルをREPEATABLE READにして読めば、読み込んレコードには
行ロックがかかる。
行ロック取得したければ、トランザクションの分離レベル変更して、間接的に取得すればいいんじゃねぇかな。
例えば、トランザクションをロックを使って実装してるデータベース使ってるなら、
トランザクションの分離レベルをREPEATABLE READにして読めば、読み込んレコードには
行ロックがかかる。
164デフォルトの名無しさん
2017/11/29(水) 15:52:26.83ID:x/indGo0 >>161
楽観的排他制御ってやつか!?
楽観的排他制御ってやつか!?
165デフォルトの名無しさん
2017/11/29(水) 21:11:58.94ID:fgyKG67K リトライだらけになる
166デフォルトの名無しさん
2017/12/02(土) 10:37:02.24ID:OECpFj6Y Consoleアプリの関数Aから別のスレッドで関数Bをを実行。
Bが終わるまで数分かかるので、その間はAの処理を引き続きやる。
Bが終わったら何らかの通知をA(あるいはアプリ)で受けとる。
そんな処理をしたいのですが、どんな手法がお勧めですか?
Bが終わるまで数分かかるので、その間はAの処理を引き続きやる。
Bが終わったら何らかの通知をA(あるいはアプリ)で受けとる。
そんな処理をしたいのですが、どんな手法がお勧めですか?
167デフォルトの名無しさん
2017/12/02(土) 11:20:32.34ID:qE46CGT4 >>166
Hangfire
Hangfire
168デフォルトの名無しさん
2017/12/02(土) 12:07:47.28ID:pzCW2tCE 書き捨てならポーリング
169デフォルトの名無しさん
2017/12/02(土) 12:18:43.47ID:dIIqSudI >>166
普通にTaskとasync-await
普通にTaskとasync-await
170デフォルトの名無しさん
2017/12/02(土) 13:31:40.26ID:OECpFj6Y171デフォルトの名無しさん
2017/12/02(土) 13:38:50.65ID:/lrBlva0 通知を受け取って何をするの?
Aが実行中に通知を受け取った場合は?
Aが終わったあとに通知を受け取った場合は?
Aが実行中に通知を受け取った場合は?
Aが終わったあとに通知を受け取った場合は?
172デフォルトの名無しさん
2017/12/02(土) 13:44:11.82ID:M5ek0NUJ173デフォルトの名無しさん
2017/12/02(土) 14:11:31.35ID:kxO6m70V174デフォルトの名無しさん
2017/12/02(土) 14:21:45.96ID:/lrBlva0 void A() {
...
Task.Run(() => B());
...
...
}
void B() {
...
...
SetSomeFlag();
}
こういうこと?
何をしたいのかハッキリしないな
...
Task.Run(() => B());
...
...
}
void B() {
...
...
SetSomeFlag();
}
こういうこと?
何をしたいのかハッキリしないな
175デフォルトの名無しさん
2017/12/02(土) 14:22:18.75ID:T9uGCJHM >>170
関数BをTaskで実行しておいて、たまにTask.Wait(0)がtrueを返すか確認する
関数BをTaskで実行しておいて、たまにTask.Wait(0)がtrueを返すか確認する
176デフォルトの名無しさん
2017/12/02(土) 14:22:55.12ID:M5ek0NUJ177デフォルトの名無しさん
2017/12/02(土) 15:15:48.94ID:XMkOweAB 多分処理AはUIスレッドなんだろ
処理B実行中にUIは止めたくない
そして処理B完了でUIを更新したい
そんな要件だと想像した
処理B実行中にUIは止めたくない
そして処理B完了でUIを更新したい
そんな要件だと想像した
178デフォルトの名無しさん
2017/12/02(土) 15:34:29.65ID:kxO6m70V >>177
それだとInvokeやDispatcherの話にも広がりそうだね
それだとInvokeやDispatcherの話にも広がりそうだね
179デフォルトの名無しさん
2017/12/02(土) 16:57:04.20ID:ax4ftaEq >>177
consoleアプリって書いてあるやん
consoleアプリって書いてあるやん
180デフォルトの名無しさん
2017/12/02(土) 17:27:35.43ID:2zJJAtZS 10レスそこらも遡れないとかヤバすぎて草
181デフォルトの名無しさん
2017/12/02(土) 18:20:58.48ID:M5ek0NUJ 元の話が設計で根本的におかしいか思い付きで質問しているかどっちか
後半に100ペリカ
後半に100ペリカ
182デフォルトの名無しさん
2017/12/02(土) 20:31:53.15ID:XMkOweAB コンソールアプリなら
EventWaitHandle使うのが楽そう
EventWaitHandle使うのが楽そう
183デフォルトの名無しさん
2017/12/02(土) 21:02:27.32ID:8UWC/wK0 WaitHandleは完了を待つ側のスレッドをブロックするから、
それでいいんだったら普通にasync-awaitでいい
それでいいんだったら普通にasync-awaitでいい
184デフォルトの名無しさん
2017/12/02(土) 21:06:19.33ID:pzCW2tCE せやね
185デフォルトの名無しさん
2017/12/02(土) 22:01:19.49ID:hEzEqaaq Aで何したいかだけどコールバックでいいんじゃないの
186デフォルトの名無しさん
2017/12/02(土) 22:11:03.11ID:8UWC/wK0 だったらTask.ContinueWithでいいだろ
187デフォルトの名無しさん
2017/12/03(日) 01:24:35.88ID:R5bnWQiD つかそもそも別スレッドで実行する必要があるのか
別プロセスで良いんじゃねえのか
別プロセスで良いんじゃねえのか
188デフォルトの名無しさん
2017/12/03(日) 10:20:17.77ID:8EUneh2f >>187
プロセス間のデータ受渡はsoket通信する感じ?
プロセス間のデータ受渡はsoket通信する感じ?
189デフォルトの名無しさん
2017/12/03(日) 10:32:03.87ID:eMfWVF0k190166
2017/12/03(日) 10:48:55.10ID:fYwJfoN4 皆さんレスありがとうございました。
>Aが実行中に通知を受け取った場合は?
関数Cを別スレッドで実行したいです。例えばこんなふうに。
void C(){
Console.WriteLine("Bが終わった");
}
>Aが終わったあとに通知を受け取った場合は?
Aは終わらないと言う前提でお願いします。
>Aが実行中に通知を受け取った場合は?
関数Cを別スレッドで実行したいです。例えばこんなふうに。
void C(){
Console.WriteLine("Bが終わった");
}
>Aが終わったあとに通知を受け取った場合は?
Aは終わらないと言う前提でお願いします。
191デフォルトの名無しさん
2017/12/03(日) 10:52:57.14ID:eMfWVF0k192デフォルトの名無しさん
2017/12/03(日) 11:54:26.84ID:dO3du7bJ ふらっと案件
193デフォルトの名無しさん
2017/12/03(日) 12:01:59.74ID:mrNMXEOK フラット案件どころかこれだけレスとキーワード出ていて自分で解決できないのならプログラムやめるべき
194デフォルトの名無しさん
2017/12/03(日) 12:09:59.71ID:S5PX0FVt 勘違いレスした奴もふらっと行きの刑で
195デフォルトの名無しさん
2017/12/03(日) 12:14:39.54ID:WBs9Zv02 何でもいいけどすぐ動く完動品が出てくるまでこの調子だと思うぜ
どうせソースないんだろ、出てきたものを見ていじって作ろうとしてるんだろ
どうせソースないんだろ、出てきたものを見ていじって作ろうとしてるんだろ
196デフォルトの名無しさん
2017/12/03(日) 14:16:09.36ID:VfzmjXdH197デフォルトの名無しさん
2017/12/03(日) 21:08:04.26ID:Or+Mlh4N Aは終わらないという前提でちょっと笑った
198デフォルトの名無しさん
2017/12/04(月) 17:37:29.30ID:KH9vP8EW コンソールアプリで関連性のない2つの動作を同居させるシチュエーションがわからん
マルチスレッドにしたら効率が良くなるってだけの頭の悪い発想じゃね
>>187が当てはまらないのならぜひ教えてほしいくらい
マルチスレッドにしたら効率が良くなるってだけの頭の悪い発想じゃね
>>187が当てはまらないのならぜひ教えてほしいくらい
199デフォルトの名無しさん
2017/12/06(水) 04:39:39.43ID:PV/6ekcb200デフォルトの名無しさん
2017/12/06(水) 07:38:42.71ID:7eNsiGhQ >>199
ASP.NET Coreなんてもろコンソールアプリだけどな
ASP.NET Coreなんてもろコンソールアプリだけどな
201デフォルトの名無しさん
2017/12/07(木) 01:34:47.15ID:f4DoJP6b >>199
GUIが必要ないからCUIってプログラムは幾らでもあるが。
GUIが必要ないからCUIってプログラムは幾らでもあるが。
202デフォルトの名無しさん
2017/12/07(木) 12:33:06.20ID:NfkoL/Di >>201
それはGUIが基本なのかCUIが基本なのかの違いであって
コンソールアプリである必要性とは関係ないよね
別にGUIを基本にしろって主張じゃないよ
ただCUI=コンソールアプリってわけでもないだろうと
それはGUIが基本なのかCUIが基本なのかの違いであって
コンソールアプリである必要性とは関係ないよね
別にGUIを基本にしろって主張じゃないよ
ただCUI=コンソールアプリってわけでもないだろうと
203デフォルトの名無しさん
2017/12/15(金) 07:32:48.50ID:fJhEByrM Task<string>型からstream型に変換するにはどうしたらいいでしょうか?
調べてもよく分からず詰まっています
調べてもよく分からず詰まっています
204デフォルトの名無しさん
2017/12/15(金) 08:44:02.62ID:tLAi6Ik2 よく分からんけどstringを取り出してからTextReaderかなんかに渡す
205デフォルトの名無しさん
2017/12/15(金) 10:24:35.41ID:nTa8GCuy >>203
何がしたいん?
何がしたいん?
206デフォルトの名無しさん
2017/12/15(金) 22:48:43.84ID:Io6GZfPK207デフォルトの名無しさん
2017/12/15(金) 23:04:26.66ID:Io6GZfPK // HTTPアクセス
var req = WebRequest.Create(url);
var res = req.GetResponse();
// レスポンスをオブジェクトに変換
Stream s = res.GetResponseStream();
StreamReader sr = new StreamReader(s);
string str = sr.ReadToEnd();
もともとConsoleAppでこう書いて動いてたんだがGUIベースのにしようとしたらGetResponseが使えなかった
代わりにGetResponseAsyncにしたらエラーが出てもっとわからなくなった
var req = WebRequest.Create(url);
var res = req.GetResponse();
// レスポンスをオブジェクトに変換
Stream s = res.GetResponseStream();
StreamReader sr = new StreamReader(s);
string str = sr.ReadToEnd();
もともとConsoleAppでこう書いて動いてたんだがGUIベースのにしようとしたらGetResponseが使えなかった
代わりにGetResponseAsyncにしたらエラーが出てもっとわからなくなった
208デフォルトの名無しさん
2017/12/15(金) 23:08:46.23ID:TZIV/XXh ナウなヤングはHttpClient.GetStreamAsync
209デフォルトの名無しさん
2017/12/15(金) 23:50:34.14ID:aqOMh7+X 低水準言語からC#に戻ってくるとlinqが有能すぎて困る困らない
ienumなんとかいうヤツにforeachないのはなんでなの?魔女のバァさんの呪いか?
ienumなんとかいうヤツにforeachないのはなんでなの?魔女のバァさんの呪いか?
210デフォルトの名無しさん
2017/12/16(土) 00:22:04.98ID:IGcNQYtz List<T>.ForEach(Action<T> action) みたいなやつのことかな?
はい副作用ドーン!はLINQとしてどうなのってことで入らなかった
はい副作用ドーン!はLINQとしてどうなのってことで入らなかった
211デフォルトの名無しさん
2017/12/16(土) 00:24:11.12ID:ArLhqftT console では処理を止めても良いから、同期処理でも良い
でも、GUI では処理を止めると、アプリが動かなくなるから、
50ms 以上掛かるものは、非同期処理が推奨
でも、GUI では処理を止めると、アプリが動かなくなるから、
50ms 以上掛かるものは、非同期処理が推奨
212デフォルトの名無しさん
2017/12/16(土) 22:25:24.29ID:GhzhJYge もっと非同期処理について学んでみます
213デフォルトの名無しさん
2017/12/18(月) 22:23:42.36ID:5DMorLlq Int32へのIntPtrを渡さなければいけないのですが、unsafeコードしか方法はないのでしょうか?
現状、
Int32 int32;
IntPtr intPtr;
unsafe { intPtr = new IntPtr(&int32) }
someObject.someMethod(intPtr);
みたいな感じです。
現状、
Int32 int32;
IntPtr intPtr;
unsafe { intPtr = new IntPtr(&int32) }
someObject.someMethod(intPtr);
みたいな感じです。
214デフォルトの名無しさん
2017/12/18(月) 22:42:24.23ID:7zt8qegi >>213
無さそう
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/unsafe-code-pointers/pointer-types
https://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.marshal(v=vs.110).aspx
そもそもどう使うか思いつかない。
アンマネージで必要ならrefで渡すし
無さそう
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/unsafe-code-pointers/pointer-types
https://msdn.microsoft.com/ja-jp/library/system.runtime.interopservices.marshal(v=vs.110).aspx
そもそもどう使うか思いつかない。
アンマネージで必要ならrefで渡すし
215デフォルトの名無しさん
2017/12/18(月) 23:03:00.80ID:5DMorLlq System.Runtime.InteropServices.ComTypesで用意されてるインターフェース使うと、
IntPtrで宣言されてるんですよね・・
まぁ、自前でrefで宣言しなおしてもいいんですけど。
うーん。どうしよう。
IntPtrで宣言されてるんですよね・・
まぁ、自前でrefで宣言しなおしてもいいんですけど。
うーん。どうしよう。
216デフォルトの名無しさん
2017/12/18(月) 23:05:43.88ID:5DMorLlq まぁ、out,ref使わずにIntPtrで宣言すると、null渡せるっての1つの利点ですかね・・
COMインターフェースでオプショナルな引数もあって、そん時はnull渡してくれみたいのもあるんで。
>>213みたくunsafeしなければいけなならデメリットの方が大きそうですけど。
COMインターフェースでオプショナルな引数もあって、そん時はnull渡してくれみたいのもあるんで。
>>213みたくunsafeしなければいけなならデメリットの方が大きそうですけど。
217デフォルトの名無しさん
2017/12/19(火) 07:23:44.08ID:FokzMHrG Marshal.AllocCoTaskMemするとか
new int[1]してGCHandle.AllocでPinnedしてAddrOfPinnedObjectするとか
new int[1]してGCHandle.AllocでPinnedしてAddrOfPinnedObjectするとか
218デフォルトの名無しさん
2017/12/19(火) 13:37:53.98ID:IhvApffy 直接アンマネージにポインタだけ渡すってどうなんだろ
Marshal.AllocHGlobalとかしなくていいのか?
Marshal.AllocHGlobalとかしなくていいのか?
219デフォルトの名無しさん
2018/01/06(土) 23:07:58.15ID:RVXlFPlL いまだにどこまで.Pinnedしなきゃならないのかわからないw
趣味グラマだからわからないままでも問題はないんだけども
C#始めたころはいちいち書いていたが最近はずっと省いているな
趣味グラマだからわからないままでも問題はないんだけども
C#始めたころはいちいち書いていたが最近はずっと省いているな
220デフォルトの名無しさん
2018/01/07(日) 00:09:48.08ID:X58Odkk6 変数がスタックにあるなら要らん
それ以外は必須
GCHandle.Allocは解放漏れでメモリリーク起こす可能性があるしパフォーマンスも悪いからなるべくfixed使った方がいい
それ以外は必須
GCHandle.Allocは解放漏れでメモリリーク起こす可能性があるしパフォーマンスも悪いからなるべくfixed使った方がいい
221デフォルトの名無しさん
2018/01/07(日) 00:21:49.73ID:gMArQtmD ここはC#アンセーフコードスレですか?
222デフォルトの名無しさん
2018/01/07(日) 00:44:39.18ID:Fl8YPIHO■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 小野田紀美・経済安保担当相「何か気に入らないことがあればすぐに経済的威圧をする国への依存はリスク」 ★2 [Hitzeschleier★]
- 日本行き空路49万件キャンセル 中国自粛呼びかけ 日本行きチケット予約の約32%に相当 ★2 [ぐれ★]
- 【中国局長】両国関係に「深刻な影響」 首相発言の撤回要求 [蚤の市★]
- 外務省局長は無言で厳しい表情…日中の高官協議終了か 高市首相“台湾”発言で中国が強硬対応 発言撤回求めたか…★3 [BFU★]
- 【インバウンド】中国人観光客の日本での消費額は年間約2兆円超…中国政府は公務員の出張取り消し [1ゲットロボ★]
- 日経平均の下落率3%超す、財政懸念で長期金利上昇 ★2 [お断り★]
- 【実況】博衣こよりのえちえち歌枠🧪
- 【高市朗報】 日本政府「一昨年は1300億円。去年も防衛費が1100億円余ったw」 日本の防衛費は充分足りてる事が判明。増やす必要無し [485983549]
- 【高市速報】日本人の3割「中国への武力行使に踏み切る必要がある」ANN世論調査 [931948549]
- 高市早苗「支持者の理解を得られないので台湾発言を撤回できない」 [931948549]
- 外務省局長、よくわからないまま帰国へ [834922174]
- 中国外務省「日中関係の悪化は高市早苗首相が原因」と名指しで強く非難。キタ━(゚∀゚)━! [153490809]
