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


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

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



1 名前:名無C mailto:sage [2019/03/07(木) 06:35:41.12 ID:6L3KEJfe0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■関連スレ
C#, C♯, C#相談室 Part93
mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part141
mevius.5ch.net/test/read.cgi/tech/1544839627/
■コードを貼る場合は↓を使いましょう。
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
referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured

299 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:48:15.95 ID:zc2PfqGUM.net]
>>295
心の安寧が欲しいなら止めないけど
C#では、パフォーマンスを低下させるため、プログラムの動作に必要がない
ファイナライザを実装すること自体が推奨されないことは、知っておいた方がよい

パフォーマンスが低下するのは、ファイナライザの実装されていると
GC時にファイナライザキューを介してファイナライズが行われるが
このファイナライズを行う際はStop the worldする必要があるためだ

ファイナライザを保険として実装した上で、前述のパフォーマンス低下を避けるには
自分でファイナライザ相当の処理をした上でSuppressFinalizeを呼び出しておく必要がある
この場合、ファイナライザは実行されなくなり、パフォーマンスの低下も起きない

300 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 18:49:09.04 ID:QS/EO+8da.net]
デストラクタにはなるべく頼らないようにしようぜ
デストラクタを記述するにしてもDispose()されたときにGC.SuppressFinalize(this)しようぜ

>>295
出力の有無でメモリリークに気づける可能性はあるが「発生の可能性も減る」について詳しく

301 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:36:38.60 ID:AJMxYZfA0.net]
既にスレを荒らした状態になってるから、もうこれで最後にするけど

>>290
の上8行「右上の×で消す」という書き込みは初心者が使うフレーズだから
中〜上級者の俺様は深読みして間違えたと解釈したけど
本物の中上級者でも「右上の×で消す」の意味は「右上の×マークをクリック
して窓を消す」以外ありえません。そういうわけであなたは
初心者でも中〜上級者でもない別の何かです。

初心者の書く「右上の×で消す」の文が不満で何で
「Xボタンで消したときと、Xボタン以外の何らかの方法で消したとき?」
何で選択肢が増えるんだよw
プログラムより国語の勉強しないと。
回答側に回りたいなら模範回答できる質問だけにしてください。

302 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 19:41:49.21 ID:AvqFg2320.net]
>>298
> 「右上の×で消す」の意味は「右上の×マークをクリックして窓を消す」以外ありえません。
どうしたらこんな頓珍漢なレスができるんだよ…
誰もその意味がおかしいとか言ってるわけじゃないぞw

303 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:15:40.25 ID:AJMxYZfA0.net]
>>299 何でイベントのclosedでは駄目かというと、閉じた瞬間の情報が欲しい訳ではないからです。
窓閉じてしばらくして閉じたかどうか知りたいってことなので。なんでそんなこと知りたいんだよ(怒)
って言われても別にいいだろとしか。c#はイベントで処理するからって考えの人にあれこれ
言う義務は俺には無いよ。

304 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:16:16.95 ID:QS/EO+8da.net]
>>298
初心者様ってすごいね
ちゃんとした回答が欲しいなら質問をちゃんと書いてね
https://teratail.com/help/question-tips#questionTips3
ここは5chだから多少は違いがあるけど「正しく伝わる質問の仕方」は同じだよ

305 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:32:13.15 ID:E1covCOyM.net]
昨日今日はどのスレもこんなのばっかりだぜ
金払ってスクールでも通えよって

306 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:37:07.02 ID:AvqFg2320.net]
>>300
別に閉じてるかどうかを知りたいことがないわけじゃなくて珍しいって話な
たいていの場合はなにか設計がおかしい可能性が高い
まあ俺に影響あるわけじゃないから好きにすればいいと思うけどw

307 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 20:56:30.81 ID:AJMxYZfA0.net]
>>301
回答は貰ったんだよ。

質問はその後訂正してる。他の上級者は理解して神回答を頂きました。
>>281-285見たら誰が問題か分かる。284に変なレスしてる奴。

C#はイベントだけで処理すると考える学生がイベントのclosedで解決すると思ったら
解決しないから発狂してキチガイとか日本語が変とか難癖つけたんだろ。



308 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:09:42.81 ID:aPMrZc410.net]
ゴミクズにレスつけてる奴も死なねえか
お前のせいで終わらんのやぞ

