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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2021/12/13(月) 22:53:21.18 ID:dhjmiKBp0.net]
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part152
mevius.5ch.net/test/read.cgi/tech/1629888256/
■関連スレ
C#, C♯, C#相談室 Part94
mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
https://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/
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries/
https://referencesource.microsoft.com/
https://source.dot.net/
・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

720 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 13:52:14.45 ID:NIAK/ICvM.net]
>>708
Disposeが呼ばれたらstaticなイベントからハンドラを削除するような実装は低品質なライブラリなんかだとたまに見かける

721 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:02:14.57 ID:s/zLKX0LM.net]
>>708
> GDIなどのシステムリソースの解放忘れとか
の話の流れで
> マネージドな世界で閉じている限り
とか頭おかしいのか?

722 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:05:18.68 ID:McAG9Ljja.net]
>>710
頭がおかしいのは君の方

普通のプログラマはマネージドなライブラリを挟んで
間接的にGDIのリソースを利用するんであって直接使ったりしないの

だからライブラリのコードにバグがない限りGDIを間接的に
利用しているからといってリークの原因にはならないんだよ

723 名前:デフォルトの名無しさん [2022/01/17(月) 14:10:54.78 ID:McAG9Ljja.net]
ついでに言えば、俺は別に>>702に反論したわけじゃないw
すごい被害妄想だよねw
ネトウヨさんじゃねえのw

724 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:26:56.43 ID:ly062VWjM.net]
普通のプログラマw
無能の言い訳に多用されてて笑う

725 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 14:40:41.16 ID:IUPVmsWca.net]
理想のマネージドだったらdisposeなんて関係ないし、メモリリークなんて起きない
でもc#は理想のマネージドじゃないんだよ・・・

726 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 15:20:30.64 ID:C2NpqJUJM.net]
ゲロみたいな話題で盛り上がってんなあ

727 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 17:33:38.89 ID:0pf4TYua0.net]
っぱRustよ

728 名前:デフォルトの名無しさん mailto:sage [2022/01/17(月) 19:32:54.18 ID:rqpdgGXW0.net]
mb ミリビットもジワるwww



729 名前:デフォルトの名無しさん [2022/01/18(火) 09:23:03.79 ID:HVobsaMl0.net]
低レベルな質問で恐縮です。VisualStudioを使っています。
やりたいことは、定期的に更新されるcsvからデータを取得しDataGridViewに表示させたいです。
(つまり、DataGridViewでリアルタイムに更新されているように見せたい)
取得・更新することはできたのですが、更新時にソート状態が解除されて困っています。
DataTable・DataSet・DataSource・データバインドなどのキーワードを見つけて調べているのですが、理解力が乏しく解決できていません。
こんな方法があるよと、ヒントになる助言をいただけたらありがたいです。
よろしくお願いします。

730 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 10:13:54.13 ID:Tap2eyJjM.net]
>>718
DataGridViewのSort順を復元するだけでは?

731 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 10:18:04.98 ID:jhcMMPao0.net]
・DataGridViewにどうデータをセットしているか、どう更新しているか
・どうソートさせているか
・ソート状態が解除というのは結局どういう状況になっているのか
を具体的に

732 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 11:36:28.39 ID:HVobsaMl0.net]
反応ありがとうございます。
>>719
更新前にソートされている列を取得して、更新後に強制ソートする
という感じですね。試してみます。

>>720
>DataGridViewにどうデータをセットしているか
 今の状態は、あるサイトにのっていたコードをコピペして試しています。
//フォームデザイン
//csvデータ:person_read.csv
//button4のソース
 ソースコードはこちら ttps://dotnetfiddle.net/i89pR3
///////////////////////////////////

733 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 11:37:01.32 ID:HVobsaMl0.net]
>・どう更新しているか
 button4を押すたびにcsvからデータを更新しています(実現したらtimerで自動更新に変更予定)
>・どうソートさせているか
>・ソート状態が解除というのは結局どういう状況になっているのか
 button4クリック→初期状態(csv並び順)
 GUIのdataGridViewの任意の列(

734 名前:痰ヲば年齢)をクリックしソート
  1,山田,25
  3,鈴木,28
  2,佐藤,30
  4,山田,46
 csvに 5,田中,37 が追加される
 button4クリックで更新
 csvの並びに戻る(希望はこの順で表示させたい)
  1,山田,25 → (1,山田,25)
  2,佐藤,30 → (3,鈴木,28)
  3,鈴木,28 → (2,佐藤,30)
  4,山田,46 → (5,田中,37)
  5,田中,37 → (4,山田,46)
