「どんなにくだらない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:JnxMNCXd0214デフォルトの名無しさん (ワッチョイ ea68-7PZ0)
2018/10/23(火) 22:54:16.72ID:t0pM1C750 Windowsで簡単なデスクトップアプリ、コマンドプロンプトアプリを作るのが目的で
無料のVisual Studio 2013 for Desktopをインストールしている
最近調べたらVisual Studio 2017 Community版なるものが無料でリリースされてるようだけど
2013 for Desktopから乗り換える価値あると思う?
それとも2013 for Desktopをそのまま使い続けていた方がいい?
無料のVisual Studio 2013 for Desktopをインストールしている
最近調べたらVisual Studio 2017 Community版なるものが無料でリリースされてるようだけど
2013 for Desktopから乗り換える価値あると思う?
それとも2013 for Desktopをそのまま使い続けていた方がいい?
215デフォルトの名無しさん (ワッチョイ be9a-ypm2)
2018/10/23(火) 23:19:13.87ID:beMFeyu90 >>214
2013だと最新のC#や.NetFrameWorkwpターゲットにしたものが作れないと思うけどVisualStudioのスレで聞いて
メリットとデメリット詳細に説明するのは難しいと思うから
2013だと最新のC#や.NetFrameWorkwpターゲットにしたものが作れないと思うけどVisualStudioのスレで聞いて
メリットとデメリット詳細に説明するのは難しいと思うから
216デフォルトの名無しさん (ラクッペ MMc3-xfgi)
2018/10/23(火) 23:37:40.87ID:EnOD72ofM >>214
VS communityは商用利用に制約が有ります。
Express 2017 for Windows Desktopを利用しましょう。
Express 2017 for webはないのでwebはVSCODEに移行しました。
VS communityは商用利用に制約が有ります。
Express 2017 for Windows Desktopを利用しましょう。
Express 2017 for webはないのでwebはVSCODEに移行しました。
217デフォルトの名無しさん (ワッチョイ ea68-7PZ0)
2018/10/24(水) 00:13:22.70ID:mtZGy2HS0 dd
2017 for Windows Desktopに乗り換えまつ
2017 for Windows Desktopに乗り換えまつ
218デフォルトの名無しさん (アウアウウー Sa9f-tSmu)
2018/10/24(水) 00:29:43.28ID:XKgg3tJUa >>216は間違い
VS Communityは組織の規模に制限があるが用途に制限はない
VS Communityは組織の規模に制限があるが用途に制限はない
219デフォルトの名無しさん (スップ Sd2a-YMLY)
2018/10/24(水) 07:44:57.85ID:s6gpcYwid220デフォルトの名無しさん (スプッッ Sd2a-w2rH)
2018/10/24(水) 10:07:14.94ID:3/mFq1HRd >>216
5人以上での開発からじゃなかったっけ
5人以上での開発からじゃなかったっけ
221デフォルトの名無しさん (ワッチョイ 2aad-7PZ0)
2018/10/24(水) 13:09:57.36ID:AbQuJmTL0 プログラマーとして転職するにはどんな本までマスターしてれば大丈夫ですか?
ゴールからはじめるC#は読めました。
ゴールからはじめるC#は読めました。
222デフォルトの名無しさん (アウアウカー Safb-dUTK)
2018/10/24(水) 13:24:18.69ID:pa4PW987a 基礎としては入門で十分。
読んでから作るのではなく、作りながら読む。
必要だと感じないと頭に入らない。
読んでから作るのではなく、作りながら読む。
必要だと感じないと頭に入らない。
223デフォルトの名無しさん (ブーイモ MMbf-tSmu)
2018/10/24(水) 13:34:18.54ID:KNarJnl6M C#ってあんまり未経験OKの仕事ないからJavaから入るのがいいと思うよ
JavaならFizBuz書ければ十分仕事できる
JavaならFizBuz書ければ十分仕事できる
224デフォルトの名無しさん (オッペケ Srb3-zYpp)
2018/10/24(水) 13:46:07.47ID:uTlH1PNGr まじかよ
225デフォルトの名無しさん (ワッチョイ 7bea-j6wj)
2018/10/24(水) 13:53:12.06ID:8s24r2uo0226デフォルトの名無しさん (ワンミングク MMda-szOx)
2018/10/24(水) 18:41:34.40ID:HJod1vGPM VS2013でweb formを作っています。
以前VS2008の時代、AjaxControlToolkitのModalPopupExtenderを使って設定用のポップアップを作っていました。
今回同じような事をしたいのですが、VS2013の環境で、同等の事を簡単にできるよい方法はありませんか。
以前VS2008の時代、AjaxControlToolkitのModalPopupExtenderを使って設定用のポップアップを作っていました。
今回同じような事をしたいのですが、VS2013の環境で、同等の事を簡単にできるよい方法はありませんか。
227デフォルトの名無しさん (ブーイモ MMbf-tSmu)
2018/10/24(水) 19:08:39.26ID:KNarJnl6M >>226
WebFormsに頼るのはやめてBootstrapを使ってください
WebFormsに頼るのはやめてBootstrapを使ってください
228デフォルトの名無しさん (ドコグロ MM3b-b3y3)
2018/10/24(水) 20:20:05.07ID:a4OXlgOjM >>220
開発者の数じゃない
でかい企業は開発者の人数関係なく使っちゃダメ
小さい企業は5人までならいいってこと
なので会社が小さくても3人の開発者が2チームいたらアウト
■個人開発者
あらゆる個人開発者は Visual Studio Community を利用でき、無償または有償のアプリケーションを作成できます。
■ 組織
以下のシナリオでは Visual Studio Community を利用者数に制限なく利用することができます: 教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献
■その他のすべての利用シナリオ:
●エンタープライズではない組織において 5 ユーザーまでは Visual Studio Community を利用できます。
●エンタープライズ組織 (PC 台数 250 台以上または年商 100 万ドル以上) は上記の教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献以外では従業員や請負契約者ともに利用を認められません。
https://visualstudio.microsoft.com/wp-content/uploads/2017/05/Visual-Studio-2017-Licensing-Whitepaper-March-2017_Japanese.pdf
開発者の数じゃない
でかい企業は開発者の人数関係なく使っちゃダメ
小さい企業は5人までならいいってこと
なので会社が小さくても3人の開発者が2チームいたらアウト
■個人開発者
あらゆる個人開発者は Visual Studio Community を利用でき、無償または有償のアプリケーションを作成できます。
■ 組織
以下のシナリオでは Visual Studio Community を利用者数に制限なく利用することができます: 教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献
■その他のすべての利用シナリオ:
●エンタープライズではない組織において 5 ユーザーまでは Visual Studio Community を利用できます。
●エンタープライズ組織 (PC 台数 250 台以上または年商 100 万ドル以上) は上記の教室の研修環境、学術的調査、オープン ソース プロジェクトへの貢献以外では従業員や請負契約者ともに利用を認められません。
https://visualstudio.microsoft.com/wp-content/uploads/2017/05/Visual-Studio-2017-Licensing-Whitepaper-March-2017_Japanese.pdf
229デフォルトの名無しさん (ワッチョイ afe3-Ub1+)
2018/10/24(水) 20:23:21.79ID:pUZreFeO0 リリース用のビルドマシンは1台で
他は全部expressや
ってやったらどうなるの?
他は全部expressや
ってやったらどうなるの?
230デフォルトの名無しさん (JP 0H2b-etxE)
2018/10/24(水) 20:24:41.18ID:j9WcSB4FH 年商1億って結構安いよな
ケチ
ケチ
231デフォルトの名無しさん (ワッチョイ 5f17-usPd)
2018/10/24(水) 20:28:06.50ID:mBAz6liX0 >オープン ソース プロジェクトへの貢献
ってすごい曖昧な定義だよな
ってすごい曖昧な定義だよな
232デフォルトの名無しさん (ワッチョイ 2e9f-Dk9W)
2018/10/24(水) 20:43:45.15ID:lYnaZc560 Javaは設定ファイル多すぎて挫折したけどdotnet new mvcですぐ始められるのは良いね
サーバーもいらないし
サーバーもいらないし
233デフォルトの名無しさん (アウアウウー Sa9f-tSmu)
2018/10/24(水) 20:45:46.94ID:FS+T0WbLa234デフォルトの名無しさん (オッペケ Srb3-zYpp)
2018/10/24(水) 21:02:31.52ID:uTlH1PNGr MSが委託請負が開発したCommunityでビルドしたアプリまで特定できるの?
235デフォルトの名無しさん (スプッッ Sd2a-w2rH)
2018/10/24(水) 21:04:15.38ID:3/mFq1HRd tiff画像をBitmapクラスを使って読み込みたい
読み込みはできたのだけど、1ピクセル辺りに要するバイト数が想定と違って困ってます
Bitmap b = new Bitmap(file)
BitmapData d = b.LockBits(new Rectangle(0,0,b.width,b.height),ImageLockMode.ReadWrite,b.PixelFormat)
b.pixelFormatがどうやらサイズが間違っているようなんだけども
ここってどう指定すべきなのでしょうか
2バイトのところ4バイトのARGBが入ってるのでサイズがめちゃことなってしまって
読み込みはできたのだけど、1ピクセル辺りに要するバイト数が想定と違って困ってます
Bitmap b = new Bitmap(file)
BitmapData d = b.LockBits(new Rectangle(0,0,b.width,b.height),ImageLockMode.ReadWrite,b.PixelFormat)
b.pixelFormatがどうやらサイズが間違っているようなんだけども
ここってどう指定すべきなのでしょうか
2バイトのところ4バイトのARGBが入ってるのでサイズがめちゃことなってしまって
236デフォルトの名無しさん (ワッチョイ afe3-Ub1+)
2018/10/24(水) 21:39:43.47ID:pUZreFeO0237デフォルトの名無しさん (アウアウウー Sa9f-w+1b)
2018/10/24(水) 21:55:47.42ID:0ETaBBAFa238デフォルトの名無しさん (アウアウウー Sa9f-tSmu)
2018/10/24(水) 22:47:55.18ID:FS+T0WbLa >>236
ビルドだけが目的ならVSなんか全く必要ないよ
ビルドだけが目的ならVSなんか全く必要ないよ
239デフォルトの名無しさん (スプッッ Sdc3-w2rH)
2018/10/24(水) 23:48:44.98ID:sUnPoBu6d240デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/25(木) 00:00:10.59ID:6CwUNa2j0 >>238
じゃ、Visualstudioって実質金出さんでもいいの?
じゃ、Visualstudioって実質金出さんでもいいの?
241デフォルトの名無しさん (ブーイモ MM5b-az0l)
2018/10/25(木) 00:02:26.32ID:bJEmGRRpM >>240
開発生産性を度外視するならその通り
開発生産性を度外視するならその通り
242デフォルトの名無しさん (ワッチョイ 3bd2-2TN5)
2018/10/25(木) 02:14:51.71ID:LTnIM1RR0 最近ほぼVisualStudioCodeしか使ってないわ
243デフォルトの名無しさん (ワッチョイ d323-4x81)
2018/10/25(木) 09:35:23.68ID:BG3PZmBX0 >>235
まずその想定してるっていうPixelFormatは正しいのかExplorerからプロパティ>詳細のビットの深さ見て確認する
> 2バイトのところ4バイトのARGBが入ってる
想定とBitmapDataでどっちがどっちなのか読み取れないけど1ピクセル2バイトってRGB565とかその辺なの?
まずその想定してるっていうPixelFormatは正しいのかExplorerからプロパティ>詳細のビットの深さ見て確認する
> 2バイトのところ4バイトのARGBが入ってる
想定とBitmapDataでどっちがどっちなのか読み取れないけど1ピクセル2バイトってRGB565とかその辺なの?
244デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 11:59:33.09ID:dYjhTuUoa たぶん直接の原因は>>237にある通りじゃないのかな
文面を見る限り質問者はあまり注意深い人に思えないしw
文面を見る限り質問者はあまり注意深い人に思えないしw
245デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 12:11:30.07ID:dYjhTuUoa ところで、LockBitsってインスタンスメソッドなのに何で自分自身のPixelFormatを
引数で要求するんだろう。
引数で要求するんだろう。
246デフォルトの名無しさん (ブーイモ MM5b-az0l)
2018/10/25(木) 13:07:15.03ID:r31i+JfIM GDI+のAPIがそうなっているから、それを何も考えずに猿のようにラップしてそうなっただけ
247デフォルトの名無しさん (ワッチョイ ebd3-o90R)
2018/10/25(木) 19:40:29.60ID:gTpJa4iN0 >>246
Q. では何故GDI+のAPIはそうなっているのですか?
A. The pixel format of the temporary buffer does not have to be the same as the pixel format of this Bitmap object.
[https://docs.microsoft.com/en-us/windows/desktop/api/gdiplusheaders/nf-gdiplusheaders-bitmap-lockbits]
Q. では何故GDI+のAPIはそうなっているのですか?
A. The pixel format of the temporary buffer does not have to be the same as the pixel format of this Bitmap object.
[https://docs.microsoft.com/en-us/windows/desktop/api/gdiplusheaders/nf-gdiplusheaders-bitmap-lockbits]
248デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 20:44:40.21ID:n3Rz+F82a >>247
フルカラーをトゥルーカラーにしたり、アルファーチャンネルを付け加えたり、
そういうフォーマットの変換機能も兼ねてるってことなのかな
MSDNのLockBitsの解説にはそんなこと書いてないけど。
不細工な設計だねw
フルカラーをトゥルーカラーにしたり、アルファーチャンネルを付け加えたり、
そういうフォーマットの変換機能も兼ねてるってことなのかな
MSDNのLockBitsの解説にはそんなこと書いてないけど。
不細工な設計だねw
249デフォルトの名無しさん (ササクッテロル Sp1f-g4wS)
2018/10/25(木) 21:41:33.94ID:JIQ6DfsAp250デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/25(木) 22:26:50.74ID:n3Rz+F82a >>248
フォーマットの変換機能は別に持たせた方がスマートでしょ
(現にCloneでできるみたいだし)
少なくともLockBitsにPixelFormatを引数にとらないバージョンがあってしかるべき。
GDI+はやっつけで作ったのかこういう不条理な実装他でも見た記憶があるなあ
フォーマットの変換機能は別に持たせた方がスマートでしょ
(現にCloneでできるみたいだし)
少なくともLockBitsにPixelFormatを引数にとらないバージョンがあってしかるべき。
GDI+はやっつけで作ったのかこういう不条理な実装他でも見た記憶があるなあ
251デフォルトの名無しさん (ワッチョイ c7a1-JHIh)
2018/10/25(木) 22:33:36.48ID:mF3BZxvh0 GDI+は処理の遅さが致命的
252デフォルトの名無しさん (ササクッテロル Sp1f-g4wS)
2018/10/25(木) 23:29:37.31ID:JIQ6DfsAp >>250
ソース元のフォーマットに制限されず指定のフォーマットで読み書きできた方が普通に便利でしょ
別のビットマップが欲しいわけじゃないのにCloneを仲介する方が意味わからん
(LockBits自体は自動的に複製を作るようなもんだけどね)
ソース元のフォーマットに制限されず指定のフォーマットで読み書きできた方が普通に便利でしょ
別のビットマップが欲しいわけじゃないのにCloneを仲介する方が意味わからん
(LockBits自体は自動的に複製を作るようなもんだけどね)
253デフォルトの名無しさん (ワッチョイ 579b-42fi)
2018/10/25(木) 23:30:45.76ID:oh52xQKG0 cbo1のテキストと同じものを3行目の3列目から右に同じものを見つかるまで探し、見つかったセルから下へループし、「※」印がある場合のみ「※」印の行の1列目の氏名を配列に入れ、cbo2にADD。
注)入れる際に同一氏名がすでに配列にある場合除外。
これをやるために、closedxmlで書いて見ましたがちょっと処理が遅い。
コードの書き方的には右にforで最終列までループ処理→ifで一致
forで一致した列の最終行まで下へループ処理→ifで一致したら配列に詰め込む。
現在ここで重複排除のやり方が分からないのでとりあえず全て配列にいれてます。
どうやって、書くのが最善ですか?
https://i.imgur.com/hEMt9ir.jpg
注)入れる際に同一氏名がすでに配列にある場合除外。
これをやるために、closedxmlで書いて見ましたがちょっと処理が遅い。
コードの書き方的には右にforで最終列までループ処理→ifで一致
forで一致した列の最終行まで下へループ処理→ifで一致したら配列に詰め込む。
現在ここで重複排除のやり方が分からないのでとりあえず全て配列にいれてます。
どうやって、書くのが最善ですか?
https://i.imgur.com/hEMt9ir.jpg
254デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/26(金) 00:14:26.87ID:mydHUNdj0 >>253
格納するときに現在あるやつ全部とダブリチェックでいーじゃん
格納するときに現在あるやつ全部とダブリチェックでいーじゃん
255デフォルトの名無しさん (アウアウウー Sa1f-az0l)
2018/10/26(金) 00:36:10.18ID:pE8f1AMra >>253
低い抽象度でものを考えすぎている
お前がやりたいのはExcelの操作を自動することではなくて目的とする結果を得ることだろ?
まず要件を明確にし、それをそのままコードに落とすだけだ
カーソルだのセルだのは最後の最後に出てくるどうでもいい瑣末な部分だ
低い抽象度でものを考えすぎている
お前がやりたいのはExcelの操作を自動することではなくて目的とする結果を得ることだろ?
まず要件を明確にし、それをそのままコードに落とすだけだ
カーソルだのセルだのは最後の最後に出てくるどうでもいい瑣末な部分だ
256デフォルトの名無しさん (ワッチョイ a141-uqH6)
2018/10/27(土) 08:30:41.59ID:F8L6v78S0 複数の.csvファイルを一つの.xlsxファイルに簡単に纏められる?
257デフォルトの名無しさん (ブーイモ MMf3-DBFP)
2018/10/27(土) 08:55:21.44ID:BNqfM2zkM VBAでできることはC#でも全く同じ方法でできる
C#ではなく "VBA CSV 複数 結合" でググったら一発でサンプルは出てくる
そして "C# Excel 操作" でググって出てきたサンプルを真似してC#に機械的に書き直せ
それ以上細かいことはスレ違い
C#ではなく "VBA CSV 複数 結合" でググったら一発でサンプルは出てくる
そして "C# Excel 操作" でググって出てきたサンプルを真似してC#に機械的に書き直せ
それ以上細かいことはスレ違い
258デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/27(土) 09:14:14.56ID:if75aWaZ0 >>256
できる
できる
259デフォルトの名無しさん (ブーイモ MMbf-QYDm)
2018/10/27(土) 11:23:15.72ID:AkygrdAXM >>256
やればできる
やればできる
260デフォルトの名無しさん (オッペケ Sr59-uqH6)
2018/10/27(土) 15:22:42.49ID:GAIyH11Qr やれば出来るだろうが、手間は掛けられん。
簡単に出来るなら、ちょっと考えてみるかな。
ありがとう。
簡単に出来るなら、ちょっと考えてみるかな。
ありがとう。
261デフォルトの名無しさん (ワッチョイ 5b9f-3knh)
2018/10/27(土) 15:42:55.29ID:QwPOuwmq0262デフォルトの名無しさん (ワッチョイ 4fe3-4eGK)
2018/10/27(土) 15:57:45.83ID:if75aWaZ0 >>260
普通にc#からエクセルファイル操作できるから
普通にc#からエクセルファイル操作できるから
263デフォルトの名無しさん (アウアウウー Sa1f-DBFP)
2018/10/27(土) 15:58:58.91ID:ntx2HiKDa 便所掃除ができることをドヤ顔で言わなくてよろしい
264デフォルトの名無しさん (ワッチョイ cdeb-7TBo)
2018/10/27(土) 22:41:19.36ID:Qgr0BHqv0265デフォルトの名無しさん (ワッチョイ 35ad-JHIh)
2018/10/27(土) 23:31:57.17ID:/aRXu6mM0 VBEでC#書けたりするの?
266デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/27(土) 23:56:23.88ID:cqzal98J0 C#のクラスを考えるときにテストのことを考えるとさ
privateの関数や変数は持たない方が望ましいと聞いたんだがそこまで意識してプログラミングしてる?
役割を逸脱してる可能性が高いと言われてるのだがコード的にそうはさせない方法とかあるのだろうか
privateの関数や変数は持たない方が望ましいと聞いたんだがそこまで意識してプログラミングしてる?
役割を逸脱してる可能性が高いと言われてるのだがコード的にそうはさせない方法とかあるのだろうか
267デフォルトの名無しさん (ワッチョイ eb8a-o90R)
2018/10/28(日) 00:27:12.07ID:hf5/u8050 えなにそれ
publicな変数にしろってこと?
publicな変数にしろってこと?
268デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 01:01:32.10ID:sLs9tkqy0 >>267
全部パブリックにしろって話ではないと思うのだが、
クラスとしてちゃんと機能してるかをテストしやすくするものとして確認しやすいように設計をするようにと言われた
アクセッサを準備しろってことなのか
、protectedで作って継承してテストをしやすくしろってことなのかはわかってない
全部パブリックにしろって話ではないと思うのだが、
クラスとしてちゃんと機能してるかをテストしやすくするものとして確認しやすいように設計をするようにと言われた
アクセッサを準備しろってことなのか
、protectedで作って継承してテストをしやすくしろってことなのかはわかってない
269デフォルトの名無しさん (ワッチョイ 3bd2-2TN5)
2018/10/28(日) 01:01:48.04ID:z9u8vCUJ0 >>266
なにそのキチガイ発言
なにそのキチガイ発言
270デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 01:05:59.90ID:sLs9tkqy0 >>269
たぶん本質は内部所持して扱う変数を極力減らしましょうってことなんかなって思ってる
クラスを使うのにA・B・Cを事前に呼び出して内部変数の設定をしないと使えないですとかだと
バグのもととかになるから条件縛りを減らしましょうとかってことなんじゃないかと
たぶん本質は内部所持して扱う変数を極力減らしましょうってことなんかなって思ってる
クラスを使うのにA・B・Cを事前に呼び出して内部変数の設定をしないと使えないですとかだと
バグのもととかになるから条件縛りを減らしましょうとかってことなんじゃないかと
271デフォルトの名無しさん (ワッチョイ 4fe3-QYDm)
2018/10/28(日) 06:10:51.67ID:e0hkCJOP0 全部public staticにしろ
272デフォルトの名無しさん (ワッチョイ f7a5-Az/2)
2018/10/28(日) 08:05:20.34ID:3RT+wTpd0 日曜プログラマです
理屈に疎いので教えてください
Win32APIをマーシャリングしてプログラムを作成中なのですが
コールバックをデリゲートでやってるので
これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
このコールバックからの信号をトリガーにForm上のコントロールを触ると
「別スレッドからアクセスした」と怒られます
これを回避するために別のデリゲートを挟んでコントロールを触っていますが
これ以外に方法ないでしょうか?
デリゲート挟むと時々信号取りこぼすみたいで
上手くコントロールが反応しないことがあるんで改良したいのです
理屈に疎いので教えてください
Win32APIをマーシャリングしてプログラムを作成中なのですが
コールバックをデリゲートでやってるので
これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
このコールバックからの信号をトリガーにForm上のコントロールを触ると
「別スレッドからアクセスした」と怒られます
これを回避するために別のデリゲートを挟んでコントロールを触っていますが
これ以外に方法ないでしょうか?
デリゲート挟むと時々信号取りこぼすみたいで
上手くコントロールが反応しないことがあるんで改良したいのです
273デフォルトの名無しさん (ワッチョイ 81a5-E7Ae)
2018/10/28(日) 08:25:18.25ID:SibvNmKY0 どうでもいいけどココって本当に初心者用スレなのかね
274デフォルトの名無しさん (ワッチョイ ebd3-o90R)
2018/10/28(日) 08:56:08.45ID:kvhoQsiz0 >>272
> コールバックをデリゲートでやってるので
> これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
どこのなんのコールバックなのかこっちは知らんのだが
「別スレッドからアクセスした」と怒られるんならそうなんでそ
> これを回避するために別のデリゲートを挟んでコントロールを触っていますが
デリゲートを挟んでとあるけど、前提としてコントロールを触る処理はInvokeメソッドにちゃんと投げてる?
> コールバックをデリゲートでやってるので
> これは必然的にFormとは別のスレッド(マルチスレッド)という理解で正しいでしょうか?
どこのなんのコールバックなのかこっちは知らんのだが
「別スレッドからアクセスした」と怒られるんならそうなんでそ
> これを回避するために別のデリゲートを挟んでコントロールを触っていますが
デリゲートを挟んでとあるけど、前提としてコントロールを触る処理はInvokeメソッドにちゃんと投げてる?
275デフォルトの名無しさん (ワッチョイ bbb3-QdD5)
2018/10/28(日) 10:44:38.69ID:zjm6bfwn0 すみません、c#の初心者です。UnityでRPGを製作しているのですが、質問があります。
if (条件式1) {
条件式1が真の時のダメージ処理;
...;
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;
...;
これに、ダメージを999以下に抑えたいので<=999を入れたいのですが、どこに入れればいいのでしょうか?
簡単な質問で申し訳ありませんがよろしくお願いします。
if (条件式1) {
条件式1が真の時のダメージ処理;
...;
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;
...;
これに、ダメージを999以下に抑えたいので<=999を入れたいのですが、どこに入れればいいのでしょうか?
簡単な質問で申し訳ありませんがよろしくお願いします。
276デフォルトの名無しさん (ワッチョイ ff9a-wZW4)
2018/10/28(日) 10:51:17.84ID:JM6DGBKw0 >>275
ダメージ処理終わった最後
int dmg=0;
if (条件式1) {
条件式1が真の時のダメージ処理;dmg+=a;
...;
}
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;dmg+=b;
...;
}
dmg=dmg>999?999:dmg;//またはif (dmg>999) dmg=999;
ダメージ処理終わった最後
int dmg=0;
if (条件式1) {
条件式1が真の時のダメージ処理;dmg+=a;
...;
}
}else if(条件式2) {
条件式1が偽で条件式2が真の時のダメージ処理;dmg+=b;
...;
}
dmg=dmg>999?999:dmg;//またはif (dmg>999) dmg=999;
277デフォルトの名無しさん (ワッチョイ bbb3-QdD5)
2018/10/28(日) 10:59:20.84ID:zjm6bfwn0 >>276
早速のご回答ありがとうございます!やってみます!
早速のご回答ありがとうございます!やってみます!
278デフォルトの名無しさん (ワッチョイ bbb3-QdD5)
2018/10/28(日) 11:20:25.94ID:zjm6bfwn0 無事反映されました!ありがとうございます。
279デフォルトの名無しさん (ワッチョイ f7a5-Az/2)
2018/10/28(日) 11:48:33.54ID:3RT+wTpd0 >>274
Invokeメソッドに投げるとはこういうことでしょうか?
private void _TS()
{
TextShowDelegate dlgTS = new TextShowDelegate(TextShow);
IAsyncResult ar1 = BeginInvoke(dlgTS, null);
}
Tipsの寄せ集めでやってるので理屈はあまりよくわかってませんwww
Invokeメソッドに投げるとはこういうことでしょうか?
private void _TS()
{
TextShowDelegate dlgTS = new TextShowDelegate(TextShow);
IAsyncResult ar1 = BeginInvoke(dlgTS, null);
}
Tipsの寄せ集めでやってるので理屈はあまりよくわかってませんwww
280デフォルトの名無しさん (ワッチョイ 6bb8-3KA+)
2018/10/28(日) 11:54:36.96ID:Lzmpvi1g0281デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 13:12:56.47ID:sLs9tkqy0 >>271
クラス化してる意味がほぼ無さそう....
コンストラクタで引数渡してメンバ変数にデータを覚えさせて使うのと
ことあるごとに内部関数の引数にデータを渡すのってどちらのが良いのだろう?
影響範囲とか小さくすることを考えると後者なのかなって思うけども
クラス化してる意味がほぼ無さそう....
コンストラクタで引数渡してメンバ変数にデータを覚えさせて使うのと
ことあるごとに内部関数の引数にデータを渡すのってどちらのが良いのだろう?
影響範囲とか小さくすることを考えると後者なのかなって思うけども
282デフォルトの名無しさん (ワッチョイ 8f9f-cwcA)
2018/10/28(日) 16:02:02.80ID:gvAysy2V0 >>281
あるメソッドで使うからコンストラクタで渡すって考え方自体おかしいかな
メンバはそのクラスが持つ必要があるから持っているわけでメソッドで使うから持っている訳では無い
例えば体クラスでBMIを計算するときは体重、身長は体情報だからクラスのメンバで持たせる
身長クラスでBMI計算するときは身長はメンバで持って体重はメソッドの引数で渡す
あるメソッドで使うからコンストラクタで渡すって考え方自体おかしいかな
メンバはそのクラスが持つ必要があるから持っているわけでメソッドで使うから持っている訳では無い
例えば体クラスでBMIを計算するときは体重、身長は体情報だからクラスのメンバで持たせる
身長クラスでBMI計算するときは身長はメンバで持って体重はメソッドの引数で渡す
283デフォルトの名無しさん (ワッチョイ 8b8a-cxcD)
2018/10/28(日) 17:25:54.20ID:sLs9tkqy0284デフォルトの名無しさん (ブーイモ MM5b-DBFP)
2018/10/28(日) 17:38:11.82ID:ISWax1KhM 何か正しいかはユースケース次第
クラス単独での設計の正解なんか存在しない
クラス単独での設計の正解なんか存在しない
285デフォルトの名無しさん (ワッチョイ c92b-7TBo)
2018/10/28(日) 18:47:58.26ID:VnMv7Anc0 身長クラスではなくBMI計算機クラスがいいのかな
286デフォルトの名無しさん (ワッチョイ 3b76-7TBo)
2018/10/28(日) 20:53:14.99ID:c1Io2A4L0 >>279
https://qiita.com/mounntainn/items/8a2b4f1cf47bd02657f3
自分は上のに近いのでやってる
InvokeRequiedで判定してスレッドセーフにするのが定石みたいだね
https://qiita.com/mounntainn/items/8a2b4f1cf47bd02657f3
自分は上のに近いのでやってる
InvokeRequiedで判定してスレッドセーフにするのが定石みたいだね
287デフォルトの名無しさん (ワッチョイ 05a5-Az/2)
2018/10/29(月) 11:51:55.81ID:IQ5w1AIM0288デフォルトの名無しさん (ワッチョイ 5781-dYvX)
2018/10/29(月) 13:34:23.83ID:09l7CDuO0 C#ではnumpy.randomみたいにSeed値を指定するようなことってできるんでしょうか?
289デフォルトの名無しさん (ブーイモ MM5b-DBFP)
2018/10/29(月) 13:36:55.22ID:f3zS/OjjM できる
290デフォルトの名無しさん (スップ Sd37-eYkk)
2018/10/29(月) 14:41:55.61ID:xwSUZkbbd とても初歩的な質問なんですが
protected AbBb _abbb;
こんな感じのプログラムってなんていいますか?
protected AbBb _abbb;
こんな感じのプログラムってなんていいますか?
291デフォルトの名無しさん (ブーイモ MM5b-DBFP)
2018/10/29(月) 14:44:34.42ID:f3zS/OjjM クソコードというんじゃない?
フィールドをprotectedにしているプログラムはC#では一般的にはそう呼ばれる
フィールドをprotectedにしているプログラムはC#では一般的にはそう呼ばれる
292デフォルトの名無しさん (スップ Sd37-eYkk)
2018/10/29(月) 14:47:11.97ID:xwSUZkbbd >>291
なんていうか、_と書くことで別のところから持ってこれるようになる方法のことです
なんていうか、_と書くことで別のところから持ってこれるようになる方法のことです
293デフォルトの名無しさん (ワッチョイ d323-4x81)
2018/10/29(月) 14:52:04.17ID:oAZGLoeZ0 _から始まろうがそうでなかろうがC#では普通の識別子であって言語的に意味の違いはない
メタ的に意味はあるかもしれんがそれは文脈次第
なのでもうちょっと文脈を示してもらわないと意味分らん
メタ的に意味はあるかもしれんがそれは文脈次第
なのでもうちょっと文脈を示してもらわないと意味分らん
294デフォルトの名無しさん (ワッチョイ d3eb-o1DS)
2018/10/29(月) 14:52:15.80ID:ZsrJ9icq0 >>292
DIっていうんだよ
DIっていうんだよ
295デフォルトの名無しさん (ワッチョイ c9c3-9OwH)
2018/10/29(月) 20:42:23.22ID:1yFXm6Bf0 >>294
初心者相手なんだから略してない名称も書いてあげたら
初心者相手なんだから略してない名称も書いてあげたら
296デフォルトの名無しさん (ワッチョイ 57e8-7TBo)
2018/10/30(火) 17:44:38.38ID:Vdu6vWjQ0 C#で組込み系ってできるの?
297デフォルトの名無しさん (オイコラミネオ MM09-phox)
2018/10/30(火) 17:54:37.52ID:HzRny5oEM 最近は可能だが案件はなさげ
デバイスは限られるが自作なら余裕
デバイスは限られるが自作なら余裕
298デフォルトの名無しさん (ワッチョイ 57e8-7TBo)
2018/10/30(火) 17:59:29.99ID:Vdu6vWjQ0299デフォルトの名無しさん (ブーイモ MMbf-DBFP)
2018/10/30(火) 18:45:34.87ID:E+8/TrgCM C#で実務の組み込みって制御系だろ?
変なプロトコルで機器と通信する必要があるだけで、普通のWinPCだぞ
変なプロトコルで機器と通信する必要があるだけで、普通のWinPCだぞ
300デフォルトの名無しさん (アウアウウー Sa5d-SHeU)
2018/10/30(火) 19:37:58.29ID:cJDinX9aa ググったら.NET Micro Frameworkってのがあるらしい
どのくらい使われているかは知らん
どのくらい使われているかは知らん
301デフォルトの名無しさん (オイコラミネオ MM09-phox)
2018/10/30(火) 20:17:27.88ID:HzRny5oEM ラズパイにwindows IOT入れてUWPで作ったり unityからUWP吐くとかもできるぽよ
従来の組み込みの世界とは別物だろけど
沼っぽいけど実績になれば
キャリア的には面白いと思う
従来の組み込みの世界とは別物だろけど
沼っぽいけど実績になれば
キャリア的には面白いと思う
302デフォルトの名無しさん (ワッチョイ 9f06-eYkk)
2018/10/31(水) 02:11:45.22ID:90i4Cfzn0 c#って何から覚えてけばいいのだろう?
今の知識としては、インスタンス化は何かnewする奴だっけ? 的なレベル、何というか世界が広大すぎるしネットで調べてもサイトは何書いてんのか分からないし……わりぃ、やっぱつれぇわ
今の知識としては、インスタンス化は何かnewする奴だっけ? 的なレベル、何というか世界が広大すぎるしネットで調べてもサイトは何書いてんのか分からないし……わりぃ、やっぱつれぇわ
303デフォルトの名無しさん (ワッチョイ ff81-42fi)
2018/10/31(水) 02:34:46.39ID:YeNkIpaX0 作りたいものを作る
その過程で必要なものだけを調べる
道具の使い方だけ勉強しても意味がない
道具は使うためにある
その過程で必要なものだけを調べる
道具の使い方だけ勉強しても意味がない
道具は使うためにある
304デフォルトの名無しさん (ワッチョイ e3d2-8L5D)
2018/10/31(水) 03:38:24.10ID:OyhA4eFa0305デフォルトの名無しさん (ワンミングク MM3b-E7Ae)
2018/10/31(水) 06:18:25.29ID:AV1WSlFbM そのうち道具を使う為の道具を作り始める
負の遺産が溜まっていく
負の遺産が溜まっていく
306デフォルトの名無しさん (ワッチョイ e3d2-pP8n)
2018/10/31(水) 06:49:24.56ID:nRECWsn80 ラムダ式というのがよくわからないので教えてください
読んでる入門書に例えば普通のメソッドで
int add(int n){return n+2};
とあればラムダ式なら
n=>n+2;と書けるとあるのですがどうやって使えばいいのか?が書かれていません
どのように使えば良いのでしょうか?何が便利になってるのかも?です。
読んでる入門書に例えば普通のメソッドで
int add(int n){return n+2};
とあればラムダ式なら
n=>n+2;と書けるとあるのですがどうやって使えばいいのか?が書かれていません
どのように使えば良いのでしょうか?何が便利になってるのかも?です。
307デフォルトの名無しさん (ドコグロ MMcf-YAQH)
2018/10/31(水) 07:13:16.37ID:QxiZIYdtM >>306
なんか色々説明が必要な時点でもうあんまよくない臭いしてるだろ?
なんか色々説明が必要な時点でもうあんまよくない臭いしてるだろ?
308デフォルトの名無しさん (ワッチョイ e393-phox)
2018/10/31(水) 07:29:35.90ID:xX3V2hUr0 間に合わせの説明として利便性をいうと
わざわざ関数addを明示的に作らなくてもその場で関数を作れる=関数名もつけるまでもない匿名関数として便利
ついでに引数と戻り値の型も省略できるからLINQの述語やプロパティ値をシンプルに記述できる
あとMVCのrazorでもヘルパーへの引数に、プロパティ値ではなくプロパティを渡すのに使われたり
わざわざ関数addを明示的に作らなくてもその場で関数を作れる=関数名もつけるまでもない匿名関数として便利
ついでに引数と戻り値の型も省略できるからLINQの述語やプロパティ値をシンプルに記述できる
あとMVCのrazorでもヘルパーへの引数に、プロパティ値ではなくプロパティを渡すのに使われたり
309デフォルトの名無しさん (ワッチョイ ebd3-o90R)
2018/10/31(水) 07:57:27.30ID:AQSs4bkC0 >>306
書く方も別の場所にいちいち関数定義しなくて良い
読む方もそこに処理の内容が書いてあった方が良い
…とも一概に言えない場面は多いので、自分がコーディングしてて
脳が「ここラムダ式で書きたい」と自然に出てくるまでは封印しててもええんやで
void Do() {
int buffer = {1,2,3,4,5};
var q1 = buffer.Where(Even).Select(Plus2);
var q2 = buffer.Where(x => x % 2 == 0).Select(x => x + 2); // q1とやってることは同じ
}
bool Even(int x) { return x % 2 == 0; }
int Plus2(int x) { return x + 2; }
書く方も別の場所にいちいち関数定義しなくて良い
読む方もそこに処理の内容が書いてあった方が良い
…とも一概に言えない場面は多いので、自分がコーディングしてて
脳が「ここラムダ式で書きたい」と自然に出てくるまでは封印しててもええんやで
void Do() {
int buffer = {1,2,3,4,5};
var q1 = buffer.Where(Even).Select(Plus2);
var q2 = buffer.Where(x => x % 2 == 0).Select(x => x + 2); // q1とやってることは同じ
}
bool Even(int x) { return x % 2 == 0; }
int Plus2(int x) { return x + 2; }
310デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/31(水) 12:29:27.76ID:NuHnUQr6a311デフォルトの名無しさん (ワッチョイ e3d2-o1DS)
2018/10/31(水) 17:27:52.66ID:nRECWsn80 >>310
すいません理解できてないです
というかまだ読んでる本で説明がなされていないようです…
この章を取り敢えず読み切った後また読み返せば理解できるってことですね
LINQとラムダ式?とやらを使わずにメソッド使えばいいやって認識だとこの先苦労しますか?
回答くださった方ありがとうございます
すいません理解できてないです
というかまだ読んでる本で説明がなされていないようです…
この章を取り敢えず読み切った後また読み返せば理解できるってことですね
LINQとラムダ式?とやらを使わずにメソッド使えばいいやって認識だとこの先苦労しますか?
回答くださった方ありがとうございます
312デフォルトの名無しさん (オイコラミネオ MM09-phox)
2018/10/31(水) 17:53:59.42ID:kfZUY5yUM ちょうど600ページのよさげな本が出たぞ
313デフォルトの名無しさん (アウアウエー Sa93-hBDZ)
2018/10/31(水) 18:24:52.71ID:NuHnUQr6a >>311
LINQはともかく、ラムダ式は必須の知識でしょうね。
少なくとも使えるとコードの書き方に大きな差が出るのは間違いない
ただ、デリゲート自体が初心者には理解しづらい概念とも思うので
よく分からない場合は固執せず後回しにした方がいいかもしれないね
本質的にはそんなに難しい話じゃないから、最初分からなくても時間が解決するはず
LINQはともかく、ラムダ式は必須の知識でしょうね。
少なくとも使えるとコードの書き方に大きな差が出るのは間違いない
ただ、デリゲート自体が初心者には理解しづらい概念とも思うので
よく分からない場合は固執せず後回しにした方がいいかもしれないね
本質的にはそんなに難しい話じゃないから、最初分からなくても時間が解決するはず
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【熊本】園児に強制性交か 保育所勤務の男を逮捕「性的な欲望が我慢できなかった」警察は余罪を調べる [七波羅探題★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★]
- 堀江貴文、キャッシュレス非対応の店にモヤッ 『PayPay』立ち上げの人物にまさかの直談判「現金決済しかできないんだけど…」 [冬月記者★]
- 【サッカー】上田綺世の活躍は「一過性」 15戦18発も…オランダ英雄は懐疑的な姿勢「確信に至っていない」 [ゴアマガラ★]
- 【おこめ券】鈴木農相 米価維持の意図「一切ない」★3 [ぐれ★]
- 【サッカー】元日本代表DF冨安がオランダ1部アヤックスと大筋合意か 現地メディア報じる [久太郎★]
- 中国の日本向けレアアースの輸出止まる、高市のせいで日本終了のお知らせ [931948549]
- 現役JKのお茶会スレ( ¨̮ )︎︎𖠚ᐝ180
- 韓国政府、高市早苗の「竹島領土」発言にブチギレwwwwwwwwwwwwwwww [834922174]
- 🏡
- 高市早苗「竹島は日本領土」 [834922174]
- 【画像】小泉防衛大臣の頭皮、存立危機に認定 [834922174]