309 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:39:33.31 ID:QS/EO+8da.net]
>>304
質問内容に >>300 中の「閉じた瞬間の情報が欲しい訳ではないからです。窓閉じてしばらくして閉じたかどうか知りたい」
という内容も書かれていたら、最初から正しいIsDisposedの回答だけが得られたかもしれないね
「学生」を罵り言葉として使っているということは社会人かな?
その態度を貫けるくらいには沢山エスパーが居る会社なのかな、凄い環境だなあ

310 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 21:59:51.43 ID:FnnSZHMw0.net]
>>298
え?じゃあ聞くけど

サブフォームFORM2を作って右上の×で消した時どうすれば(どこを調べれば)よいですか?

FORM2 form2 = new Form2();

311 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:30:58.81 ID:RA8LBCNw0.net]
オフショア開発してるけどこんな訳わからない質問ばっかで気が狂いそうになるよ
エスパー能力欲しいなぁ

312 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 22:31:35.27 ID:AvqFg2320.net]
>>306
まあ引っ込みつかなくなってるんだろうね
学生云々は不問にするとしても
> C#はイベント「だけ」で処理すると考える
とか誰も書いてないことを言い出してるしw

313 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 23:15:27.17 ID:fnPZIWU30.net]
この議論はGCに処理してもらおう

314 名前:デフォルトの名無しさん mailto:sage [2019/04/07(日) 23:52:46.05 ID:h90p5IeD0.net]
>>310
なるほど。この無価値な議論の中身を気にして参照してるのはもはや当人同士の循環参照のみだから、>>289に書かれている通り世代別GCで回収されるわけですな。

315 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:04:21.39 ID:bxLyJs4eM.net]
引数について質問させてください

ref と out の違いってなんですか?
どういうときに ref を使うのか、out を使うのか、よくわかりません

316 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:16:44.97 ID:DkSPe/Rf0.net]
>>312
https://www.atmarkit.co.jp/ait/articles/1804/25/news021.html

317 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 20:23:20.59 ID:WPZzOuq3a.net]
>>312
ref引数は、呼び出し先関数で、引数を使うし設定もする場合に使う
out引数は、呼び出し先関数で、引数を設定するだけの場合に使う
この違いにより、refで渡す引数は初期化しておく必要があるけど、outで渡す引数は未初期化でも構わない

.NET Framework中にある実例としては
int.TryParse()の場合、文字列の数値を引数に設定するだけで、引数の元々の値は使わないから、out引数でいい
難しい例だがInterlocked.CompareExchange()の場合、引数の値を返すし引数に設定する必要もあるため、ref引数が必要

値型と参照型の違いも知っておいたほうがハマりにくいかも



318 名前: mailto:sage [2019/04/08(月) 21:00:25.38 ID:PMJ1/1Ak0.net]
>>314
めんどくさいので out は忘れて ref ばかり使っていますが問題ありますでしょうか!?

319 名前:デフォルトの名無しさん mailto:sage [2019/04/08(月) 22:47:42.86 ID:WPZzOuq3a.net]
>>315
refでも問題らしい問題は無いだろうけれど
refでなくoutで済む場面ならoutを使ったほうが楽できる
未初期化変数でも渡せるし、C# 7からはout引数の場所で変数宣言が出来るようになった
https://docs.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-7#out-variables

ただout引数やref引数を取る関数はasyncやiteratorメソッドに出来ないから
最近の風潮だと、out引数を経由して多値を返すよりも、戻り値の型をValueTupleにして直接多値を返す方が良さそう
https://ufcpp.net/study/csharp/datatype/tuples/?p=3#out-params

320 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 00:18:34.64 ID:/fBSGCK40.net]
コンストラクタでテキストボックスの値でフィールドを初期化しようとしたら怒られた これダメなのか…

321 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 02:13:47.76 ID:UAdV14hW0.net]
>>317
なんと言って怒られたの?

322 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 10:04:22.44 ID:iYhZfRkA0.net]
おんどりゃぁふざけた初期化すんじゃねぇ です

323 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 10:26:21.20 ID:euLRl0x60.net]
>>317
日本語でおk

324 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 11:37:19.16 ID:6ZB9MqDTM.net]
コンストラクタでテキストボックスの初期化、俺じゃなきゃ見逃しちゃうね

325 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 11:56:56.57 ID:hdDhGrZ5a.net]
>>317
デザイナーで置いたテキストボックスのインスタンス構築や、各種プロパティの設定は
実際はInitializeComponent()メソッドの中で行われる
InitializeComponent()よりも前で値を読もうとしてNullReferenceExceptionが出ているのなら
InitializeComponent()の後で値を読めばいい
までエスパーした