以上です。
[]
[ここ壊れてます]

735 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 11:43:01.00 ID:HVobsaMl0.net]
リンクが404になっていたので貼り直しします。
これで大丈夫か心配ですが。
https://dotnetfiddle.net/ulZ3M9

736 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 13:08:53.17 ID:jhcMMPao0.net]
DataTableの場合ソート順は
dataTable.DefaultView.Sort
に文字列で格納されるからこれを使えばいい

737 名前:デフォルトの名無しさん [2022/01/18(火) 13:20:14.01 ID:k1mhP8XB0.net]
C#で正規表現のperlでの「tr」と同じ事をしたいのですが、
Regexクラスにそれっぽいのがありません。
何か方法はありませんでしょうか?

738 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 13:29:49.03 ID:pQS/rHaxa.net]
trは置換なのか?だったらc# regex 置換とかでぐぐりゃ方法出るだろ
痴漢じゃないなら知らない



739 名前:デフォルトの名無しさん [2022/01/18(火) 13:41:14.96 ID:k1mhP8XB0.net]
置換ではあるのですが、
pattern [a-z]
replacement [a-z]
とすると半角英字が全角英字に変換されるといった感じです

740 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 13:52:43.16 ID:pQS/rHaxa.net]
正規表現でマッチした位置とマッチした文字列を取り出すのはできる
正規表現関係なく文字列を全部変換するってならできる
これを組み合わせて自分でやるしかないんじゃない?

741 名前:デフォルトの名無しさん [2022/01/18(火) 13:54:14.42 ID:9szJ9jA+0.net]
Regex.Replace(mojiretsu, "[a-zA-Z]", p => ((char)(p.Value[0] - 'a' + 'a')).ToString());
動確はしてない。

742 名前:デフォルトの名無しさん [2022/01/18(火) 14:04:35.01 ID:k1mhP8XB0.net]
なるほど、やはりないですか
ありがとうございました

743 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 18:17:30.27 ID:UqX3jEvG0.net]
全角半角ならVB.NetのStrConv使えばいいじゃね

744 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 18:27:21.22 ID:80llBYJsr.net]
c#って全角半角変換でまともなメソッド用意してないよな

745 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 18:49:27.58 ID:HVobsaMl0.net]
>>718です。
.SortedColumn で現在のソート選択列を取得
ListSortDirection で昇順・降順の状態を取得
データ更新後、.Sort で更新前のソート状態を復元することができました。

>>719さん>>724さんヒントをありがとうございます。
>>720さん、気にかけていただいてありがとうございます。
また何かあればよろしくお願いします。

746 名前:デフォルトの名無しさん [2022/01/18(火) 19:17:27.38 ID:DZmAMHWt0.net]
>>732
C#の言語仕様にそんなのあるわけないだろうが
頭がおかしいのかな?

747 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 19:30:02.02 ID:uGAsykz90.net]
.NETのことだろ。
あれ本当に不便。

748 名前:デフォルトの名無しさん mailto:sage [2022/01/18(火) 19:44:39.78 ID:g9d5Z42+a.net]
全角無視した比較はあるんだから変換もあればいいのにな
.net6はいたるとこでCultureInfo受け取れるようになってるから、オリジナルCultureInfo作ってやればtolowerなんかはできそう



749 名前:デフォルトの名無しさん mailto:sage [2022/01/19(水) 04:15:15.58 ID:4BL/bkWB0.net]
nuget辺りに.net言語で使える漢字処理モジュールみたいのないの

750 名前:デフォルトの名無しさん [2022/01/19(水) 13:57:55.37 ID:b1tRS/0c0.net]
あの、Asp.netMVCでサイトを作ったんですが、
robots.txtって
Global.asaxと同じ場所もしくはViews\Layout.cshtmlと同じ場所
のどっちに置けばいいんでしょうか?

751 名前:デフォルトの名無しさん [2022/01/19(水) 22:04:21.46 ID:67zDZ4RH0.net]
WebProgという板があるからそっち言ってみれば?

