1 名前:デフォルトの名無しさん mailto:sage [2020/05/27(水) 20:28:41.27 ID:Pggemlyq0.net] !extend:checked:vvvvv:1000:512 次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為) 「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。 他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、 ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。 内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。 なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。 C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください >>980 を踏んだ人は新スレを建てて下さい。>>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 ■前スレ ふらっと C#,C♯,C#(初心者用) Part147 mevius.5ch.net/test/read.cgi/tech/1582100741/ ■関連スレ C#, C♯, C#相談室 Part94 mevius.5ch.net/test/read.cgi/tech/1553075856/ ■コードを貼る場合は↓を使いましょう。 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/ ・Insider.NET > .NET TIPS - @IT https://www.atmarkit.co.jp/ait/subtop/features/dotnet/dotnettips_index.html ・DOBON.NET .NET Tips https://dobon.net/vb/dotnet/index.html VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
247 名前:デフォルトの名無しさん mailto:sage [2020/08/02(日) 07:27:09.21 ID:EizALxAu0.net] >>243 相手が端末の電源オフのときはどうしたいの? サーバーの特定のデータを見に行く作りにしないと結局使えないじゃんってなることのが多かったよ
248 名前:デフォルトの名無しさん [2020/08/02(日) 12:52:22.51 ID:scrCUlqp0.net] データクラスって一時期C#にも付くんじゃないかって言われてたのに、一体どうなったの? https://try.kotlinlang.org/#/Kotlin%20Koans/Introduction/Data%20classes/Task.kt オートプロパティのおかげでJavaみたくはならないから要らないってこと?
249 名前:デフォルトの名無しさん mailto:sage [2020/08/02(日) 13:54:59.45 ID:xaz7GC4v0.net] 9でrecordくるよ
250 名前:デフォルトの名無しさん mailto:sage [2020/08/02(日) 14:51:37.50 ID:umITGI3r0.net] https://ufcpp.net/blog/2020/6/record0609/ https://ufcpp.net/blog/2020/6/cs9vs16_7p3/ recordsはこんな感じ
251 名前:デフォルトの名無しさん [2020/08/02(日) 16:20:00.33 ID:NsDY9jGSF.net] ここはプログラムを描きたい人造りたい人向けのスレ フリーソフトダウンロードして使いたい人は相応のスレへ逝くことをお薦めします
252 名前:デフォルトの名無しさん mailto:sage [2020/09/03(木) 22:01:35.41 ID:RMVHFRAl0.net] public interface Ixxxxx { int method1(int x); } インターフェイスについて質問です。 上ではメソッドの型を定義しているわけですが、 インターフェースの引数定義で、xのように変数を設定するのはどうしてなんでしょうか。 ここでは使われない変数なので、型のみで良いと思うのですが。 それから、publicを省略して、interfaceとだけ定義する理由はどうしてなのでしょうか。 classなら、publicを前置するのに。
253 名前:デフォルトの名無しさん mailto:sage [2020/09/03(木) 22:10:50.18 ID:RMVHFRAl0.net] ルート相対的URLを保存するクラスは何が適しているんでしょうか。 String型に、/root/abc/def を文字列として保存しているのですが、 適切な型があれば教えてください。
254 名前:デフォルトの名無しさん mailto:sage [2020/09/03(木) 23:38:56.88 ID:FEiIVBqsM.net] >>249 名前がないと何を意味する引数なのかが意味不明だから interfaceはpublicメンバしか持てないから
255 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 00:15:18.15 ID:yQcUkcYq0.net] 引数名ないとドキュメント化する時にも困るしね
256 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 11:28:01.48 ID:M8Oq5rfA0.net] >>249 引数や戻り値の型をしっかり定義しないといけない理由は、ILやアセンブリといった低レベル知識を学習すればよく分かるよ 機械語レベルだとint、long、float、double〜etcはそれぞれ命令文が違う だから引数や戻り値がバラバラな値型だとそれぞれの機械語を生成しなきゃならず共用化出来ない 逆に言うと参照型であればポインタだけで済むので実は共用化が出来る なので参照型であればobjectとして定義をすれば実際に共用化可能(値型もboxingしてobject型にすれば同様)
257 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 11:39:06.89 ID:krKESdlN0.net] 型のみで十分なのになん変数名まで書かなきゃならんの?って質問にその回答は適切ですか?
258 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 12:06:19.79 ID:yQcUkcYq0.net] >>253 その回答はズレてる
259 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 12:46:23.59 ID:YyY7xdI50.net] >>251 >>252 レスありがとうございます。 なるほど、 変数名に引数の役割について記録しておくということにとても納得しました。 ソースの自己ドキュメント化につながりますものね。 >>253-255 レスありがとうございます。(^-^)
260 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 13:31:45.96 ID:Cdgw0eXGM.net] インターフェイスメンバに引数名が必要なのは名前付き引数のためでもある 名前付き引数ってのはmethod1(x:123)みたいな書き方のこと 正確には名前付き引数がC#に導入されたのは比較的最近なので時系列が逆なんだけど、 .NETはC#に限らずいろんな言語を動かすことを想定して設計されてるので名前付き引数のための要請についても元々考慮されてたというわけ
261 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 14:23:19.04 ID:Utz5OTUqa.net] >>257 下のコードは合法なのでさすがにそれは意味不明 interface IHoge { void Fuga(int x); } class Hoge : IHoge { public void Fuga(int y) { } }
262 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 14:29:57.19 ID:G2vvVEFn0.net] 引数名を変更するのってどういったケースを想定してるん?
263 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 14:34:15.41 ID:Utz5OTUqa.net] 別に想定なんかしてないのでは? 単に違法にする理由がないだけかと
264 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 17:36:23.03 ID:nh9T8LFU0.net] >>258 IHoge hoge = new Hoge(); hoge.Fuga(x: 100); //<= OK hoge.Fuga(y: 100); //<= NG: compile error
265 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 18:29:28.50 ID:Utz5OTUqa.net] >>261 当たり前やんw
266 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 19:19:04.36 ID:Utz5OTUqa.net] あーインターフェイスのメソッドの仮引数が名無し定義を許す仕様になってたら 名前付きで呼び出せないよって言いたいわけか 確かにその通りだね。 だけど「名無し定義を許さない理由の一つは名前付き引数を想定していたから」は考えすぎじゃないのかな
267 名前:デフォルトの名無しさん (テテンテンテン MM8f-wKT+) mailto:sage [2020/09/04(金) 19:51:37 ID:Cdgw0eXGM.net] いや名前付き引数はVB.NETには昔からあったぞ 想定していないわけがない
268 名前:デフォルトの名無しさん mailto:sage [2020/09/04(金) 20:31:43.96 ID:nqNO8CQ40.net] そもそもコンパイルしても変数名はILに残るわけだし C#1からたぶんそうだよね?reflectionあるんだし
269 名前:デフォルトの名無しさん (アウアウウー Sa8b-wKT+) mailto:sage [2020/09/05(土) 10:58:29 ID:JiWof8twa.net] >>265 それはもちろんその通りで、名前付き引数も当然そのメタ情報を見るわけだけど、 MSが仮に明確な意思をもってインターフェイスメンバに引数名は絶対要らないという設計判断をしたならCLIもインターフェイスメンバには例外的に引数名を持てない仕様にしただろう CLIの設計としてはわざわざそんな例外を設けるのは不自然だし、C#の言語仕様を考えてもインターフェイスメンバだけ例外的にメソッド宣言の文法が違うのは不自然だ もちろん、実装には追加コストを払って特別なケアが必要になるだろう そこまでして引数名を省略したいだろうか?ということだね
270 名前:デフォルトの名無しさん mailto:sage [2020/09/05(土) 12:34:52.95 ID:Waja5Z+Na.net] 実行時に小さくないコストが発生するような方法なんて取るわけないと思うよw メタ情報なんて見てるわけないじゃんwww
271 名前:デフォルトの名無しさん mailto:sage [2020/09/05(土) 13:22:53.11 ID:azagYl6mp.net] 家政婦はメタ
272 名前:デフォルトの名無しさん mailto:sage [2020/09/05(土) 13:51:42.86 ID:6OTXYwA0M.net] >>267 誰が実行時に見てるなんて言ったんだ? 見てるのはコンパイル時
273 名前:デフォルトの名無しさん mailto:sage [2020/09/05(土) 14:12:24.58 ID:RVsSclOOM.net] 2日連続して秒で論破されとるやつw
274 名前:デフォルトの名無しさん mailto:sage [2020/09/05(土) 16:47:07.35 ID:aivXeFh8d.net] >>270 スレタイの通り初心者なんやろ
275 名前:デフォルトの名無しさん mailto:sage [2020/09/05(土) 18:29:01.06 ID:Waja5Z+Na.net] >>266 は誤読したけど前日に論破(笑)なんかされた覚えはないよw 言い訳をさせてもらえばそもそも>>265-266 は話の意図が不明瞭。 どっからそんな話が出てくる
276 名前:のって話 [] [ここ壊れてます]
277 名前:デフォルトの名無しさん mailto:sage [2020/09/05(土) 22:38:11.37 ID:VnlHSptc0.net] インターフェースの引数名を省略する戦略なんかないって結論出てるのにね
278 名前:デフォルトの名無しさん mailto:sage [2020/09/06(日) 08:18:43.19 ID:gGwX7R3F0.net] >>273 そこの理由が示されていないんでは? 名前付き引数を使えるようにしたんで仮引数は省略できません、じゃ理由になってないでしょ?
279 名前:デフォルトの名無しさん [2020/09/06(日) 14:33:55.32 ID:pKWvrGW4F.net] 省略するとき hoge(hage,,,,,fuga,,,,kuzu,,,) みたいな言語あったなー
280 名前:デフォルトの名無しさん [2020/09/07(月) 02:57:30.38 ID:u0REhpNo0.net] using var task = Task.Run(() => Do(a, b, c)); このDoを途中で止めることできる? Doの処理に時間がかかるためキャンセルさせたい場合がある
281 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 03:10:56.80 ID:3uGG3SyO0.net] CancellationTokenを使う https://docs.microsoft.com/en-us/dotnet/standard/parallel-programming/how-to-cancel-a-task-and-its-children
282 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 03:25:16.17 ID:jjIciKyq0.net] Doがキャンセルできるように作られてればできる そうでなければ無理
283 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 09:29:51.53 ID:s6/MEWpq0.net] a,b,cってなによ?
284 名前:デフォルトの名無しさん mailto:sage [2020/09/07(月) 10:42:48.10 ID:Mci5uexUM.net] 引数じゃないの?
285 名前:デフォルトの名無しさん [2020/09/07(月) 16:30:38.13 ID:u0REhpNo0.net] Doの改造も不可避みたいですね ありがとうございました
286 名前:デフォルトの名無しさん mailto:sage [2020/09/08(火) 11:07:55.61 ID:zCzZAqaJv] C#歴1ヶ月の独学勉強中の者です。 pictureBoxに画像を表示させており、 ボタンを押下するとその画像が画像中心を支点に5度ずつ 反時計回りに回転するプログラムを作成しています。 環境:VScommunity2019 この際pictureBoxに表示させている画像が表示されたまま その上に回転した画像も表示されてしまいます。 元の画像を表示させないようにしたいのですが、 対応案が浮かびません。。ご教示いただけないでしょうか。
287 名前:デフォルトの名無しさん mailto:sage [2020/09/11(金) 09:13:51.86 ID:rDZLwTxXa.net] VisualC#2019パーフェクトマスター 買ってみた 800ページ近くある 勉強しなおし Java有償化で、いろいろ特需だな Javaよサラバ Javaよサラバ Why なぜに生きているのか わからない
288 名前:デフォルトの名無しさん [2020/09/11(金) 10:05:52.91 ID:qxFjIo0zM.net] Java有償本当か?
289 名前:デフォルトの名無しさん mailto:sage [2020/09/11(金) 16:12:44.77 ID:rDZLwTxXa.net] 優勝だ
290 名前:デフォルトの名無しさん [2020/09/23(水) 09:34:34.80 ID:hJkRvCZvF.net] >>1 Part 149
291 名前:デフォルトの名無しさん mailto:sage [2020/09/23(水) 19:49:30.91 ID:SeN5l4G8a.net] 需要ないと思うけど暇だったので別スレで質問が出てたキー操作のシーケンスで発動する キーボドショートカットを作ってみた https://ideone.com/FcOn5C 使い方: public partial class Form1 : Form { private KeyboardShortcutsDetector mKbsDetector = new KeyboardShortcutsDetector(); public Form1() { InitializeComponent(); mKbsDetector.AddKeyBinding(Keys.Control | Keys.K, Keys.Control | Keys.L, () => Console.WriteLine("Ctrl + K, L")); mKbsDetector.AddKeyBinding(Keys.Control | Keys.K, Keys.Control | Keys.M, () => Console.WriteLine("Ctrl + K, M")); mKbsDetector.AddKeyBinding(Keys.Control | Keys.J, Keys.Control | Keys.U, () => Console.WriteLine("Ctrl + J, U")); } protected override bool ProcessCmdKey(ref Message msg, Keys keyData) { return mKbsDetector.ProcessKey(keyData) ? true : base.ProcessCmdKey(ref msg, keyData); } } 退屈なコードだからたぶん見るだけ時間の無駄だと思うw
292 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 00:24:56.04 ID:GbsAQP4b0.net] MVCとかまだイマイチわからんからwinformで作ってからMVCに移行する感じで勉強してるけど一人開発だと有り難み感じないからちょっと空しい
293 名前:デフォルトの名無しさん [2020/09/24(木) 12:42:20.92 ID:gbWGo5W3M.net] ボタン押したあとに結果リストにフォーカス移動させるのは viewでやってええのか?
294 名前:デフォルトの名無しさん mailto:sage [2020/09/24(木) 16:36:22.54 ID:e+Ck+96a0.net] いいと思うよ
295 名前:デフォルトの名無しさん mailto:sage [2020/09/26(土) 17:13:06.01 ID:xSRIB2Tf0.net] windowsフォームアプリでHttpClientを使ってhtmlを取得しようと思っていますがうまくいきません。ステップ実行すると※の部分で処理が終わってしまいます。エラーに関する表示が何もでないため行き詰まってます。非同期処理に関する理解が浅いからだと思っていますが、壁を乗り越えられません。 このようなコードではなぜうまくいかないのでしょうか? @ private void button1_Click(object sender, EventArgs e) { var url = "www.google.com"; var t = GetHtml(url); t.Wait(); this.textBox1.Text = t.Result; } async Task<string> GetHtml(string url) { var client = new HttpClient(); var html = await client.GetStringAsync(url);//←※ return html; } (続く)
296 名前:デフォルトの名無しさん [2020/09/26(土) 17:13:28.26 ID:xSRIB2Tf0.net] >>291 の続き ためしにコンソールアプリで似たコードを書いてみましたがうまくいきます。 A static void Main(string[] args) { var url = "www.google.com"; var t = GetHtml(url); t.Wait(); Console.WriteLine(t.Result); } static async Task<string> GetHtml(string url) { var client = new HttpClient(); var html = await client.GetStringAsync(url); return html; } フォームアプリでもハンドラに全て突っ込めばうまくいきます。 B private async void button1_Click(object sender, EventArgs e) { var url = "www.google.com"; var client = new HttpClient(); var html = await client.GetStringAsync(url); this.textBox1.Text = html; }
297 名前:デフォルトの名無しさん mailto:sage [2020/09/26(土) 17:23:29.59 ID:RSACZQL60.net] >>291 private async void button1_Click( object sender, EventArgs e ) { var url = "www.google.com"; this.textBox1.Text = await GetHtml( url ); }
298 名前:デフォルトの名無しさん mailto:sage [2020/09/26(土) 17:27:53.86 ID:9d7CJAWD0.net] asyncはwaitしちゃだめ 理由は async デッドロック あたりでググって
299 名前:デフォルトの名無しさん mailto:sage [2020/09/26(土) 17:31:36.79 ID:+0bWtyAMM.net] >>291 どうしてもWait()使う場合はConfigureAwait(false)するかな
300 名前:デフォルトの名無しさん mailto:sage [2020/09/26(土) 17:36:48.45 ID:xSRIB2Tf0.net] >>293 ,294,295 数日間悩んでたのですが、教えて下さったキーワードを手がかりに調べ直してみます 本当に助かりました。ありがとうございます。
301 名前:デフォルトの名無しさん mailto:sage [2020/09/27(日) 04:46:18.27 ID:6sIZ9RBB0.net] Android, Electron などは、スレッドが2つある。 UI(描画)スレッドと、サーバー(バックグラウンド)スレッド だから、2つのコンテキスト・文脈をまたがって、非同期などはできない。 異なる文脈の処理を呼び出すには、文脈を切り替えるような、特別な書き方がある まあ、Windows のGUIアプリが、2つの文脈でやっているかどうかは知らないけど
302 名前:デフォルトの名無しさん mailto:sage [2020/09/27(日) 07:46:38.96 ID:WpoxB1nK0.net] >>297 知らんのかよ。 やってるけど。
303 名前:デフォルトの名無しさん mailto:sage [2020/09/27(日) 16:39:54.69 ID:BMd/NSoW0.net] >>291 多分非同期処理って調べるとasyncの例ばかりで自分で戻り制御する方法がよく 分からなくてTaskクラスでWaitすれば出来るとかって結論に達したんでないかと 思うのだけど・・・ まず、async指定されたメソッドは呼び出されるとメソッド全体を別スレッドとして 起動して処理を元のスレッド(この場合STAスレッド)に戻します asyncメソッドの中でawaitを指定すると、メソッドの内容に関係なく元のスレッドに 戻るのは変わらないですが、asyncメソッドの中でawaitで指定されたメソッドが 終了するまでasyncメソッドのスレッドだけが待ち状態になり、awaitから返って くるとawait以降を実行しasyncメソッドの最後まで行くとasyncメソッドのスレッド だけが終了されます 検証してないので予想なのですが、Taskクラスで管理するスレッドを起動して いない(Task.Run)状態でWaitをかけるとSTAスレッドを待つためにsleepして しまいますがSTAスレッドはループスレッドなので当然いつまで待っても終了 しません asyncスレッドではawaitの処理が終わって復帰しようとしても元になるSTA スレッドがsleep状態なので、こちらもawaitから返ってこないみたいなことが 起こっているのだと思います 2のコンソールアプリの場合にはループスレッドではないのでMainの処理が 終了した時点で続きが動くのではないかと 3は正しい使い方で、STAスレッドは動かしたままbutton1_Clickメソッドが別スレッドで 動作する際にclient.GetStringAsyncの処理を待っているので普通に動作します button1_Clickの中で待つのであればasyncメソッドを作る意味がないですし、async メソッドで裏で動かすのであればbutton1_Clickで待ってはいけないので3の様な 形で実装するか、asyncメソッドの返却値をただのstringにして、textBox1.Textに メソッドの返却値が入る形式に変える(こっちは試してないので嘘かも)のが正解じゃ ないかな
304 名前:デフォルトの名無しさん mailto:sage [2020/09/27(日) 18:04:42.91 ID:co99WLAO0.net] つまり非同期すればハゲるということですね。
305 名前:デフォルトの名無しさん mailto:sage [2020/09/27(日) 19:27:47.55 ID:0F2CG6otd.net] >>291 @でやるなら自分はcontinuewithするかなあ あとhttpclientは毎回使い回すのはあまり良くなかった気がする
306 名前:デフォルトの名無しさん mailto:sage [2020/09/27(日) 19:28:51.84 ID:0F2CG6otd.net] >>301 x使い回す ○作り直す
307 名前:296 mailto:sage [2020/09/28(月) 02:24:40.60 ID:QIpyCS2B0.net] JavaScript が難しいのは、非同期が基本だから。 コンテキスト・文脈が異なる。 時間の進み方が異なる世界で、同期を取らないといけないから Ruby が簡単なのは、同期が基本だから。 非同期の方がオプション Android, Electron がややこしいのも、2つの文脈の同期を取る必要があるから。 1つのアプリ内に、GUI・非GUI の文脈がある 例えば、Electronなら、Main は、Node.js のCUI スレッドで、 Renderer は、GUI のChromium スレッド 双方は、決められた書き方をしないと、同期・通信できない
308 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 06:18:20.07 ID:ii9XSMYC0.net] >>291 です >>297 コンテキスト・文脈という概念がまだ把握できてないのでそこが課題だと思ってます >>299 自分は独習C#という本をテキストにして勉強しています。 その中で、>>292 のAと似たコードが記載されていて、 これを使ってasync/awaitの基礎が説明されています。 そこで、フォームアプリで真似してみたんです。 デッドロックについてはいろいろ調べてみて基本的な理屈は理解できました。 ただ、Aのコンソールアプリでデッドロックが起きない理由がわかりません。 コンソールアプリはループスレッドではないからとのご指摘が重要だと思っていますが まだ理解が浅くてモヤモヤしてます。 あと、 >まず、async指定されたメソッドは呼び出されるとメソッド全体を別スレッドとして 起動して・・・ の下りですが、スレッドが3つあると考えればいいのでしょうか? a.STAスレッド(2のスレッドを呼び出したスレッド) b.async指定されたメソッドを処理するスレッド c.client.GetStringAsync(url)を処理するスレッド これはAのコンソールアプリでも同じですか? bについては独習C#には書かれていなかったので aとbは同じスレッドだと思い込んでいました。 調べてみてよく分かったのですが、理解できていない概念が多すぎますね。 今の時点で安易に触ってしまうと変に誤った先入観を持ってしまいそうです この辺をわかりやすくしっかり説明している書籍等、ご存じないでしょうか? 結論としては 基本的にフォームアプリの中でWaitを使うな 使いたいならConfigureAwait(false)で回避しろ ということなのかなと思っています
309 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 07:01:50.95 ID:ii9XSMYC0.net] >>304 修正 a.STAスレッド(bのスレッドを呼び出したスレッド)
310 名前:デフォルトの名無しさん mailto:age [2020/09/28(月) 07:59:26.50 ID:nO4ceNb30.net] すいません入門書に以下のコードがあるんですが実行してもピクチャーが真っ白で変になってるんですが 何が間違ってるんでしょうか; https://gyazo.com/de388825132a1ac42b21b7cbb8a069fd 画像を置いてる場所はここです https://gyazo.com/93530ea51ef1e88cbcd097846d409ca4
311 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 08:35:58.50 ID:lkQsRi/q0.net] 表示したい画像はどんな内容なんですか?
312 名前:296 mailto:sage [2020/09/28(月) 08:52:18.25 ID:QIpyCS2B0.net] >>304 コンテキスト・文脈が異なるとは、全く別世界・異次元。 時間の進み方も異なるし、全く感知できない。 通信・同期もできない 未定義の動作と同じ。 あらゆる仮定・推測ができない だから、双方が連絡するには、特別な書き方をしないといけない 普通の言語では、例外も補足できない。 他方で例外を投げても、伝わらない だから、ストールするのは、文脈が異なる場所で、例外が起こっている可能性もある。
313 名前:起こっていても分からないから 本を買うよりも、検索して調べた方がよい。 こういう説明が載ってる本は、まずない。 余程、マニアックな本だけだろう [] [ここ壊れてます]
314 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 08:53:38.64 ID:phqY8Xtx0.net] FormのControlsに追加しなくてもいいんだっけ?
315 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 08:59:13.21 ID:Zg0P7tB00.net] >>304 C#による マルチコアのための非同期/並列処理プログラミング ttps://gihyo.jp/book/2013/978-4-7741-5828-0 C#によるWindowsシステムプログラミング 第2版 ttp://www.cutt.co.jp/book/978-4-87783-468-5.html この2冊しかしらん もっといいのを知ってる人いたらよろしく
316 名前:296 mailto:sage [2020/09/28(月) 09:04:53.56 ID:QIpyCS2B0.net] 確かに、GUI の根幹には、永久のイベント(メッセージ)ループがある。 イベントドリブン ずっと、ユーザーからのマウスイベントなどが、キューに入るのを待っている。 キューにイベントが入ると、それを処理する。 それを永久に続ける 一方、CUI では、そういうイベントドリブンは聞かない。 マウス操作で、何かをするというのも聞かない。 Ctrl + C を押して、割り込み処理を発生させることはできるが でも、こういうアプリの終了などのソフトウェア割り込みも、イベントループで拾うけど
317 名前:296 mailto:sage [2020/09/28(月) 09:08:06.54 ID:QIpyCS2B0.net] そんな難しい本を読んでも、理解できないから無駄だと思う 検索した方がよい
318 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 09:11:10.60 ID:Zg0P7tB00.net] >>306 用意した画像の一部だけが表示されている たとえば、 pb.SizeMode = PictureBoxSizeMode.StretchImage; といった感じでPictureBoxSizeModeを指定してみると何が起こってるのか何となくわかるんじゃね?
319 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 09:42:36.85 ID:Uql71HHWa.net] >>311 ctl+Cまで入力コマンドを待つCUIアプリはイベントドリブンと呼べるのでは?
320 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 09:50:37.80 ID:o994bwz+0.net] >>311 CUIでもターミナルベースの業務アプリなんかだとイベントループ書くぞ。
321 名前:296 mailto:sage [2020/09/28(月) 10:20:17.53 ID:QIpyCS2B0.net] 結局、GUI・CUI も、どちらもイベントドリブンなのか 大部分は同じなのかも
322 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 10:59:03.73 ID:o994bwz+0.net] >>316 お前Electronの内容もちょっと変な理解してるし、毎回思うけど知ったかぶりしないほうがいいぞ。 結局Rubyの事しかわかんないんでしょ。
323 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 11:27:34.04 ID:j++FlVxl0.net] Delphiに存在したメタクラス型(クラス型を代入、参照できる変数)は C#に無いの?
324 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 11:42:34.18 ID:ii9XSMYC0.net] >>310 ありがとうございます アマゾンレビューをチラ見したところ目的に合ってそうです >>312 とりあえず頑張ってみます
325 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 11:53:52.45 ID:phqY8Xtx0.net] >>318 Typeは?
326 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 13:53:50.99 ID:j++FlVxl0.net] Typeでもある程度事は足りるけど、 あらゆる型のtypeof()を代入できるので不確実だし、Activatorとか必要で面倒。 無いなら仕方ないが…まあ移植が大変
327 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 18:57:37.61 ID:nO4ceNb30.net] >>313 そのプロパティ?はまだ本内で教わってないですが使ったら表示されました。 ありがとうございます!!
328 名前:デフォルトの名無しさん mailto:sage [2020/09/28(月) 22:54:29.00 ID:iemn9XLz0.net] >>311 CUIなRTOSなんて普通にあるけどなぁ
329 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 10:58:06.91 ID:RvE6O+PE0.net] .NET Coreでコンソール画面に 「こんにちは、WORLD!」と表示させようとすると なぜか「こんにちは、WORL!」のように表示されます コンソール画面のメニューからフォントを変更すると正しく表示されますが原因が分かりません
330 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 11:22:49.95 ID:OZkIKLkD0.net] コンソール画面とは?
331 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 12:42:00.94 ID:YPdRC9Oi0.net] >>324 コード貼れ
332 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 13:17:16.07 ID:RvE6O+PE0.net] static void Main(string[] args) { var str = "こんにちは、WORLD!"; Console.WriteLine("{0}", str); Console.ReadKey(); }
333 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 17:53:06.91 ID:wYCx593I0.net] >>327 これかな? https://aquasoftware.net/blog/?p=895
334 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 17:57:00.27 ID:wYCx593I0.net] >>327 これも https://csharp.clock-up.jp/contents/dotnetcore/codepage-encoding
335 名前:323 326 mailto:sage [2020/10/10(土) 19:40:42.12 ID:RvE6O+PE0.net] >>328 >> 328 試してみましたが改善しません 出力をコピーしてメモ帳にペーストしてみると正常なので どうも文字化けではないようです 文字の表示位置がずれて重なっているような感じです
336 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:03:24.77 ID:wYCx593I0.net] >>330 こちらでは正常なんでコンソール画面のプロパティの設定がおかしいんでは?
337 名前:蟻人間 mailto:sage [2020/10/10(土) 20:04:01.51 ID:c6WyhNHPd.net] 何てフォント?
338 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:23:39.28 ID:RvE6O+PE0.net] MSゴシックの18ポイント、Windows8.1です 来週会社のパソコンで試してみることにします
339 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:41:27.03 ID:wYCx593I0.net] >>333 8.1はプロパティでレガシーコンソールのチェックある?あったらそれチェックでいけるんでは?
340 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 20:52:24.98 ID:RvE6O+PE0.net] ないです
341 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 21:17:43.96 ID:RlZbVDXEa.net] 何にもアドバイスできないのに恐縮だけど、 >コンソール画面のメニューからフォントを変更すると正しく表示されますが だったら具体的にどのフォントで問題が発生してどのフォントで発生しないか 確認した範囲で書いた方がいいのでは あと、普通テキスト変えていろいろ試さないか?
342 名前:デフォルトの名無しさん mailto:sage [2020/10/10(土) 21:50:46.82 ID:wYCx593I0.net] 他のアプリでMSゴシックの18ポイント使ってみ。フォントのファイルが正常かどうか 使えるなら8.1のコンソールウィンドウの問題でしょ
343 名前:デフォルトの名無しさん [2020/10/10(土) 23:23:35.42 ID:wgBcrtZd0.net] >>321 Typeで事足りそうなものだが… あるいは設計の問題かも。 どんな設計なのかも書き込んでみたら?
344 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:49:57.27 ID:N2Y7+9Dy0.net] ローカルでiTextSharpを利用して、 Json形式のデータからPDF帳票を作る・・てのつくったんだが、 (サーバ上で、APIコールとかファイル読込でPDFファイルを返したかった。 イメージ的にはページごとにTextとかLineを指定したJsonデータ) いざ業務に転用できるかなってフェーズにきて iTextSharpのライセンス(AGPL)がやだなあ、って思ってる。 PDFSharpは日本語がなんかうまくいかない。 今のC#で、PDFを作るの、皆さんはどうやってる?
345 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 10:55:16.27 ID:0/xBmjm30.net] >>339 業務だったらExcelCreator使ってる
346 名前:デフォルトの名無しさん [2020/10/20(火) 10:59:00.80 ID:pHiz9StDF.net] PDFSharp使ってるけど問題無し
347 名前:デフォルトの名無しさん mailto:sage [2020/10/20(火) 11:10:22.94 ID:d69BLAaZa.net] React、Vueで帳票レンダリング ヘッドレスブラウザでPDF印刷