326 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 21:10:24.64 ID:0DYeC ]
[ここ壊れてます]

327 名前:6pW0.net mailto: C#でProcess使ったコンソールの標準入出力処理書いてるんだけど
printf("値を入力1:");
scanf("%d",&i);
printf("値を入力2:");
scanf("%d",&j);
printf("%d %d", i, j);
みたいな処理のプログラムを動かしたとき、コマンドプロンプトだと
値を入力1:3
値を入力2:4
3, 4
ってなってるのに対して、OutputDataReceivedだと
値を入力1:値を入力2:3, 4
って標準入力が全部完了されたあとにまとめて文字列渡されるのって何でなの?
[]
[ここ壊れてます]



328 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 21:31:50.99 ID:2u68c9Dp0.net]
標準出力に改行が出力されてないから

329 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 21:49:55.14 ID:0DYeC6pW0.net]
>>324
試しに全部のprintfに改行入れてみたけど、それでもscanfが全部終わるまでOutputDataReceivedイベント発生しないっぽい。
C#側で標準出力を受け取ってstringに追加 ー> exe側は入力待機 ー> C#側からStandardInput.WriteLineで標準入力 ー>exe側は処理続行
みたいな コマンドプロンプトからのの実行と同じような動きをする処理って、C#じゃどうやるんだろう?

330 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 23:25:15.43 ID:2u68c9Dp0.net]
stdoutがパイプに繋がってるとprintfは改行があろうがバッファし続ける
setbuf(stdout, NULL)しとくか、printf後にfflush(stdout)するか

331 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 23:39:38.53 ID:IIo4qqMm0.net]
C#関係なくね?

332 名前:デフォルトの名無しさん mailto:sage [2019/04/09(火) 23:59:05.15 ID:0DYeC6pW0.net]
>>326
setbufでもfflushでも何故か入力待機状態が終了するまでOutputDataReceivedイベントが発生しなかったからあきらめてテキストファイルにログ出力してそれ読み込むことにするわ
教えてくれてありがとう

333 名前:デフォルトの名無しさん mailto:sage [2019/04/10(水) 20:02:38.36 ID:YVfMef4MM.net]
>>313-316
だいぶ返信が遅れてしまいました
まとめてですみませんが、親切に教えていただきありがとうございました

334 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 22:52:29.27 ID:luZS+mvc0.net]
C#関係ないんだけどシングルトンの使い場所がわかりませぬ

こんなクラスがあるとして、
class a{
 Dictionary<string, string> hoge;

 public string getHoge(key)
{return hoge[key];}
}
hogeにはDBから対象の精々100くらいの全レコード取ってきて格納しておきたい
複数インスタンスが必要にはならないようなデータ
外部からのsetは許可しない

こういう時ってシングルトン使ってnew時にDBからデータ取得とかしていいのでしょうか?
もっと賢いやり方あります?

335 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:01:43.16 ID:fgu2eH2Ta.net]
>>330
シングルトンはテストを困難にするアンチパターンだから忘れていい
単一のインスタンスが欲しい場合はDIを使う

336 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:09:32.03 ID:SGqhATO10.net]
>>331
DIとシングルトンは全く別の概念やぞ…

337 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:11:43.52 ID:fgu2eH2Ta.net]
>>332
DI使ったことないの?
単一のインスタンスを共有するのは大抵のDIコンテナでサポートされている一般的な機能だよ



338 名前:デフォルトの名無しさん [2019/04/12(金) 23:33:00.52 ID:HVuVGzQQr.net]
staticじゃあかんの?

339 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:33:46.50 ID:FJ5vSxoFM.net]
発想の飛躍やべぇな

340 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:40:02.85 ID:le1Q6kdLM.net]
シングルトン大好き。
状況的に複数インスタンス生まないクラスは必ずと言っていいほどシングルトン。

341 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:41:28.59 ID:le1Q6kdLM.net]
class名.staticメソッド、static変数を多用。

342 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:47:39.11 ID:SGqhATO10.net]
>>333
お前こそプログラミングしたことないやろ…インスタンスの意味から調べてこい

343 名前:デフォルトの名無しさん mailto:sage [2019/04/12(金) 23:51:53.21 ID:GRWvVKgh0.net]
>>334
get setでなんか仕掛けるでもしない限りはstaticでいいよな

