「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part93
https://mevius.5ch.net/test/read.cgi/tech/1492818720/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part139
https://mevius.5ch.net/test/read.cgi/tech/1533466544/
■コードを貼る場合は↓を使いましょう。
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: checked:vvvvv:1000:512:----: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part140
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 9e9f-LwdJ)
2018/10/04(木) 18:56:38.41ID:JnxMNCXd0653デフォルトの名無しさん (ワッチョイ ffb3-I6zH)
2018/11/24(土) 08:38:33.58ID:kuH8s62I0 ちゃんとした名称知ってる俺スゲーってか?
そこまでしてマウント取りたいものかね w
そこまでしてマウント取りたいものかね w
654デフォルトの名無しさん (ワッチョイ 6f93-wJmD)
2018/11/24(土) 08:49:29.06ID:IRw8AAbl0 c#でもインナークラスと言って間違いちゃうよ
公式でもね
公式でもね
655デフォルトの名無しさん (ワッチョイ cf81-xbeM)
2018/11/24(土) 10:32:41.42ID:QDlc1GIX0 むしろnested classなんて聞いたことないわ
656デフォルトの名無しさん (アウアウエー Sadf-4vBw)
2018/11/24(土) 11:34:11.91ID:VBkVIhNza Javaだとメソッド内でクラス定義できるからネストだと意味的に不自然なんだよ
657デフォルトの名無しさん (ワッチョイ ffd2-nmhv)
2018/11/24(土) 12:05:57.96ID:WtZSNTCR0 >>655
Java屋さんいらっしゃい
Java屋さんいらっしゃい
658デフォルトの名無しさん (ワッチョイ cf81-xbeM)
2018/11/24(土) 13:19:32.37ID:QDlc1GIX0659デフォルトの名無しさん (ブーイモ MMe7-4vBw)
2018/11/24(土) 13:30:59.43ID:vw8dRG/XM660デフォルトの名無しさん (ワッチョイ 231e-nwd5)
2018/11/24(土) 13:34:12.99ID:MaS7Khub0 https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/nested-types
nested typeまたはinnerともかいてあるね
nested typeまたはinnerともかいてあるね
661デフォルトの名無しさん (ワッチョイ f3c3-pqc8)
2018/11/24(土) 13:51:48.22ID:wRaDaS++0 >>653
被害妄想酷くない?
被害妄想酷くない?
662デフォルトの名無しさん (ブーイモ MMff-fFAZ)
2018/11/24(土) 13:58:36.09ID:dVQ/sIVoM ほんとマウンティングしかしない連中だな
663デフォルトの名無しさん (ワッチョイ ffb3-I6zH)
2018/11/24(土) 14:32:36.02ID:kuH8s62I0664デフォルトの名無しさん (ワッチョイ ffd2-nmhv)
2018/11/24(土) 15:09:18.13ID:WtZSNTCR0 >>658
お前検索してないやろw
お前検索してないやろw
665デフォルトの名無しさん (ワッチョイ d39a-3+6q)
2018/11/24(土) 15:13:42.72ID:nuCJ8Tz/0 間違ったことに突っ込み入れて訂正して「マウンティング」とか無いわ
違ったこと言い続けるアホならともかくこの件は>>660で終わっているし
違ったこと言い続けるアホならともかくこの件は>>660で終わっているし
666デフォルトの名無しさん (ワッチョイ 231e-nwd5)
2018/11/24(土) 15:24:23.92ID:MaS7Khub0667デフォルトの名無しさん (ワッチョイ c336-CvEX)
2018/11/24(土) 15:50:14.83ID:X9wbQk6q0 初心者向けC#のサイトでGUIプログラムの例があったので入力してみました。
しかし
using System.Windows.Controls;
でコンパイルエラーになります。 Controlsなんてネーヨ!エラーです。
正しくは、どこでしょうか?
ちなみに環境なんですがubuntu16で、MonoDeveloperを使っております。
しかし
using System.Windows.Controls;
でコンパイルエラーになります。 Controlsなんてネーヨ!エラーです。
正しくは、どこでしょうか?
ちなみに環境なんですがubuntu16で、MonoDeveloperを使っております。
668デフォルトの名無しさん (アウアウウー Sa27-tiSx)
2018/11/24(土) 16:05:53.32ID:KjMkY0qza >>667
System.Windows.Controls名前空間以下の型(例えばControlクラス)は
PresentationFramework.dll というDLLで定義されているから
そのDLLを参照に追加する必要がある
どの型がどのDLLに属しているかは、MSDNやMicrosoft Docsでその型のページを探して
上の方にあるAssemblyの箇所を見ればわかる
例えばControlの場合は https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.control?view=netframework-4.7.2
ただ肝心の、MonoDeveloperで参照を追加する方法は俺には分からない
System.Windows.Controls名前空間以下の型(例えばControlクラス)は
PresentationFramework.dll というDLLで定義されているから
そのDLLを参照に追加する必要がある
どの型がどのDLLに属しているかは、MSDNやMicrosoft Docsでその型のページを探して
上の方にあるAssemblyの箇所を見ればわかる
例えばControlの場合は https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.controls.control?view=netframework-4.7.2
ただ肝心の、MonoDeveloperで参照を追加する方法は俺には分からない
669デフォルトの名無しさん (ドコグロ MMc7-I6zH)
2018/11/24(土) 16:31:21.34ID:IUSP2F7UM670デフォルトの名無しさん (ワッチョイ 33e3-2kky)
2018/11/24(土) 16:42:28.73ID:eoAr82J80 どうでもいいけどインナークラスなんて使うなよ
未来は誰にも予想できない
未来は誰にも予想できない
671デフォルトの名無しさん (ワッチョイ 6f8a-zhOP)
2018/11/24(土) 16:46:50.34ID:NR09riDN0 Guid.NewGuid()が重複した人いますか?
672デフォルトの名無しさん (ワッチョイ ffd2-nmhv)
2018/11/24(土) 16:49:51.50ID:WtZSNTCR0 ねーよ
673デフォルトの名無しさん (ワッチョイ 231e-pqc8)
2018/11/24(土) 16:57:20.53ID:SHV38fMb0 >>669
他人の満足とか他人の心配より自分の馬鹿な頭心配しとけよw
他人の満足とか他人の心配より自分の馬鹿な頭心配しとけよw
674デフォルトの名無しさん (ワッチョイ ff9b-ZAsc)
2018/11/24(土) 16:59:12.41ID:ntzumrir0 2点ほど、
pictureboxに書いた線やらマルやらを書き終えたらボタンを押しもう書けないようにロックするにはどうしたらいいですか?
フォーム2で書いたpictureboxの絵をボタン投下時にフォーム1に同じ絵をコピーしたい場合はどうしたらいいですか?
pictureboxに書いた線やらマルやらを書き終えたらボタンを押しもう書けないようにロックするにはどうしたらいいですか?
フォーム2で書いたpictureboxの絵をボタン投下時にフォーム1に同じ絵をコピーしたい場合はどうしたらいいですか?
675デフォルトの名無しさん (ワッチョイ ffb3-I6zH)
2018/11/24(土) 17:04:30.23ID:kuH8s62I0 >>673
お前の日本語理解力が心配だよ w
お前の日本語理解力が心配だよ w
676デフォルトの名無しさん (ワッチョイ cf9a-81xu)
2018/11/24(土) 17:08:20.29ID:EV3fc7VB0 >>674
最初のはpicturebox.Imageを書き込み不能にしたいってこと?そっちはわからない
2つめのは用途による
picturebox2.Image=picturebox1.Image;//これは1を書き換えるとそのまま2に反映される
picturebox2.Image=new Bitmap(picturebox1.Image);//これはいわゆる普通のコピー
ImageがBitmapでなくMetaFileならこれは使えないけど
最初のはpicturebox.Imageを書き込み不能にしたいってこと?そっちはわからない
2つめのは用途による
picturebox2.Image=picturebox1.Image;//これは1を書き換えるとそのまま2に反映される
picturebox2.Image=new Bitmap(picturebox1.Image);//これはいわゆる普通のコピー
ImageがBitmapでなくMetaFileならこれは使えないけど
677デフォルトの名無しさん (ワッチョイ 231e-nwd5)
2018/11/24(土) 17:10:52.63ID:SHV38fMb0678デフォルトの名無しさん (ワッチョイ ffb3-I6zH)
2018/11/24(土) 18:03:02.82ID:kuH8s62I0679デフォルトの名無しさん (ワッチョイ f3c3-pqc8)
2018/11/24(土) 18:09:44.70ID:wRaDaS++0 >>678
それも見た上でレスしたぞ
それも見た上でレスしたぞ
680デフォルトの名無しさん (ワッチョイ e3d2-ta/Z)
2018/11/24(土) 18:49:18.12ID:gGGjjoOQ0 それ以前に >>1 を読めよ。
>なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
>なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
681デフォルトの名無しさん (ワッチョイ ffb3-I6zH)
2018/11/24(土) 18:55:03.96ID:kuH8s62I0682デフォルトの名無しさん (ワッチョイ 33e3-/G1A)
2018/11/24(土) 20:27:17.85ID:3uyeEm6u0 マウンティングか否かの議論を相談室送りにしてもあっち困るだろ
683>>676 (ワッチョイ cf9a-81xu)
2018/11/24(土) 21:38:37.28ID:EV3fc7VB0 >>676にキャスト不足とか誰も突っ込んでくれないw
>>674
Form1で書いたpictureboxの絵をボタン投下時にForm2に同じ絵をコピーの例
https://ideone.com/ifdvrf
Visual StudioでC#の新しいプロジェクトを作って自動生成されたcsを全部消して代わりにダウンロードしたcsを既存の項目として追加して実行
Form1ではマウス左クリック+ドラッグで描画、Form2でCopyをクリックするとその時点のイメージをコピー
Enableのチェック外すと描画中止
>>674
Form1で書いたpictureboxの絵をボタン投下時にForm2に同じ絵をコピーの例
https://ideone.com/ifdvrf
Visual StudioでC#の新しいプロジェクトを作って自動生成されたcsを全部消して代わりにダウンロードしたcsを既存の項目として追加して実行
Form1ではマウス左クリック+ドラッグで描画、Form2でCopyをクリックするとその時点のイメージをコピー
Enableのチェック外すと描画中止
684デフォルトの名無しさん (スップ Sd1f-cRgy)
2018/11/26(月) 11:03:50.04ID:SESNl2J0d 何だかんだでc#の勉強を始めることになったんですけど、なにぶんそういう知識はまるで無いのでどう勉強したらいいかさっぱりです
とりあえず初心者向けの参考書とc#を打てるなんちゃらスタジオがあれば大丈夫でしょうか
とりあえず初心者向けの参考書とc#を打てるなんちゃらスタジオがあれば大丈夫でしょうか
685デフォルトの名無しさん (ワッチョイ cf81-pqc8)
2018/11/26(月) 11:21:34.31ID:SVaivieI0 >>684
自分に合った参考書やサイトを見て勉強しながら
VisualStudioで試行錯誤しながらやっていくしかない
自分の周りにC#について教えてくれる人がいるなら
どんどん聞いて吸収していくのが一番いい
とにかくサンプルコードを打ち込んだりしながら
想像力を働かせて覚えていくしかないよ
そのうち視界が開けて来て作りたいものが作れるようになる
作れるようになったらまず、簡単なものからにするべき
いきなり難しいものを作ろうとすると潰れるよ(天才なら別だが)
アラーム時計やカレンダーや画像ビューアあたりから始めるのがいいと思う
自分に合った参考書やサイトを見て勉強しながら
VisualStudioで試行錯誤しながらやっていくしかない
自分の周りにC#について教えてくれる人がいるなら
どんどん聞いて吸収していくのが一番いい
とにかくサンプルコードを打ち込んだりしながら
想像力を働かせて覚えていくしかないよ
そのうち視界が開けて来て作りたいものが作れるようになる
作れるようになったらまず、簡単なものからにするべき
いきなり難しいものを作ろうとすると潰れるよ(天才なら別だが)
アラーム時計やカレンダーや画像ビューアあたりから始めるのがいいと思う
686デフォルトの名無しさん (スップ Sd1f-cRgy)
2018/11/26(月) 12:15:21.72ID:SESNl2J0d >>685
ありがとう、帰りに初心者の自分に合いそうな優しい参考書を買ってみるよ。 とりあえず基礎からみっちり覚えることにするね
ありがとう、帰りに初心者の自分に合いそうな優しい参考書を買ってみるよ。 とりあえず基礎からみっちり覚えることにするね
687デフォルトの名無しさん (ワッチョイ e3b1-Kv/S)
2018/11/26(月) 15:45:06.75ID:qFYm+H7r0 コンソールアプリにてコンソール自身へのIME制御はハードル高いのでしょうか?
ひらがなモード、半角英数モードをコンソールアプリ側で切り替えたいと思い色々ググって試してみたところ、うんともすんとも行きません
大人しくFormアプリにするべきなのでしょうか
ひらがなモード、半角英数モードをコンソールアプリ側で切り替えたいと思い色々ググって試してみたところ、うんともすんとも行きません
大人しくFormアプリにするべきなのでしょうか
688デフォルトの名無しさん (ワッチョイ 238a-J8rx)
2018/11/28(水) 03:51:20.87ID:W51sdDs/0 簡易HttpServerを作りたいのですが、以下のコードを実行してアクセスすると、"GET"が2回コンソール出力されます。
クライアントからのGETは1回しか受信していないと思うのですが、何故でしょうか。
https://ideone.com/Nr02QL
クライアントからのGETは1回しか受信していないと思うのですが、何故でしょうか。
https://ideone.com/Nr02QL
689デフォルトの名無しさん (ワントンキン MM9f-dDyV)
2018/11/28(水) 05:59:27.93ID:NH2f0caoM 内容は分からんがConsole.WriteLine以外にOutputStreamのどれかがコンソール出力してたりはしないの?
690デフォルトの名無しさん (ワッチョイ 8f23-OUhl)
2018/11/28(水) 09:38:11.53ID:G4kzubka0 ブラウザでアクセスしたら最初の1回はfaviconリクエストが追加要求されたりするけど
RequestのUrl確認した?
RequestのUrl確認した?
691デフォルトの名無しさん (オイコラミネオ MM87-2v1H)
2018/11/28(水) 11:21:23.50ID:e/TO460qM 良い指摘だぬ
692デフォルトの名無しさん (スプッッ Sd1f-7YUd)
2018/11/28(水) 12:49:32.68ID:VpsTLnkwd マーシャリングが面倒でも負荷の高い処理はC++とかで組むべき?
693688 (ワッチョイ 238a-J8rx)
2018/11/28(水) 12:59:30.21ID:W51sdDs/0694デフォルトの名無しさん (スフッ Sd1f-wpGg)
2018/11/28(水) 13:15:16.62ID:L6JkQudHd どういたしまして
695デフォルトの名無しさん (オイコラミネオ MM87-BYmB)
2018/11/28(水) 13:16:32.80ID:xrfZ5xLeM >>692
劇的に効果あるなら
マルチタスクにしてもいいし、GPGPUとか、openCL(作り方によればCPUでもGPUでも動かせるし、併用でフル実行させるとやりきった感半端ない)とか今なら色々あるよ
劇的に効果あるなら
マルチタスクにしてもいいし、GPGPUとか、openCL(作り方によればCPUでもGPUでも動かせるし、併用でフル実行させるとやりきった感半端ない)とか今なら色々あるよ
696デフォルトの名無しさん (ブーイモ MM27-iCMB)
2018/11/28(水) 13:26:20.94ID:cyvzVFzDM >>692
まずはアルゴリズムの改良を検討する
スクリプト言語だとCPUバウンドな処理はC++に比べて数桁遅いから、
許容範囲の処理時間を達成するためにはスクリプトのままアルゴリズムの改良を頑張るよりもC++で力技の方が結果的に早い(速い、ではない)ことも多い
一方C#はせいぜいC++の数倍のオーダーであり、その程度ならアルゴリズムの改良によって簡単に逆転する
まずはアルゴリズムの改良を検討する
スクリプト言語だとCPUバウンドな処理はC++に比べて数桁遅いから、
許容範囲の処理時間を達成するためにはスクリプトのままアルゴリズムの改良を頑張るよりもC++で力技の方が結果的に早い(速い、ではない)ことも多い
一方C#はせいぜいC++の数倍のオーダーであり、その程度ならアルゴリズムの改良によって簡単に逆転する
697デフォルトの名無しさん (オイコラミネオ MM87-2v1H)
2018/11/28(水) 15:38:58.09ID:e/TO460qM 夢の最速目指すよりも
仕様決めないときりがないしな
仕様決めないときりがないしな
698デフォルトの名無しさん (ワッチョイ 839f-nfAC)
2018/11/28(水) 16:41:31.36ID:JaydQRfC0 SecureStringは使うなって書いてあるんだけど
じゃあ代わりに何使えばいいの?教えて
じゃあ代わりに何使えばいいの?教えて
699デフォルトの名無しさん (スッップ Sd1f-1ob7)
2018/11/28(水) 17:06:53.33ID:BP3XEZ+Jd HANDLE CreateFile(
LPCTSTR lpFileName, // ファイル名
DWORD dwDesiredAccess, // アクセスモード
DWORD dwShareMode, // 共有モード
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // セキュリティ記述子
DWORD dwCreationDisposition, // 作成方法
DWORD dwFlagsAndAttributes, // ファイル属性
HANDLE hTemplateFile // テンプレートファイルのハンドル
);
lpSecurityAttributes
取得したハンドルを子プロセスへ継承することを許可するかどうかを決定する。
個プロセスへの継承とはどういう意味なのでしょうか
LPCTSTR lpFileName, // ファイル名
DWORD dwDesiredAccess, // アクセスモード
DWORD dwShareMode, // 共有モード
LPSECURITY_ATTRIBUTES lpSecurityAttributes, // セキュリティ記述子
DWORD dwCreationDisposition, // 作成方法
DWORD dwFlagsAndAttributes, // ファイル属性
HANDLE hTemplateFile // テンプレートファイルのハンドル
);
lpSecurityAttributes
取得したハンドルを子プロセスへ継承することを許可するかどうかを決定する。
個プロセスへの継承とはどういう意味なのでしょうか
700デフォルトの名無しさん (ワッチョイ f317-/G1A)
2018/11/28(水) 18:13:59.61ID:KWr5egyF0 スレチ
701デフォルトの名無しさん (ワッチョイ 7fc3-EZ1D)
2018/11/28(水) 18:19:28.62ID:urROSKq40 ここでWin32とかの話はスレチだわな。
セキュリティ記述子の話をすると、所有者セキュリティID, グループSID, 任意 アクセス制御リスト, システムアクセス制御リスト, アクセストークンの話で本が書ける。無難にNULLを入れとけばよい。
C#だとSystem.Intptr.Zeroだな
セキュリティ記述子の話をすると、所有者セキュリティID, グループSID, 任意 アクセス制御リスト, システムアクセス制御リスト, アクセストークンの話で本が書ける。無難にNULLを入れとけばよい。
C#だとSystem.Intptr.Zeroだな
702デフォルトの名無しさん (ワッチョイ 7fc3-EZ1D)
2018/11/28(水) 18:34:17.60ID:urROSKq40 子プロセスの継承の例は、パイプを使ったプロセス間通信とかでしょうね。
以上、スレチごめんなさい
以上、スレチごめんなさい
703デフォルトの名無しさん (ワッチョイ ff9b-ZAsc)
2018/11/28(水) 19:36:37.13ID:whfYkWqO0 pictureboxの中に400☓800の四角を書き、線ボタン、丸ボタンを作って、それを投下したら四角の中に絵を書いくもの作りました。
@データ番号入力(001)3桁
A上記のpictureboxが表示
B線やら丸やら書く
Cデータ内容保存
この繰り替えし。
この時のCで書いた情報の保存方法はどうしたらいいと思いますか?座標点の他にどんな情報があったらいいですかね?
もう一回表示したい時とか
@データ番号入力(001)3桁
A上記のpictureboxが表示
B線やら丸やら書く
Cデータ内容保存
この繰り替えし。
この時のCで書いた情報の保存方法はどうしたらいいと思いますか?座標点の他にどんな情報があったらいいですかね?
もう一回表示したい時とか
704デフォルトの名無しさん (ワッチョイ 8f23-OUhl)
2018/11/28(水) 19:47:06.26ID:G4kzubka0 保存方法? 好きにしろとしか言えない
どんな情報って、そりゃ線やら丸やら書いたときに使った情報だろ
どんな情報って、そりゃ線やら丸やら書いたときに使った情報だろ
705デフォルトの名無しさん (ワッチョイ 6f93-2v1H)
2018/11/28(水) 21:24:08.05ID:WfNZCJmP0 実行中は線引く際のストローク、円を描く際のパラメーターをリストで保存してくのが定番。アンドゥリドゥのために。
保存するときは、imageに変換しても良いし、描画履歴の情報を保存しても良い。
何がしたいかによるとしか
保存するときは、imageに変換しても良いし、描画履歴の情報を保存しても良い。
何がしたいかによるとしか
706デフォルトの名無しさん (ワッチョイ f3c3-pqc8)
2018/11/28(水) 21:33:46.64ID:wlMFFO6p0 >>698
https://github.com/dotnet/platform-compat/blob/master/docs/DE0001.md
> The general approach of dealing with credentials is to avoid them and instead rely on other means to authenticate,
> such as certificates or Windows authentication.
資格情報を扱う一般的な方法は、資格情報を回避し、代わりに証明書やWindows認証などの他の認証方法に依存することです。
回答になってないな…。
https://github.com/dotnet/platform-compat/blob/master/docs/DE0001.md
> The general approach of dealing with credentials is to avoid them and instead rely on other means to authenticate,
> such as certificates or Windows authentication.
資格情報を扱う一般的な方法は、資格情報を回避し、代わりに証明書やWindows認証などの他の認証方法に依存することです。
回答になってないな…。
707デフォルトの名無しさん (ワッチョイ 234a-tprL)
2018/11/29(木) 11:59:38.79ID:w8w+eTQL0 自作のコントロールでFontプロパティを実装しようと考えています。
FontはIDisposableを継承しているので適切なタイミングでDisposeを実行する必要があると思うのですが
・コントロールのDispose内
・プロパティのsetter
この2箇所でDisposeの呼び出しを実装すれば大丈夫ですか?他にDispose呼び出しが必要な所は無いですか?
具体的には↓のように実装しようと思っています
https://ideone.com/rJl7Fj
FontはIDisposableを継承しているので適切なタイミングでDisposeを実行する必要があると思うのですが
・コントロールのDispose内
・プロパティのsetter
この2箇所でDisposeの呼び出しを実装すれば大丈夫ですか?他にDispose呼び出しが必要な所は無いですか?
具体的には↓のように実装しようと思っています
https://ideone.com/rJl7Fj
708デフォルトの名無しさん (アウアウエー Sa52-70Pl)
2018/11/29(木) 12:58:03.97ID:GYTobZd0a >>707
別のオブジェクトが同じFontの参照を握ってる可能性もあるから
自分の都合で勝手にDisposeするわけにもいかんでしょう。
ほっておくしかないのでは。
どうしても気になるならFontプロパティのセッターでFontの参照そのものをバッキングフィールドに
キャッシュするのではなく、等価なFontを再構築可能な情報をキャッシュするようにするとか
本当はこういうプロパティーの実装はよくないみたいだけど(ゲッターの返す値が毎回別のオブジェクトになるから)
別のオブジェクトが同じFontの参照を握ってる可能性もあるから
自分の都合で勝手にDisposeするわけにもいかんでしょう。
ほっておくしかないのでは。
どうしても気になるならFontプロパティのセッターでFontの参照そのものをバッキングフィールドに
キャッシュするのではなく、等価なFontを再構築可能な情報をキャッシュするようにするとか
本当はこういうプロパティーの実装はよくないみたいだけど(ゲッターの返す値が毎回別のオブジェクトになるから)
709デフォルトの名無しさん (ワッチョイ 234a-tprL)
2018/11/29(木) 13:59:52.58ID:w8w+eTQL0 A : myControl.Font = new Font("MS UI Gothic", 9);
B : myControl.Font = mainForm.Font;
毎回上記のAのようにするならDisposeしても大丈夫だけどBみたいなことをすると
mainFormのフォントが勝手にDisposeされることになるからまずいから
自動プロパティとかにしてDisposeはGCに任せるか、内部的にはフォント名、サイズとかの
情報だけ持たせてgetterで毎回newする形にするしかないってことですかね?
B : myControl.Font = mainForm.Font;
毎回上記のAのようにするならDisposeしても大丈夫だけどBみたいなことをすると
mainFormのフォントが勝手にDisposeされることになるからまずいから
自動プロパティとかにしてDisposeはGCに任せるか、内部的にはフォント名、サイズとかの
情報だけ持たせてgetterで毎回newする形にするしかないってことですかね?
710デフォルトの名無しさん (ワッチョイ 1a9a-hssQ)
2018/11/29(木) 20:54:36.67ID:LaO1Tjsi0 >>707
Control継承するとFontプロパティもついてくると思うけど別に使うのかな?
>>709
蛇足気味だけど厳密にやりたいなら
set
{
Font ft = value as Font;
if (null != ft)
{
if (null != _myFont) _myFont.Dispose();
_myFont = new Font(ft.FontFamily, ft.Size, ft.Style, ft.Unit);
}
}
こんな感じかな。他はそのままで
set { _myFont = value; }でも大した問題起こらない気もする
もっとまじめに考察したいならILSPYでControlのFontプロパティがどうやっているか追っかけて確認してみるとか
Control継承するとFontプロパティもついてくると思うけど別に使うのかな?
>>709
蛇足気味だけど厳密にやりたいなら
set
{
Font ft = value as Font;
if (null != ft)
{
if (null != _myFont) _myFont.Dispose();
_myFont = new Font(ft.FontFamily, ft.Size, ft.Style, ft.Unit);
}
}
こんな感じかな。他はそのままで
set { _myFont = value; }でも大した問題起こらない気もする
もっとまじめに考察したいならILSPYでControlのFontプロパティがどうやっているか追っかけて確認してみるとか
711デフォルトの名無しさん (スップ Sd5a-+c7S)
2018/11/30(金) 00:32:08.25ID:gtVMbwTAd712デフォルトの名無しさん (アウアウエー Sa52-C0zt)
2018/11/30(金) 05:27:00.98ID:V3k5uXuMa 効果音(WAVファイル)鳴らしたいのだけど、VisualStudioのどこからインポートすればいいのでしょうか?
713デフォルトの名無しさん (ワッチョイ b693-t6tu)
2018/11/30(金) 06:15:02.76ID:J243joLf0 解読班お願いします
714デフォルトの名無しさん (オイコラミネオ MM63-JqKq)
2018/11/30(金) 08:02:22.89ID:6sbZJ6hoM プログラム内に、リソースとして音楽ファイルを埋め込みたいのだと思われます
715デフォルトの名無しさん (ササクッテロ Sp3b-MyyE)
2018/11/30(金) 08:18:04.02ID:ntAUD0F8p ビルド完了時にファンファーレなどを鳴らしたいのだと思われます
716デフォルトの名無しさん (ワッチョイ fac3-MxA5)
2018/11/30(金) 09:21:26.51ID:u/ExA4KN0 [Ctr]キー + [r]キーを押して、mmsys.cpl と入力して[Enter]キー
「サウンド」タブのプログラムイベントにあったはずだ
ってか、これはスレチだろ
「サウンド」タブのプログラムイベントにあったはずだ
ってか、これはスレチだろ
717デフォルトの名無しさん (ワッチョイ 5fa5-DrDc)
2018/11/30(金) 20:20:52.54ID:3yrtWl4o0 単にwavファイルを頭から再生するだけならSoundPlayerクラスでいいだろうけど
ループポイントいじったり波形まで触るような凝った再生するならWin32APIを使わないとダメだろうな
ってことが聞きたいんじゃね?
ループポイントいじったり波形まで触るような凝った再生するならWin32APIを使わないとダメだろうな
ってことが聞きたいんじゃね?
718デフォルトの名無しさん (スププ Sdba-aHfj)
2018/11/30(金) 21:33:39.29ID:7tGVT0o8d math.powでなくfor使ってa^b乗はどうやったらうまくいきます?
719デフォルトの名無しさん (オイコラミネオ MM63-JqKq)
2018/11/30(金) 21:48:55.31ID:6sbZJ6hoM 誰か答えてやってくれ
俺には無理だ
俺には無理だ
720デフォルトの名無しさん (ワッチョイ 1ae3-r3MB)
2018/11/30(金) 22:09:20.57ID:lmmOnpkX0721デフォルトの名無しさん (スププ Sdba-aHfj)
2018/11/30(金) 22:17:19.14ID:n5lF99wkd 天才あざす
>>717
wav ファイルの波形パターンを取り出してプログラムで適当に加工したあと win32api に渡すと音がなる、とかできるのでしょうか?API関数名はなんですか?
wav ファイルの波形パターンを取り出してプログラムで適当に加工したあと win32api に渡すと音がなる、とかできるのでしょうか?API関数名はなんですか?
723デフォルトの名無しさん (ワッチョイ b7e3-Xv+l)
2018/11/30(金) 23:27:45.95ID:t8hABf910725デフォルトの名無しさん (スププ Sdba-xVue)
2018/12/01(土) 01:36:14.22ID:fxOs/Chqd >>718
マクローリン展開かな
マクローリン展開かな
726デフォルトの名無しさん (ワッチョイ 9ab3-lzSb)
2018/12/01(土) 15:10:50.09ID:BBiFvNwv0 For文でTaskの配列を使いたいんだけど
var task=new Task[10];
for(int i=0;i<10;++i)
{
int j=i; ←これ
task[i]=Task.Run(()=>{なんかjを使う処理;});
}
こんな風に変数の置き換えをしなきゃいけないのを処理する
なんか別のカッコいい方法ってありますか?
var task=new Task[10];
for(int i=0;i<10;++i)
{
int j=i; ←これ
task[i]=Task.Run(()=>{なんかjを使う処理;});
}
こんな風に変数の置き換えをしなきゃいけないのを処理する
なんか別のカッコいい方法ってありますか?
727デフォルトの名無しさん (アウアウウー Sa47-2gcu)
2018/12/01(土) 15:24:16.02ID:ueqzOD9Qa728デフォルトの名無しさん (ワッチョイ b7e3-Xv+l)
2018/12/01(土) 16:54:24.01ID:UFOjA6r40729デフォルトの名無しさん (ワッチョイ a7c3-lzSb)
2018/12/01(土) 17:01:29.48ID:6nS7jmt50 >>726
Parallel.Forじゃ駄目?
Parallel.Forじゃ駄目?
730デフォルトの名無しさん (ブーイモ MMba-D04G)
2018/12/01(土) 17:03:32.28ID:q6i9ekrsM >>728
残念ながら君より質問者のほうがC#をよく理解している
俺も727派だけど、別解としては for じゃなくて foreach (var i = Enumerable.Range( なら i をラムダ内でそのまま使っても問題ないよ(C#5以降)
残念ながら君より質問者のほうがC#をよく理解している
俺も727派だけど、別解としては for じゃなくて foreach (var i = Enumerable.Range( なら i をラムダ内でそのまま使っても問題ないよ(C#5以降)
731デフォルトの名無しさん (ワッチョイ b39d-hzet)
2018/12/01(土) 17:04:04.70ID:QCT+flDQ0 static void Main()
{
Console.WriteLine("Begin");
var tasks = new []
{
Task.Factory.StartNew(() => Console.WriteLine("Task1 is running")),
Task.Factory.StartNew(() => Console.WriteLine("Task2 is running")),
Task.Factory.StartNew(() => Console.WriteLine("Task3 is running")),
};
int index = Task.WaitAny(tasks);
Console.WriteLine("Index = {0}", index);
Console.WriteLine("End");
}
}
New[]ってなに?
{
Console.WriteLine("Begin");
var tasks = new []
{
Task.Factory.StartNew(() => Console.WriteLine("Task1 is running")),
Task.Factory.StartNew(() => Console.WriteLine("Task2 is running")),
Task.Factory.StartNew(() => Console.WriteLine("Task3 is running")),
};
int index = Task.WaitAny(tasks);
Console.WriteLine("Index = {0}", index);
Console.WriteLine("End");
}
}
New[]ってなに?
732デフォルトの名無しさん (ワッチョイ a7c3-lzSb)
2018/12/01(土) 17:08:08.57ID:6nS7jmt50 >> 731
new Task[]の省略形
型は{}の初期化部から推論してる
new Task[]の省略形
型は{}の初期化部から推論してる
733デフォルトの名無しさん (ワッチョイ b39d-hzet)
2018/12/01(土) 17:16:05.12ID:QCT+flDQ0 ああそいうことなの、ありがとう。推論しすぎだよ。W
734デフォルトの名無しさん (ワッチョイ b39d-hzet)
2018/12/01(土) 17:21:20.93ID:QCT+flDQ0 tasks Newしてるのにスタートしてないのも推論?
735デフォルトの名無しさん (ワッチョイ a7c3-lzSb)
2018/12/01(土) 17:28:40.81ID:6nS7jmt50736デフォルトの名無しさん (ワッチョイ 0eeb-hzet)
2018/12/01(土) 18:50:52.76ID:4Hpcan/K0 便乗で低レベルな質問してすまんが、なんでこれの実行結果って10のみになるの?
なんか0〜9の10行になりそうな気がしちゃったんだけど・・・・どうして!?
using System;
using System.Threading;
using System.Threading.Tasks;
public class Test
{
public static void Main()
{
var task = new Task[10];
for(int i=0;i<10;i++)
{
task[i]=Task.Run(()=>Console.WriteLine(i));
}
}
}
なんか0〜9の10行になりそうな気がしちゃったんだけど・・・・どうして!?
using System;
using System.Threading;
using System.Threading.Tasks;
public class Test
{
public static void Main()
{
var task = new Task[10];
for(int i=0;i<10;i++)
{
task[i]=Task.Run(()=>Console.WriteLine(i));
}
}
}
737デフォルトの名無しさん (ワッチョイ 0eeb-hzet)
2018/12/01(土) 18:58:25.70ID:4Hpcan/K0 たまたまメインスレッドで動いたやつだけConsole.WriteLineが動くとかそういうのなのかな?
738デフォルトの名無しさん (アウアウエー Sa52-70Pl)
2018/12/01(土) 19:01:42.33ID:jlV8A3xFa >>736
ラムダ式の変数のキャプチャを理解した方がいいよ
ラムダ式の変数のキャプチャを理解した方がいいよ
739デフォルトの名無しさん (ワッチョイ b676-xVue)
2018/12/01(土) 19:36:32.06ID:IDJAnGVn0740デフォルトの名無しさん (ワッチョイ 0eeb-hzet)
2018/12/01(土) 21:00:00.35ID:4Hpcan/K0 ありがとう!なんで10になるのかはわかったよ
ただ次になぜ10が10個並んじゃわないのかが全然わかんなくなってきたぜ・・・・
ただ次になぜ10が10個並んじゃわないのかが全然わかんなくなってきたぜ・・・・
741デフォルトの名無しさん (ワッチョイ b676-xVue)
2018/12/01(土) 21:02:51.31ID:IDJAnGVn0 >>740
forループの実行中にTaskが開始されてるからでしょ
forループの実行中にTaskが開始されてるからでしょ
742デフォルトの名無しさん (ワッチョイ 0eeb-hzet)
2018/12/01(土) 22:13:11.50ID:4Hpcan/K0 >>741
forループ中にTaskが開始されるとなぜ1つになっちゃうのか全然わからなんだ・・・・
forループ中にTaskが開始されるとなぜ1つになっちゃうのか全然わからなんだ・・・・
743デフォルトの名無しさん (ワッチョイ 8a7e-o5Pc)
2018/12/01(土) 22:53:47.54ID:THW+jwSM0 メインスレッドが即座に終了して出力なしの方がザラだと思うが
明示的に待たないとTaskの完了など知った事ではないよ
というか徒に増やした所でメモリ帯域とかで躓くのがオチ
Taskは非同期だし、並列実行が望みならGPGPUなりを…
明示的に待たないとTaskの完了など知った事ではないよ
というか徒に増やした所でメモリ帯域とかで躓くのがオチ
Taskは非同期だし、並列実行が望みならGPGPUなりを…
744デフォルトの名無しさん (ブーイモ MMba-D04G)
2018/12/01(土) 22:57:20.39ID:q6i9ekrsM たかが10要素だし、配列に入れてるんだからWhenAllとかで待てるだろ
直行する問題を分離できないおバカさんかな
直行する問題を分離できないおバカさんかな
745デフォルトの名無しさん (ワッチョイ 9ab3-lzSb)
2018/12/01(土) 23:13:24.31ID:BBiFvNwv0 >>727-730
ありがとうございました。いい方法あったんですね
そろい踏みで
var task = new Task[10];
for (int i = 0; i < 10; i++)
{ int j = i; task[i] = Task.Run(() => Console.WriteLine("a={0}", j)); }
var tasks = Enumerable.Range(0, 10).Select(i => Task.Run(() => {Console.WriteLine("b={0}",i);})).ToArray();
var task2 = new Task[10];
for (int i = 0; i < 10; i++)
{ task2[i] = Task.Run(() => Console.WriteLine("c={0}", i)); }
foreach (var i in Enumerable.Range(0, 10)) { Console.WriteLine("d={0}", i); }
Console.ReadKey();
で何回か試してみると、foreachだけは必ずタスクの起動順が順番通りで揃うんですね
ちょっとこれを使ってみます
ありがとうございました。いい方法あったんですね
そろい踏みで
var task = new Task[10];
for (int i = 0; i < 10; i++)
{ int j = i; task[i] = Task.Run(() => Console.WriteLine("a={0}", j)); }
var tasks = Enumerable.Range(0, 10).Select(i => Task.Run(() => {Console.WriteLine("b={0}",i);})).ToArray();
var task2 = new Task[10];
for (int i = 0; i < 10; i++)
{ task2[i] = Task.Run(() => Console.WriteLine("c={0}", i)); }
foreach (var i in Enumerable.Range(0, 10)) { Console.WriteLine("d={0}", i); }
Console.ReadKey();
で何回か試してみると、foreachだけは必ずタスクの起動順が順番通りで揃うんですね
ちょっとこれを使ってみます
746デフォルトの名無しさん (ワッチョイ 23da-UzSb)
2018/12/01(土) 23:22:08.99ID:R6GB4fM+0 >>745
foreachのはTask作ってない。他に合わせるなら
foreach (var i in Enumerable.Range(0, 10)) { Task.Run( () => {Console.WriteLine("d={0}", i); } }
でないとおかしい。
foreachのはTask作ってない。他に合わせるなら
foreach (var i in Enumerable.Range(0, 10)) { Task.Run( () => {Console.WriteLine("d={0}", i); } }
でないとおかしい。
747デフォルトの名無しさん (ワッチョイ 8a7e-o5Pc)
2018/12/01(土) 23:22:16.02ID:THW+jwSM0 foreachだけはTaskどころか普通の同期処理だが…?
748デフォルトの名無しさん (ブーイモ MMba-D04G)
2018/12/01(土) 23:23:22.50ID:q6i9ekrsM749デフォルトの名無しさん (ワッチョイ b7e3-Xv+l)
2018/12/01(土) 23:28:44.22ID:UFOjA6r40 意味わからんな
750デフォルトの名無しさん (スププ Sdba-xVue)
2018/12/01(土) 23:57:08.18ID:cajtydEwd >>749
この馬鹿ちんが
この馬鹿ちんが
751デフォルトの名無しさん (ワッチョイ 9ab3-lzSb)
2018/12/01(土) 23:59:39.62ID:BBiFvNwv0752デフォルトの名無しさん (ワッチョイ b7e3-Xv+l)
2018/12/02(日) 00:15:47.90ID:y4RDtfAe0 そんな簡単なコード間違えるような記述方式なのに頭おかしい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- バリ島で男子生徒ら集団万引きか、防犯カメラ映像が拡散 京都の大谷中学・高校が「窃盗行為」謝罪★4 [七波羅探題★]
- 中国軍機レーダー照射、トランプ氏沈黙突く 試される日本外交 [蚤の市★]
- 【広島】「万引きした人を追跡」コンビニ店員の男性(46)を果物ナイフで刺したか 中国籍の少年(17)を殺人未遂容疑で現行犯逮捕 [ぐれ★]
- 【地震】青森県で震度6強 長周期地震動も 津波注意報すべて解除 ★7 [ぐれ★] [ぐれ★]
- 【サッカー】58歳カズ「オファーが来ている」 J3福島と近日中にも交渉 早ければ年内にも決断 [征夷大将軍★]
- 【速報】気象庁は津波注意報すべて解除 [蚤の市★]
- 【実況】博衣こよりのえちえち朝こよ🧪
- ヨッシー、ヘイホー、テレサ ←こいつらwwwwwwwww
- 【悲報】高市早苗の擬人化がXで大バズりwwwwwwwwwwww [455031798]
- さかまた「過呼吸になった」かなた「耳聞こえない」ござる「声出ない」まつり「ご飯食べれない」
- くそしてかがやけ
- 一人暮らしだからケツ出してみてるけど