752 名前:デフォルトの名無しさん mailto:sage [2022/01/20(木) 08:59:26.49 ID:fgAfnzipM.net]
>>738
デプロイしてみればわかる話を

753 名前:、何故聞いてしまうのか? []
[ここ壊れてます]

754 名前:デフォルトの名無しさん mailto:sage [2022/01/20(木) 10:11:03.18 ID:8HL1zORE0.net]
めんどいじゃん
ネットでクダ巻いてるゴミが代わりに試して教えてくれれば儲けもんだろう?

755 名前:デフォルトの名無しさん mailto:sage [2022/01/20(木) 12:57:10.80 ID:MJ6I7RR7r.net]
おっ、そうだな

756 名前:デフォルトの名無しさん mailto:sage [2022/01/20(木) 14:46:47.86 ID:n7chvAG30.net]
>>741
うそを教えられるという可能性は考えないのか?

757 名前:デフォルトの名無しさん mailto:sage [2022/01/20(木) 18:34:05.33 ID:NL1fx3HA0.net]
すでにサイト作ってる段階なら、掲示板で聞くより自分で試すほうが早いと思うんだがなぁ

758 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 00:57:35.59 ID:yyC8EMRk0.net]
共変と反変という言葉がよく分かりません
アップキャスト/ダウンキャストと何が違うんでしょうか?



759 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 02:01:57.32 ID:r2dC59Vr0.net]
class B{}
class C:B{}
class D:C{}
static D Function(B b){ return new D();}

Func<C,C> fp = Function;

Functionの返り値DはCの派生クラスだから返り値CのFunc扱いしても大丈夫だよねってのが共変
Functionの引数BはCのベースクラスだから引数CのFunc扱いしても大丈夫だよねってのが反変

両方ともアップキャスト(asがいらない)が約束されてるから許される

760 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 04:17:33.74 ID:9FYmM/Q0a.net]
ハロウィンの子供にチョコレートを渡せることが反変で
チョコレート工場をお菓子工場とみなせることが共変ってことか

761 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 08:32:03.92 ID:kufT2hajr.net]
よく理解できるね
これを理解したとしても他人がコードを読むの大変だよね
コメントに書いておくものなの?

762 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 10:57:27.37 ID:r8LIAXWEM.net]
c#自体にそういう機能があるので楽だねって感じ
うまくいかない場合は何か思い違いしてる

763 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 22:48:46.71 ID:0wwLw+zrM.net]
>>746-747
めちゃくちゃ分かりやすいです
ありがとうございました

764 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 22:52:58.30 ID:DQ1OUxKV0.net]
なにこれ
もしかしてnullになるかもしれんやつは片っ端から?つけなきゃいけなくなったの??

765 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 23:17:35.13 ID:Yoc43dCB0.net]
そうだぞ

766 名前:デフォルトの名無しさん mailto:sage [2022/01/21(金) 23:37:35.61 ID:DQ1OUxKV0.net]
なんか俺かっぺになった気分だべ・・・

767 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 01:35:08.87 ID:xgyvtLBZ0.net]
nullチェックをコンパイラが管理するやつだから慣れれば神機能

768 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 06:49:46.16 ID:sQZaaq50M.net]
参照前に必ずnullチェックというコーディング規約から解放される?



769 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 07:48:24.01 ID:dpfIrrzB0.net]
なわきゃあない

770 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 08:36:39.06 ID:odBVOzqN0.net]
on/offを行単位で切り替えられるから混乱すると思う

771 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 09:30:40.13 ID:AMYiKIMXM.net]
行単位でそんな事する奴はすでに混乱してるだろw

772 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 09:57:57.24 ID:dGbyTm5r0.net]
何が利点なんだろうネ?(笑)

773 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 10:16:46.92 ID:z2LDxi9+M.net]
まあ利点がわからないなら君は今のままでいいんじゃね?

774 名前:デフォルトの名無しさん [2022/01/22(土) 10:35:14.93 ID:tP9M/cw30.net]
5年ぶりに.Netで作ることになったんだけど、.Net Frameworkってオワコンなの?
Coreとか出てきてさらに.Netに統合されるとか混沌としてて何が今の最適解なのか解らない。
どうせ作るなら今の最適で作りたいからお聞かせ願いたい。
つかWPFって普及前に死んだ感じ?

