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

■ このスレッドは過去ログ倉庫に格納されています
2023/08/08(火) 09:21:19.30ID:aeM2XQJJ0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を3行冒頭に書くこと(1行分は消えて表示されない為、もう1行は予備)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください。見かけたらNGしましょう。相手してしまったらあなたも荒らしです
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part158
https://mevius.5ch.net/test/read.cgi/tech/1679783460/
■関連スレ
C#, C♯, C#相談室 Part97
https://mevius.5ch.net/test/read.cgi/tech/1671585518/
■コードを貼る場合は↓を使いましょう。
https://ideone.com/
https://dotnetfiddle.net/
初心者はまずVisual Studioを使いましょう。なおVisual Studioの使い方などに関しては各バージョンで違うので専用スレでお願いします
http://www.visualstudio.com/downloads/
■情報源
https://learn.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/
https://learn.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
++C++; // 未確認飛行 C
https://ufcpp.net/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/11/26(日) 10:20:36.87ID:aOnl3nzuM
>>741
ない理由は簡単だよ
主な理由は無駄だから

任意の要素は複数のコレクションに入れられるし一つのコレクションに複数入れることが出来るから
要素側で添え字を持つ場合にはそれを区別することになる
そしたら親クラスと添え字のペアは何で保存する?dictionary?独自の保存クラスのインスタンス?
要素数だけ保存インスタンス作るの?と言う話になる
2023/11/26(日) 10:24:23.79ID:aOnl3nzuM
無くて不便だなと感じるなら一度作ってみたらいいよ
それが使いやすいなら使えばいいしそれに対して他の誰も文句を言わない
2023/11/26(日) 10:29:28.53ID:WuUXccWm0
配列中のIndexが重要なら固定で作れ
固定が嫌だと言うなら自分のIndexを気にしなきゃいけないような作りにするな
748デフォルトの名無しさん (ワッチョイ a701-qLBg)
垢版 |
2023/11/26(日) 10:34:56.71ID:Mj7uGAuQ0
倉庫番の人を相手にする人達
2023/11/26(日) 10:57:22.74ID:YkBy/87/0
今回は1度の質問で相手に伝わる日本語になっているので合格!!