344 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 00:17:16.36 ID:DF10sMIkM.net]
>>339
ユニットテストでモックしたいときどうすんの?

345 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 00:45:48.83 ID:gAxxWG/M0.net]
シングルトン的なことがしたいときの今時のやり方はDI使うことだな

346 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 01:23:05.24 ID:4BHEL+7ta.net]
>>330
言語レベルで単一インスタンスの強制を保証する必要が
本当にそんなにしばしばあるのかなとは個人的には思うね。

要は共有方法を明確にしておけば十分じゃないかと。
そもそも共有されるオブジェクトを各々が勝手にnewするのがおかしいわけで。

具体的には、例えばWindows FormならVSが自動生成するProgramクラスの
staticな読み取り専用プロパティとして実装する約束にしておけば済む

347 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 05:26:30.24 ID:f7He4YCD0.net]
俺もそう思う
べき論としてみんな口々に言うけどそこを懸念するとかどんだけ連携がないチームなんだよ



348 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 08:35:33.20 ID:vIVj+RyW0.net]
>>341
ただ、DIもシングルトンの一形態という記述は見たことが有る

349 名前:デフォルトの名無しさん [2019/04/13(土) 08:39:55.79 ID:Gb+AenIc0.net]
以前に書いたプログラムを元に加筆修正して別のプログラムを作った時
フォルダもソリューションも別名で保存したいのですが
VisualStudioはそういう保存はできないのでしょうか?
今は力業であらかじめ別名フォルダにコピーしたソリューションから作り始め
ソリューション名、プロジェクト名、アセンブリ名、空間名
等を書き換えてからプログラムの修正を始めるのですが
時々何かがおかしくなってバインディングが外れたり
破綻してしまうこともあるので
何か安全に書き換える方法があるのかな?と質問しました

350 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 08:52:30.68 ID:J/cBqpWVM.net]
>>345
いい加減git使おう

351 名前:デフォルトの名無しさん [2019/04/13(土) 09:32:07.36 ID:Gb+AenIc0.net]
>>346
うーんちょっと調べただけだけどヤヤこしそう・・・
それにバージョン管理とは違うんだよなー
ワープロを元にデータベースを作ったからフォルダもソリューションも変えて保存したい
って感じなんだけど

352 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:39:52.37 ID:vbn0MA6qa.net]
レベル下がったなこのスレも
VB.NETとJavaが終わりつつあるから流入してるのか

353 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:55:51.57 ID:J/cBqpWVM.net]
>>347
慣れたら自然にそんなアホなことをしようとは思わなくなるから気にしなくていい
俺も初心者の頃はそうだったから気持ちはよくわかる

354 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 09:59:00.31 ID:C2d1A80t0.net]
>>348
レベルの高い時期があったみたいな言い方だな

355 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 10:04:10.28 ID:vzJQEXVg0.net]
>>347
ソリューションを変えるのはわかるけど
> プロジェクト名、空間名
とかは変えなくても良くね?

356 名前:デフォルトの名無しさん [2019/04/13(土) 10:41:12.62 ID:kUX6ubEA0.net]
>>351
そうなの?
とりあえずその方がコードも分かりやすいから
exeとタスクトレイに表示される名前だけ反映させるには
アセンブリ名とアセンブリ情報の中だけでいいのかな

357 名前:デフォルトの名無しさん [2019/04/13(土) 10:44:39.80 ID:nXQ9b0jN ]
[ここ壊れてます]



358 名前:0.net mailto: 7.2で加わった、条件付きのref式って意味がわかんないんだけどさあ
これrefがついていようがいまいが同じように動作しないの???
なんなのこれ
[]
[ここ壊れてます]

359 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 11:21:31.91 ID:umtct5vHa.net]
>>353
int a, b, c;
void Reset() { a = 1; b = 2; c = 3; }

Reset();
ref int x = ref a;
x = (true ? b : c); // 普通の条件演算子
x = 4; // xの参照先はaのままなのでaが変わる
Console.WriteLine($"{a} {b} {c}"); // 4 2 3

Reset();
ref int y = ref a;
y = (true ? ref b :ref c); // 条件演算子の2項目と3項目にrefはあるが、条件演算子の前にrefはない→参照でなく値が代入されるだけ(上と同じ)
y = 4; // yの参照先はaのままなのでaが変わる(ここでハマってそう)
Console.WriteLine($"{a} {b} {c}"); // 4 2 3