775 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 10:40:46.17 ID:om6KWGu40.net]
.NET FrameworkはオワコンだけどWindowsに標準で入ってるのでWindowsユーザー視点だと一番有難い
WPFもWinFormsのWindowsであれば現役

776 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 11:13:26.21 ID:dGbyTm5r0.net]
.netもオワコンだが
WPFもオワコンなので
代わりがない状態
他のはもっと過疎ってて
.netやWPFより更に消えやすい感じ
なので何もオススメできない状態

777 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 11:41:22.99 ID:cBfIrJY2a.net]
オワコンっても単なる流行の話だからな中身はオワコンでもない

.NET Framework 4.8
.NET6
今選ぶならこのどちらか。どっちも長期サポートになってるはず
表面的にはどっち選んでも同じ。昔の記憶が残ってるなら4.8使った方がスムーズに扱える

UIは色々増えてるけどwinだけならWinFormsが無難

778 名前:デフォルトの名無しさん [2022/01/22(土) 11:45:58.45 ID:tP9M/cw30.net]
>なので何もオススメできない状態
調べる限り、今はコレってのが無いんだよね。
WPFも生き腐れしてるみたいなので、
無難なWindowFormsと.Net Framework4.6.Xで良いやって思ってます。
ぬるぬるUIによる快感性はiOSに任せようと。



779 名前:デフォルトの名無しさん [2022/01/22(土) 11:49:15.98 ID:tP9M/cw30.net]
>.NET Framework 4.8
ユーザーのコンピュータには.NET Framework 4.6が入ってるので
5年程度を稼働を目安にすると.NET Framework 4.6のが導入のハードルが
低くて良いなと思うのですが、.NET Framework 4.8のが何か優れてるんですかね?
純粋にサポートの長さかな。

780 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 12:08:19.50 ID:cBfIrJY2a.net]
4.6だと今年でサポート終了かな
サポート気にしないなら・・4.xの差で機能的にはほとんど変わってないから何使っても同じ
ただちょこちょこソースコードの書き方が追加されてる(変更じゃなくて追加だから昔の書き方で問題起きない)
ぐぐってソースコードコピペしたときに新しい書式のソースコードだと思わぬエラーがでて困るかもしれないって程度
わざわざ古いの選ぶ意味もないけど、新しいの入れるのが面倒なら古いままでもいいんじゃないって程度だよ

781 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 12:11:29.47 ID:63g4vstfM.net]
基本的には.NET6を選べばいい
既存システムのメンテナンス・マイグレーションなら資産状況次第だけどFW48の方が低リスクで間違いない
ランタイムのサポート期間は意外にもFW48の方が長い
でも開発環境のサポート期間はわからない

782 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 13:06:27.03 ID:MOxbGC/+0.net]
最近は4Kとか高解像度ディスプレイ対応(スケーリング対応)が必要になって来たせいか
WPFを使ってる所が前よりは増えた印象
他に良いのが無いから消去法で採用って感じ何だろうけど

783 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 13:10:19.88 ID:MOxbGC/+0.net]
>>766
スケーリング対応は4.8の方が改良されてる
もっと言えば.NET6の方が進んでるけど

784 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 13:16:37.15 ID:+eWEN8w/0.net]
WPFでもMVVMを考えなくてもWinFormsと同じように使えるし、スケーリング対応が楽なのはいいよね

あと最近のWindows10は標準で4.8が入ってなかったっけ?

785 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 13:25:41.09 ID:i+EsaIAtd.net]
サポート期間を気にするなら.NET6は問題外だよ
なんと2024年にサポート切れ

786 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 13:36:54.52 ID:63g4vstfM.net]
十分だよ
.NETは互換性が高いから.NET8への移行も苦労はせんだろう
他の言語と比べたら天国だ

787 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 14:04:30.15 ID:MOxbGC/+0.net]
>>771
WinFormsの*.Designer.csと*.resxから解放されるのも大きいね
差分を見たりマージするのに問題あり過ぎた

Windows10はMay 2019 Update(1903)から標準で4.8が入ってる
現在サポート中のバージョンは全部4.8が入ってるね

788 名前:デフォルトの名無しさん [2022/01/22(土) 14:08:40.62 ID:gJEoCqwv0.net]
今の最適で作りたいなら.NET 6/WPFだな