初心者あるあるの質問だしね
2023/11/26(日) 11:29:02.31ID:aOnl3nzuM
コレクションの要素の添え字をコレクションで持つ
その要素の添え字をコレクションで持つ
そのまた…
と永遠に終わらない
2023/11/26(日) 11:42:58.44ID:xrmT/xcU0
どんな手段であろうともきちんと動けばいいんじゃね?(適当
752デフォルトの名無しさん (スップ Sdff-aoBM)
垢版 |
2023/11/26(日) 12:00:02.74ID:t46bGHL+d
9月から配列配列と言い続けているのに驚く
まだやってんのかよ
2023/11/26(日) 13:02:10.49ID:xrmT/xcU0
それで作品は完成したのか
2023/11/26(日) 13:41:55.38ID:YjDORt8e0
彼は作品を作ってるんじゃない
ただ配列と格闘してるだけや
2023/11/26(日) 15:26:09.65ID:06WEnIxy0
配列たのしいよねでんちゃ!でんちゃ!
こうですかね
2023/11/26(日) 16:57:15.49ID:ebkpzwLn0
自分のindexを知りたいとか思ったことないな
757デフォルトの名無しさん (スップ Sdff-aoBM)
垢版 |
2023/11/26(日) 17:43:50.21ID:t46bGHL+d
自分でプログラムしてるならわかる
必要ならパラメータで渡す
そんなものいらんよ
758デフォルトの名無しさん (ワッチョイ 4701-1fOb)
垢版 |
2023/11/26(日) 20:59:21.90ID:DSb557XU0
>>754
格闘家か
2023/11/27(月) 13:01:29.90ID:YdGgb4vX0
ディクショナリで似たようなことした気がする(うろ覚え)
2023/11/27(月) 18:34:33.66ID:fu5uNpvk0
>>738
配列aの3番目と配列bの1番目と配列cの99番目と変数dが全部おなじインスタンスだったらどうするんだよ?
2023/11/27(月) 19:53:58.80ID:/cbu4sL+0
1億円と2千円前から愛してるー
8千円過ぎた頃からもっと恋しくなあった
2023/11/27(月) 20:52:07.36ID:2/xPn6oY0
そもそも配列自体は同じクラスや構造体の繰り返しやろ
そこにクラスAさんいまどの添字にいまかーって聞いても、添字分の回答が来るだけやねわら
2023/11/28(火) 00:25:46.05ID:KjOVbCNK0
非同期処理は自分も全然理解出来てないな…
分かりやすい記事や書籍あったら教えてほしい
2023/11/28(火) 01:35:09.95ID:l/zJ2rcOd
>>738
TreeNodeみたいにparentでもつけたclassでも作って配列に突っ込んでIndexOfで調べろ
順番固定なら配列に突っ込まれるときにindexつけろ
2023/11/28(火) 06:04:30.08ID:MDNg41Je0
それこそTreeNodeCollectionとかDataColumnCollectionみたいに専用コレクションクラス作ってやれ
2023/11/28(火) 08:36:24.26ID:5Cyhyx4r0
>>763
非同期・並列処理がテーマのC#の本ってあんまりないのよね
実際に読んだことあるのは↓の二つ

『C#によるマルチコアのための非同期/並列処理プログラミング』 山本康彦 技術評論社
ちょっと古いけど、backgroundworkerの時代からawait asyncまで一通り歴史的経緯含めて網羅されている

『C#によるWindowsシステムプログラミング』 北山 洋幸 カットシステム
システムプログラミングと題されているけれど、非同期・並列処理に紙面の多くが割かれている

で、今正しいタイトルをチェックするついでに見つけた
読んでないので内容はわからん。2番目のやつと同じ著者によるもの
『C# 非同期・並列プログラミング入門』 北山 洋幸 カットシステム
2023/11/28(火) 20:41:13.81ID:QlCOA+Xa0
Windowsでスレッドと言えば昔からこれがオススメ
https://www.%61mazon.co.jp/dp/4756114040/
2023/11/28(火) 20:45:13.20ID:ahJUusiRM
>>766
Xamarinするには、まず人脈♪の人じゃねそれ?
2023/11/28(火) 20:52:01.03ID:gZII95OC0
>>767
kindle化されてない本は存在しないも同じ
2023/11/28(火) 20:52:41.51ID:QlCOA+Xa0
余裕があればAdvanced Windowsも読んどくといいぞ
2023/11/28(火) 23:06:15.03ID:iNny4p+X0
>>766
最初の買ったかな
非同期ずっと書きにくいな見づらいなと思ってて、asyncで本命きたか?と
エレガントさに感動した
2023/11/28(火) 23:29:30.06ID:33+xOP+f0
オレンジ色のやつ?
周りもみんな持ってたわ
2023/11/28(火) 23:53:42.79ID:aEnj/fWV0
stephan clearyのConcurrency in C#が鉄板
2023/11/29(水) 00:08:00.51ID:jjIrrfV/0
C#でasync、awaitの説明を読んでも頭にさっぱり入らなかったが、
CでIOCPとスレッドプールI/Oを使って、非同期処理を理解した。
2023/11/29(水) 06:14:57.35ID:P/h6PCbf0
>>769
小説や漫画ならともかく、実用書は紙の本の方が使いやすいわ
2023/11/30(木) 09:38:15.32ID:VDjO8Cq20
実用書こそ検索できる電書じゃないと実用性ないだろ
2023/11/30(木) 09:58:45.01ID:o2lKkOtg0
紙面画像ベタ貼りの検索できない電書というアカンやつもあってな…
2023/11/30(木) 10:33:15.32ID:bJSk0Mwq0
最初に一気に読む、理解するには本がベター
わかってしまえばあとはネット検索で可
779デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
垢版 |
2023/11/30(木) 10:35:19.33ID:faN/LqhT0
単なる習慣だから、生まれてから電子書籍しか知らないなら何も困らない
2023/11/30(木) 11:02:18.40ID:wG+4D/Bo0
技術書の必要性が凄い勢いで無くなってくのは何か寂しいな
とは言え自分もググってCopilotも併用しているけども
2023/11/30(木) 11:21:02.38ID:XNXKu7/N0
別に有用性はなくなってないけどな
アウトプット先が増えてるだけで、高度に専門的な情報は書籍(電子含む)が強い
論文とかも電子になる時代だし、AI含め、色んな人のアウトプットを大多数が受け取れる便利な時代になったよ

紙は特定の存在が物理的に抱え込むためのものになりつつある
2023/11/30(木) 12:27:53.48ID:0vX9CguP0
えーっと確かこの本のこの辺にって実本めくる方がだいたい早いからしょうがない
2023/11/30(木) 12:54:08.28ID:AHaSUwRO0
質問です
C♯で中規模以上のプロジェクト開発してるときってやっぱり毎回ビルドには時間かかったりするのでしょうか?
PHPから乗り換えようか迷ってんだけどC♯はビルドとかめんどくさそうで悩んでます
2023/11/30(木) 14:20:54.36ID:7CM8sx7Oa
C#が最適だとは言わないがPHPの方がクソなのは言うまでもない
2023/11/30(木) 19:03:12.17ID:7TTksUWH0
WPFでWindows.Formを呼び出したいんだけど、
参照開いてWindows_Formとかはあるけど、
Windows.Formがない、どうやって追加したらいいんですかね?
786デフォルトの名無しさん (ワッチョイ bf00-1fOb)
垢版 |
2023/11/30(木) 19:04:01.23ID:7TTksUWH0
バージョンは.NET 6です
2023/11/30(木) 19:40:56.51ID:4nwqW1NG0
<PropertyGroup><UseWindowsForms>true</UseWindowsForms></PropertyGroup>
2023/11/30(木) 19:44:16.86ID:jJtFC2b00
うる覚えだけどcsprojに<UseWindowsForms>true</UseWindowsForms>を追加したら良かった気がする
WPFプロジェクトなら<UseWPF>true</UseWPF>って項目があるはずだからその一つ下にでも追加してみるといい
789デフォルトの名無しさん (ワッチョイ bf00-1fOb)
垢版 |
2023/11/30(木) 19:56:33.31ID:7TTksUWH0
>>788
ありがとうございます
そこらへんって本には載ってないんですかね
790デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
垢版 |
2023/11/30(木) 20:03:06.67ID:faN/LqhT0
>「うろ覚え」を「うる覚え」と言う人に会ったことがあるかもしれません。実は一部の地方では、話し言葉として「うる覚え」が慣用的に使用されています。
「うろ」の文字や音が似ていることから「うる」に変わったとされています。
ただし、ビジネスシーンや書き言葉では「うろ覚え」が正しいので、間違わないように気をつけましょう。
2023/11/30(木) 20:04:01.72ID:BRv3/z1v0
ここはビジネスシーンじゃねーから関係ないね
2023/11/30(木) 20:38:41.31ID:RWZc3ygH0
一時期うる覚え撲滅委員会やってたけど面倒く臭くなってやめた
2023/11/30(木) 20:39:36.41ID:RpgM53cz0
うるかしておいて
794デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
垢版 |
2023/11/30(木) 21:05:23.75ID:faN/LqhT0
「うろ」は「空」または「虚」または「洞」の読み方だから
「うる」じゃ意味が分からなくなるんだよね
2023/11/30(木) 21:26:06.29ID:BRv3/z1v0
そろそろ板違い
2023/11/30(木) 22:56:39.86ID:AHaSUwRO0
>>784
なんで?
2023/12/01(金) 13:52:35.60ID:pq7rhG040
完全な初心者なのですが、C#の変数宣言におけるvarって
パフォーマンス的なデメリットなどは存在しないのでしょうか?
読み辛さがなければ便利につかってよいものと考えていいですか?
2023/12/01(金) 13:57:09.40ID:rKLFf3Nx0
パフォーマンスは関係ないよ
使う使わないも好みの問題なので、自分が良いなら使えば良い
2023/12/01(金) 14:03:49.94ID:0wDimeZp0
varは推論型なので内部でintやstringに変換してくれる
むしろ宣言時に初期化してなくて推論出来ないとエラーが出る

var a; // 初期化してないのでエラー
var b=null; // 何のnullかわからないのでエラー
var c=0; // int型なのでOK
var d=','; // char型なのでOK
2023/12/01(金) 14:05:25.14ID:T/T91xwv0
varはコンパイル時に型が決まるからね
2023/12/01(金) 14:09:27.27ID:pq7rhG040
ありがとうございます! パフォーマンスは気にしなくてよいのですね……!
便利に使います!
2023/12/01(金) 15:12:36.39ID:j+kKKSjnM
コンパイルにかかる時間が余計かかるのでは?
2023/12/01(金) 15:30:54.58ID:OXWkzWRJ0
余計って
何ミリ秒とかじゃねーの?
2023/12/01(金) 15:54:55.96ID:rKLFf3Nx0
コンパイル時っつーか、EXEやDLLビルドする時(コンパイルって言うと実行時のコンパイルと誤解する)
805デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
垢版 |
2023/12/01(金) 17:32:54.38ID:NZuUNSBe0
どちらも似た様なもんだろw
2023/12/01(金) 17:38:45.74ID:NB+NfP/p0
型推論時は右辺を評価してその結果の型が変数の型になる
型を明記した場合は右辺を評価してその結果の型と明記した型が一致するかどうかをチェックしてる
varが使える状況か否かの確認に追加ステップが必要だったとしても差は出ないんじゃないかと思う
でも少し興味あるので誰かに大きいコードベースでベンチマークして貰いたいかも
2023/12/01(金) 17:42:43.52ID:GGR/f3/i0
ビルド以外のその時に動いている別プロセスの影響による誤差以上に差が出る気がしないけどなぁ
2023/12/01(金) 19:25:57.27ID:nYA3mcmA0
>>806
まぁこれだよな
有意な差がデータから読み取れるのなら確かに見てみたい
809デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
垢版 |
2023/12/01(金) 21:24:13.90ID:NZuUNSBe0
コード生成は一度やれば済むんだから、その一度の時間差なんて厳密に測って意味あるの?
2023/12/01(金) 21:32:13.38ID:Jz3SJDE50
varって値を入れたら瞬時に型が決まるから人間が想像するような推論ではなくパターンマッチと言った方が近いかもー
811デフォルトの名無しさん (ワッチョイ dfe6-AnfR)
垢版 |
2023/12/01(金) 21:35:41.22ID:NZuUNSBe0
右辺の型なんかコンパイラは分かってるからねぇ
むしろ左辺の型と合ってるか比較する方が時間掛かってんじゃね?
知らんけど
2023/12/01(金) 21:45:38.66ID:LLEebJ7P0
>>805
ソースコードからのビルドと、JITは相当違うが
2023/12/01(金) 23:30:19.67ID:Cli0BVfg0
場外乱闘が大好きなんだな。
814デフォルトの名無しさん (ワッチョイ 5e23-zrcD)
垢版 |
2023/12/02(土) 13:18:43.89ID:3ChpQtq/0
使ってるお絵かきソフトのカスタマイズがしたいんですが
オープンソースじゃないお絵描きソフトのキャンバスに色を塗ったりするのって不可能なんですかね?
2023/12/02(土) 13:22:15.93ID:dC73Xol+M
開発元に仲間にしてもらえ
2023/12/02(土) 14:11:34.69ID:GMhCNfLc0
自動化ソフトでペイントブラシにお絵かきしてた人はいたな
817デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/02(土) 15:13:30.76ID:3ChpQtq/0
オープンソースじゃないと自動化やカスタマイズは難しいって結論でいいですかね?
2023/12/02(土) 15:23:11.83ID:HayA9ddu0
自動化はオープンソースかどうかはあまり関係ないし
カスタマイズはオープンソースかどうかよりもカスタマイズできる機能が用意されてるかどうかの方が重要

なのでその結論はどちらかと言えば間違い
819デフォルトの名無しさん (ワッチョイ 9165-w+dO)
垢版 |
2023/12/02(土) 15:50:54.90ID:O517Z4Pz0
カスタマイズは金出せばたいていのものは出来るぞ
2023/12/02(土) 18:12:32.52ID:9irNWnk20
プラグイン方式のAPIが用意されているなら出来るかもしれんね
2023/12/02(土) 18:52:29.11ID:6VKi/HQz0
GIMPでPython-Fu
2023/12/02(土) 19:54:35.50ID:9ebigAxN0
dyspyで改造すればいい
823デフォルトの名無しさん (ワッチョイ 5e1f-zrcD)
垢版 |
2023/12/03(日) 11:50:27.21ID:wHVkOda/0
>>818
ありがとうございます。公式でそんなのなかったんで諦めます。
824デフォルトの名無しさん (ワッチョイ 7dad-OpN5)
垢版 |
2023/12/03(日) 12:07:42.81ID:X1j6LHWz0
珍しくやさしい
2023/12/06(水) 05:15:37.44ID:TkvZFS2b0
Cで作ったDLL関数の引数が構造体のポインタでrefで呼び出し出来ていたんだが、C#側のstruct文をclass文に変えたことでメンバ変数に正しく伝わらなくなって悩みました。
何故でしょうか?
2023/12/06(水) 07:26:11.29ID:bubLwMtd0
structをclassに変えたからだろ自分で言ってるじゃないか
2023/12/06(水) 11:51:31.60ID:aWUIe7Q50
>>825
Cのポインタと、値渡し・参照渡しを勉強して
2023/12/06(水) 12:09:56.44ID:TkvZFS2b0
>>826
メンバー関数なしのclassはstructと同じと思ったの。publicは付けるとして。
2023/12/06(水) 13:15:20.57ID:aWUIe7Q50
答えはclassにするならrefを取れなんだが
まずclassとstructの違いをちゃんと勉強しような?
2023/12/06(水) 13:46:33.35ID:NPFUhgut0
初心者です。
.NET Standard 2.1を使用しています。
マルチスレッドの同時接続数の設定で、ServicePointManager.DefaultConnectionLimitの値をできる限り上げたいのですが、Int32.MaxValueを設定しても問題ないのでしょうか。
一般的にServicePointManager.DefaultConnectionLimitの値はどうやって決めるものなのでしょうか。
2023/12/06(水) 18:55:54.49ID:ODgvh3rC0
ライブラリが勝手にアプリ全体の制約値変えていいのか?というのはまあおいといて
HttpClientが使ってるHttpClientHandlerやSocketsHttpHandlerのMaxConnectionsPerServerもInt32.MaxValueだし別に設定するのは問題ないよ
実際の同時接続を増やしすぎたらサーバによっては蹴られるとか攻撃扱いされるとかあるかもしれんが一般化できるもんではないな
あと接続繰り返すうちにクライアント側もソケットを使い果たす可能性もあるぞ
2023/12/06(水) 19:55:44.60ID:wX85cynNM
>>830
経験や知識のあるものが実測値などを基に決める
初心者が及びもつかないこと

普通に無理ゲー
833デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/06(水) 19:56:05.75ID:+EnqVXDC0
System.Windows.Forms.Timer
これで呼び出した関数の中で
テキストボックスとか操作できちゃう理由が知りたいです。
内部的にInvoke使ってるんですか?
2023/12/06(水) 20:32:33.68ID:wX85cynNM
>>833
https://atmarkit.itmedia.co.jp/ait/articles/0511/11/news117.html
2023/12/06(水) 20:35:22.09ID:74V1WVL70
UIスレッドで実行されているからコントロールを操作できる
https://learn.microsoft.com/ja-jp/dotnet/api/system.windows.forms.timer
836デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/06(水) 20:42:07.51ID:+EnqVXDC0
>>835
for(int i=0;i<100000000;i++)
{
textBox.Text="test";
}

UIスレッドにこうかいてもループ終わるまで何故かtestって文字でないですけど何故ですか?
でもSystem.Windows.Forms.Timerでこれ呼んだら速攻で"test"ってでると思うんですが
837デフォルトの名無しさん (ワッチョイ 6561-Q9JY)
垢版 |
2023/12/06(水) 21:21:27.26ID:NPFUhgut0
>>831
Int32.MaxValueでも問題ないんですね。ご教授いただきありがとうございます。
ちなみに作っているのはライブラリではなくUnityアプリとサーバです。

今回HttpClientではなくHttpWebRequestを使用しています。
HttpClientだとソケットが枯渇しやすいという話はよく見ていますが、HttpWebRequestでもソケット枯渇は問題なのでしょうか。
タイムアウトした接続が解放されずにカウントされたままになる、という情報を見て、ServicePoint.ConnectionLeaseTimeoutを適当に一分とかに設定していますが、この設定だけだと問題が起きてしまうんでしょうか。
2023/12/06(水) 21:34:33.42ID:wX85cynNM
HttpWebRequestはかなり前から非推奨だったと思うが…
2023/12/06(水) 21:57:10.39ID:/yWKgeqZ0
Loop中に処理権限渡さなあかんやろ
840デフォルトの名無しさん (ワッチョイ 9140-JrwL)
垢版 |
2023/12/06(水) 21:58:33.69ID:bAVe0RWP0
つか、UIスレッドにループとか書くな知障
2023/12/06(水) 21:59:34.08ID:EazbNqt3d
>>836
しらんけど

Listboxとか大量に突っ込んでる途中は表示されないでしょ
DoEventとかいれないと
2023/12/06(水) 22:01:16.10ID:ODgvh3rC0
>>836
UIスレッドの名前通りUIの更新もそのスレッドでやってるから
スレッドがループで独占されてて画面を更新できない
> でもSystem.Windows.Forms.Timerでこれ呼んだら
「これ」ってforを含んだものじゃないよね?

>>837
Unityは詳しくないからコメントできないな
843デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/06(水) 22:04:36.80ID:+EnqVXDC0
>>841
勘違いかもしれないんでもう一辺試します
すいませんでした
844デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/06(水) 22:15:36.73ID:+EnqVXDC0
>>842
でもSystem.Windows.Forms.Timerって動いてる時に
中でループ大量に走ってても
フォーム動かせたりしちゃいますよね?
これってUIの更新ではないですかね。

Mainとかにループ書くとフォーム動かせないのに。
845デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/06(水) 22:16:58.97ID:+EnqVXDC0
実はループしてるときは動かせはするけど鈍くなってるんですかね。
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況