Reset();
ref int z = ref a;
z = ref (true ? ref b : ref c); // 条件演算子の前にrefがある→zの参照先が変わる
z = 4; // zの参照先がbになったのでbが変わる
Console.WriteLine($"{a} {b} {c}"); // 1 4 3
// https://ufcpp.net/study/csharp/sp_ref.html?p=2#conditional-ref もどうぞ

360 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 18:28:52.41 ID:a4r2Gpw40.net]
この言語は、見かけはC++の兄弟分のような顔をしたVBだな。

361 名前:デフォルトの名無しさん [2019/04/13(土) 18:49:30.17 ID:nXQ9b0jN0.net]
>>354
ありがとう!やっとわかったぜ!!!

362 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 22:22:05.47 ID:zPnWLOfMa.net]
>>354
こんな機能追加されてたんだw
でも積極的な使い方を思いつかんなあ

363 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 22:30:05.68 ID:4tcIFh//0.net]
後から追加された機能ってどれもセンスないよね

364 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:41:32.18 ID:04eDeW4Td.net]
>>358
は?

365 名前:デフォルトの名無しさん mailto:sage [2019/04/13(土) 23:52:54.44 ID:4tcIFh//0.net]
>>359
は?じゃねぇよクソ虫

366 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:08:30.69 ID:01zt8L7jd.net]
>>360
ジェネリクスもセンスないのかい?

367 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:26:39.46 ID:eLdyJ0cI0.net]
>>358
最近追加された機能は効率重視でちょっと分かり難いのもあるから、
そういう風に見えるのも分からないでもない。



368 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 00:53:29.67 ID:DOuVmEEK0.net]
言語の価値って開発環境も含めて評価すべきじゃない?
自分は別に他の言語でもよい処理をついついc#でやっちゃうのはやっぱりIDEの強力なサポートがあってのことだわ

369 名前:デフォルトの名無しさん [2019/04/14(日) 08:42:45.32 ID:H5M6zKH30.net]
>>363
これはRuby先輩を呼び寄せるための撒き餌ですか?

370 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 08:50:41.27 ID:k2b6YaL90.net]
C#は、CとC++の系列のように外見を装っているが、実際にはVBのほうが似てる言語だろう。
CやC++に対しておこがましさを感じる。

371 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 08:55:34.96 ID:TOfo8K8Bd.net]
>>358
ラムダ式とか使わんの?

372 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:07:27.41 ID:UDnauAFh0.net]
>>363
言語の基本文法のみ良し悪しとか、標準ライブラリまで含めての評価とか、議論の対象をどこまでとすらかは文脈によるだろうし、君が開発環境まで含めた話をしたいというならそういう話題をふって話を進めればいいよ。
言語単体での話をしている時に「いやいやIDEが〜」とか言い出すと話が発散するから、議論の対象は明確に区切って意識した方がいい。

373 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:28:07.93 ID:VqeGGHsz0.net]
>>358
.NET 1.1 の世界から出てくるな

374 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 09:34:22.94 ID:LBjjw3Zya.net]
今の時代、言語だけ語っても意味はないよなぁ
使えるオプソのバラエティとか、コンテナとの親和性とかの評価は避けて通れない

375 名前:デフォルトの名無しさん mailto:sage [2019/04/14(日) 12:23:16.39 ID:cHKb6r3Sa.net]
>>357
この辺の追加機能はパフォーマンスを求めるための機能だから
速度特化ライブラリの製作者は使うだろうけど、それ以外の開発者は使う機会少ないかも
https://ufcpp.net/study/csharp/cheatsheet/ap_ver7_2/

>>358
https://github.com/dotnet/csharplang/issues
C#の言語仕様はgithub上で公開で議論されている
センスある機能について議論や提案してみたらどうだろう
もちろん何かコメントしたりissueを立てたりする前に、検索して既出じゃないか確認するのを忘れずに

376 名前:デフォルトの名無しさん [2019/04/15(月) 12:22:07.84 ID:3hi8+ot50.net]
先日windows7からwindows10にOSの入れ替えをしたのですが、win7では動いていたPostMessageが動かなくなってしまいました。
(送り手は自作のソフト、受け手は市販のソフトで、Win7でもWin10でも同じものです)
あるアプリケーションに
PostMessage(hWnd, WM_KEYDOWN, VkKeyScan("0"), 0);
のようにして数字を送信していたのですが、これが反応しなくなりました。
ウィンドウハンドルの取得とかは問題がないようです。
これ以外でも
PostMessage(hWnd, WM_KEYDOWN, VK_RETURN, 0);
等すべてのキーが送れません。
対処法がありましたら教えてください。