789 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 14:33:41.83 ID:KL4k8E210.net]
.NET Frameworkは最終版の4.8でもC#7.3までの対応
C#8.0は.NET Core 3
C#9.0は.NET 5
C#10.0は.NET 6

C#のバージョンを上げるなら.NETも移行せざるを得ない

790 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 14:35:53.77 ID:nTnTl9DUr.net]
わかりました、Mauiで頑張る

791 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 14:44:13.78 ID:Ii2fD9R0a.net]
WPFの方が高DPI(高「解像度」では必ずしもないよね)対応が優れているっていうのは
DPIが異なる複数のディスプレイ間をウィンドウが行ったり来たりするような状況を想定した話?

792 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 14:49:58.72 ID:ARjVXSY1M.net]
WPFってWebみたいに解像度に合わせて画像切り替えるとか標準じゃできないだろ?
HDPI対応が優れているとか片腹痛い

793 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 15:19:51.12 ID:EyuzyEvM0.net]
俺社環だと2012R2なんで4.5.1なんだよな
サポート外だからさっさと4.6移行に切り替えたいけど、不具合出てないから誰もやりたくないという

794 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 16:54:28.58 ID:1FaTcT0G0.net]
>>779
そんなもん解像度は取得できるしなんとでもやりようあるやろ

つうデスクトップGUIアプリに求めることかそれ?
どんなシチュエーションで必要なのかわからん

795 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 18:01:32.84 ID:dpfIrrzB0.net]
想像力が無いだけだなあ

796 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 18:55:07.04 ID:Hnp3kh2k0.net]
>>780
誰もやりたがらないけど、OS のサポート切れが迫ってきて対応中。w
いまさらその上で動いてるオレ様ソフトのインストールの手順とか覚えてないんだけどなあ。

797 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 19:41:02.79 ID:DSkywrpw0.net]
ドキュメントは残しておけよw

798 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 19:49:34.26 ID:vcUHcBQYM.net]
昔自分用に作った(家で自分の時間を使って)アプリがあって退職時に無理やり引き継ぎさせられて勝手に使われてる
PC壊れたときに連絡あってアプリを送った思い出…



799 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 19:51:39.05 ID:vcUHcBQYM.net]
毎日使うものなので劇的に工数が減った
あくまでも自分用

それを恨みこそすれ感謝してない元会社がタダでずっと使ってる

800 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 21:17:29.45 ID:9EvEVFCn0.net]
Main内
Test t = new Test();
t.Num = 1;
t.Add(10);
Console.Write(t.Num);

class Test
{
 public int Num {get; set;}
 public int Add(int p)
 {
  return Num + p;
 }
}

これで出力が1になるのは何故なのでしょう?11になると思うのですが…

801 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 21:22:02.32 ID:vcUHcBQYM.net]
return Num + p;
これは足したものを返してるだけで
Num自体に変更をかけていないからな

Num = Num + p;
return Num;
ならわかる

802 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 21:37:34.36 ID:9EvEVFCn0.net]
あ、、、確かに。納得しました。
ありがとうございました

803 名前:デフォルトの名無しさん mailto:sage [2022/01/22(土) 23:20:32.09 ID:mmM8IstB0.net]
いえいえ

804 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 14:44:30.58 ID:is+XSiL/0.net]
すみません、初心者で何からしたら良いのか、何をすべきなのか分からなくて助けてください。

計算アプリを作らなければならず、調べてなんとかボタン配置とかはできたのですが、プログラミングが何をどういった順番でするのか分からなくて…

計算は
固定数字÷ボタン入力した数字(+必要に応じて選択した数字)×ドロップダウンで選択した数字

これを出来るようにしたいのですが、やるべきことは
@ボタンとドロップダウンの紐付け?認識?
A入力した数字の表示
B()の条件付け
C計算結果の表示
これで大丈夫でしょうか?

うまく質問できず、申し訳ありません。
今までプログラミングに触れたことが無く、必要情報が不足していましたら追加致します。

805 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 15:13:55.20 ID:XkFSmW1wd.net]
今期の単位は諦めましょう

806 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 15:15:05.76 ID:Wu5qqWWYa.net]
ボタン押したらボタンに対応した値を表示する(固定値で割らなくておk)
それができたら、次は固定値で割った結果を表示するように修正
それができたら、次はドロップダウンの選択が変わったことを知る方法と選択された値を取得する方法調べる
それがわかったら、ドロップダウンの値を掛けた結果を表示できるように修正
それができたら、どんな条件でこういう計算するって条件別け
かな?

807 名前:デフォルトの名無しさん [2022/01/23(日) 15:16:44.75 ID:CCpFlBt8M.net]
それを決めたら他の人がコードを書いてくれるのか?

それならマルナゲをオススメ

808 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 15:20:46.99 ID:is+XSiL/0.net]
>>793
ありがとうございます!

直ぐにやってみます。
やるべきことを分かりやすく教えて頂き、本当にありがとうございます。



809 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 15:30:22.12 ID:is+XSiL/0.net]
>>794
いえ、コードも私が書かなければなりません。
丸投げする相手が居ないです…

810 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 19:04:59.40 ID:nwzKJ0xW0.net]
ひっでえ課題
そんなもんが何の足しになるんや

811 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 19:47:07.31 ID:is+XSiL/0.net]
やっと、数字の表示ができました……
何故か一桁しか表示されなくて、次の数字押したら上書きされるけど、表示はできました…


何のたしになるかは分からないです…

曰く『コロナ禍だけど、この機会に家で出来きることをしよう!』って事らしいです。

812 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 19:48:24.39 ID:is+XSiL/0.net]
投稿が重複してしまいました、誠に申し訳ありません。

813 名前:デフォルトの名無しさん mailto:sage [2022/01/23(日) 23:26:33.12 ID:pR5ferbX0.net]
メンバー'hoge' はインスタンスデータにアクセスしないため、static にマークできます

814 名前:デフォルトの名無しさん mailto:sage [2022/01/24(月) 12:21:02.64 ID:bXxRLmwJ0.net]
四角をグラフィックに描画する場合の座標について
g.DrawRectangle(pen, 始点x座標,始点y座標,幅,高さ);
このようにあります

ならば幅が2,2の場合
g.DrawRectangle(pen, 16, 16, 2, 2);
これで(16,16)-(17,17)で2ドットだけの中抜きがないものを想像するのですが
実際は
(16,16)-(18,18)の中央に穴がある状態の四角が描画されるようです
これは3,3指定なら理解できるんですが
幅指定なのになぜこのようになってしまうのでしょうか?

815 名前:デフォルトの名無しさん mailto:sage [2022/01/24(月) 12:39:27.95 ID:zeqExr0Ka.net]
g.DrawRectangle(pen, 16, 16, 1, 1);
g.DrawRectangle(pen, 16, 16, 0, 0);
こいつらはどういう挙動をするべきかを考えたら?

816 名前:デフォルトの名無しさん mailto:sage [2022/01/24(月) 13:27:00.02 ID:VRumLvNTM.net]
GDIは終点は描画領域に「含まない」
だから、幅として成立する。

FORTRAN由来とかで「含む」系
もあるので注意だ

817 名前:デフォルトの名無しさん mailto:sage [2022/01/24(月) 14:09:38.84 ID:97kNTb42a.net]
>>801
まあこうは言える。

まずユークリッド幾何学的な数学的に抽象化された世界で考えるべき。
その世界では、1対の平行線の距離がペンの幅より大きければ必ず平行線の間に「隙間」が出来る。

GDI+の描画はこういう抽象化された世界をピクセルの世界に写像してるだけ

818 名前:デフォルトの名無しさん mailto:sage [2022/01/24(月) 18:54:49.46 ID:97kNTb42a.net]
まあたぶんこんな感じだね

(1) 論理座標の原点は(0, 0)のピクセルの中心に設定されている。つまり論理座標とピクセル座標は
0.5ずれている(少なくともペンの幅が奇数ピクセルの時は)

(2) DrawRectangleは論理的な矩形の辺がペンの中心になるように描画する

(3) だから描画された矩形はペンの幅の1/2 * 2だけ指定したサイズより大きくなる



819 名前:デフォルトの名無しさん mailto:sage [2022/01/24(月) 19:46:14.25 ID:ph7NlGryd.net]
小数のない世界なら厚みゼロで隙間がないんだろうけど、塗りつぶすならFillRectngleで明示しろってことかな。

820 名前:デフォルトの名無しさん mailto:sage [2022/01/25(火) 22:02:24.84 ID:AwkrZJuk0.net]
独習C#やってるんだけど、これを一通りやれば基本は身に付くと思っていい?






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

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

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