377 名前:デフォルトの名無しさん [2019/04/15(月) 12:24:05.77 ID:3hi8+ot50.net]
正確に言うと(正確かどうかはわかりませんが)、
送り手側でエラーが出るわけではなく、受け手側のテキストボックスを一応選択はしているので、
送り手側としては送っているつもりですが受け手側が反応しなくなっている状態だと思います。
送り手の発信方法を変えればいいのでしょうか?



378 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 13:27:46.92 ID:3hi8+ot50.net]
すいません、解決しました。
管理権限の問題でした。

379 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 22:16:04.04 ID:l4hdcBztd.net]
新しいバージョンたくさんあるけど業務だとどの辺まで使ってるところが多いんだろ

valueタプルとかみんな使えてる?

380 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 22:17:38.51 ID:p/g7dyR00.net]
>>374
ようやく4.5.2が許されるようになったよ・・・

381 名前:デフォルトの名無しさん mailto:sage [2019/04/15(月) 22:37:21.92 ID:+hafi/JFa.net]
>>374
.NET Core 2.2/C# 7.3使ってるよ

382 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:08:51.63 ID:4W+nw3aAa.net]
うちも最近やっと3.5.1縛りが解けて4.5.2になったよ

383 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:14:19.68 ID:5XyUIsTTd.net]
>>374
うちは.NET Core2.1、C#7.3
次のLTSは3.1だっけ

384 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:15:38.75 ID:5XyUIsTTd.net]
てかVisual Studioをちゃんと更新してればC#のバージョン上げるのは全然問題なくね?

385 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:20:00.65 ID:3+f8cxJ/0.net]
最近?が多くて辛い
null条件演算子でも目眩がするのに
null合体演算子なんか使われたら頭いたい
ところでcoalescingてなんて読むんや

386 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:32:26.55 ID:mJc9sIPpa.net]
>>379
ネックはランタイムの方でしょ

387 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 08:37:21.73 ID:bBG3RNJT0.net]
Windows7のサポートが切れれば少しはましになるのかねぇ



388 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 09:11:39.30 ID:gry//OiE0.net]
>>377
async awaitへようこそ

389 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 12:31:57.15 ID:5XyUIsTTd.net]
>>381
だから「C#のバージョン上げるのは」って言ってんのに

390 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 14:23:13.78 ID:o1OTQxfgr.net]
とりあえずVSのバージョンだけでもあげてほしいわ
今時2008とかもう

391 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 15:21:56.74 ID:gbkfFEj/0.net]
>>385
こっそりあげちゃえよ。だれもお前のことなんかみてないからさ。

392 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 17:28:56.19 ID:CzwWdC590.net]
2015ってアン

393 名前:Cンストールしても平気かな。SSDの空きがかつかつで2019インストールするなら2015は消したい []
[ここ壊れてます]

394 名前:デフォルトの名無しさん [2019/04/16(火) 18:43:16.58 ID:HeVWn8Fl0.net]
VS2010からVS2017に上げたら変数名に全角の・使ってるところがビルドエラーになったわ。
こんなの変数名に使うなよと思いながらVS2010で名前変えまくった。

395 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 18:54:44.72 ID:csRNrKVvM.net]
フォームから自動生成したイベントハンドラの頭文字が大文字じゃねぇぞって怒られてるんだけどデフォルトでこうなの?

396 名前:デフォルトの名無しさん mailto:sage [2019/04/16(火) 19:43:25.05 ID:4DXe6mce0.net]
>>388
ユニコードのせいね
C#6.0の時のやつ

397 名前:デフォルトの名無しさん [2019/04/17(水) 20:49:20.12 ID:WkJZEAk70.net]
ドット絵エディタを作りたいんですが、win formでやってます
ピクセルを描くベースとなるフォームはどれを使用すればよいのでしょうか。



398 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 20:56:19.46 ID:SfPYWsjk0.net]
フォームに直書きでいいよ

399 名前:デフォルトの名無しさん mailto:sage [2019/04/17(水) 20:59:20.56 ID:VDkzUi/q0.net]
>>391
コントロールなら画像の描画に使うのはPictureBoxでやっとけば調べるのも楽だよ
書き間違いでなく何か別の意味で「フォーム」って書いているのならよくわからない






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

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

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