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

レス数が900を超えています。1000を超えると表示できなくなるよ。
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
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
実はループしてるときは動かせはするけど鈍くなってるんですかね。
2023/12/06(水) 22:39:56.04ID:ODgvh3rC0
> でもSystem.Windows.Forms.Timerって動いてる時に
> 中でループ大量に走ってても
状況が分からん 中ってなんだ ループって何を指してるんだ
2023/12/06(水) 22:43:06.05ID:RjlgKzha0
tickの中でループすると固まるでしゃろ
2.1は固まらないのか…?
848デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/06(水) 22:45:04.51ID:+EnqVXDC0
>>846
こうです
public void clock(object sender, EventArgs e) {
for(int i=0;i<100000000;i++)
{
textBox.Text="test";
}
}
849デフォルトの名無しさん (ワッチョイ 5eb8-zrcD)
垢版 |
2023/12/06(水) 22:50:59.79ID:+EnqVXDC0
>>847
鈍くなってただけっぽい
850デフォルトの名無しさん (スップ Sdea-ws2i)
垢版 |
2023/12/06(水) 23:40:36.62ID:2DYN/adQd
もしかして倉庫番君か?
2023/12/07(木) 07:29:21.20ID:P2Gy3zkS0
>>847の言う2.1が何のことかわからんけど
.NET Framework 4.8.1でも.NET6でも、>>848をやれば
ループ中はTextBoxの表示は変わらないしWindowも動かせないがな
2023/12/07(木) 07:54:02.73ID:Y2nxiOLtd
外部からのwm_paintで描画される事はあるかも
鈍くなるとは
2023/12/07(木) 08:31:54.73ID:H2AyE6420
WinFormのTimerのOnTickってWncProcから呼び出されてるけど
その状態でWM_PAINTとか来てもキューに積まれてるだけじゃない?
2023/12/07(木) 08:32:18.57ID:H2AyE6420
鈍くなってただけとかマジでわからんけどw
2023/12/07(木) 08:39:50.14ID:/dQqqyqX0
初心者の曖昧で雑な表現に振り回されるスレ民の図
2023/12/07(木) 08:46:18.88ID:Y2nxiOLtd
>>853
wm_paintはキューを無視して飛んでくるよ
2023/12/07(木) 08:58:54.25ID:H2AyE6420
あれ、そうだったっけ
昔見たMSのドキュメントにはDispatchMessageによって送信されて
WindowProcを介して受け取るって書いてあった気がしたけど
記憶違いかスマン
2023/12/07(木) 09:27:54.62ID:1UPy/6u0d
メインスレッド止めてるのに描画されるとか、ちょっとしたホラーだな
見えざるスレッドがいるのか
メインスレッドと思ってたものが実は違ったとか
もしくは、自動的に実行位置がコロコロ変わってる可能性も
2023/12/07(木) 09:34:30.90ID:Q56eC8Dw0
今時のCPUじゃぁ100000000回ループなんてあっという間だから、メッセージ処理が少し滞ってもっさりした感じになる程度で済むんだろう
860デフォルトの名無しさん (ワッチョイ 9140-JrwL)
垢版 |
2023/12/07(木) 09:53:06.28ID:fQltjmnX0
>>859
最適化されただけちゃうか?
2023/12/07(木) 17:59:27.07ID:qtD13wly0
>>851
2.1は>>830で書いてる.NET Standard 2.1
2023/12/07(木) 18:00:29.07ID:qtD13wly0
って違う質問だったよごめん
2023/12/08(金) 02:47:09.87ID:iIL14t3x0
Control.Refresh
2023/12/09(土) 09:10:55.97ID:Z2D8kHNzd
text変更してもinvalidateされるだけ
ループ終わってから無効領域まとめてWM_PAINTメッセージがsendされる
2023/12/10(日) 00:55:08.49ID:rdr3TtNc0
ワンドライヴに保存して開いたら、エディタで開いたような感じになったぜ。
2024/01/04(木) 11:26:57.05ID:97h1wBCI0
https://wikiwiki.jp/postmodern/
2024/01/06(土) 14:32:52.12ID:AYkaYTA3d
hage
868デフォルトの名無しさん (スップ Sdc2-uC6W)
垢版 |
2024/01/06(土) 14:33:11.04ID:AYkaYTA3d
ageh
869デフォルトの名無しさん (ワッチョイ ffe1-JApz)
垢版 |
2024/01/08(月) 11:55:48.31ID:6WLOFFsr0
c#でパソコンの使用時間をカウントできないですかね?
フリーソフトであるんですが何故か正しくカウントできてない。
僕的には起動時間が使用時間であってほしいんです。
増えてはいるんだけど例えば10時間つけっぱなしにして+10時間ってなってないんですね
870デフォルトの名無しさん (ワッチョイ df01-9rua)
垢版 |
2024/01/08(月) 12:05:41.91ID:6CrO7J2H0
windowsの起動日時をc#で取得する方法
を、bing等のaiに聞いてみる
871デフォルトの名無しさん (ワッチョイ ff7b-ipwt)
垢版 |
2024/01/08(月) 12:15:04.04ID:60lS1oIG0
リアルタイムでなくていいならEventLog.GetEventLogsと以下参考にして算出したら?
http://faq3.dospara.co.jp/faq/show/7275

> 僕的には起動時間が使用時間であってほしいんです。
> 増えてはいるんだけど例えば10時間つけっぱなしにして+10時間ってなってないんですね
ActivityWatchなら無操作時間もAFKとして記録してくれたような…
2024/01/08(月) 12:20:36.50ID:q5367SyVd
timer作ってカウントすりゃええんでないの?
窓起動時間は入らんけどさ
2024/01/08(月) 12:40:06.35ID:GgkACOkl0
System.Environment.TickCount使え
2024/01/08(月) 12:40:07.18ID:2Dy3ldbmM
イベントログに起動した時刻やスタンバイに入った時刻が記録されてる
2024/01/08(月) 12:44:53.54ID:GgkACOkl0
1日内だの数日だのならこれで十分
32bit値によるミリ秒カウントだから49日ちょいで一回りしてしまうから
それ以上の日数で調べたいならDllImportしてGetTickCount64使う
2024/01/08(月) 12:47:38.02ID:aeUHKPs00
DllImportしなくてもEnvironmentにTickCount64があった気がする
877デフォルトの名無しさん (ワッチョイ ffe1-JApz)
垢版 |
2024/01/08(月) 13:09:27.15ID:6WLOFFsr0
みなさん有難うございます。
>>874
それ全部合計できます?
>>876
累計調べたいですが出来ますかね?
2024/01/08(月) 13:22:01.18ID:aeUHKPs00
>>877
TickCountもTickCount64も、OSの起動時からの累計だぞ
Environment.TickCountでググってみるとかしてみるといい
879デフォルトの名無しさん (ワッチョイ ffe1-JApz)
垢版 |
2024/01/08(月) 13:37:16.51ID:6WLOFFsr0
>>878
有難うございます。とりあえずそれで1年間の起動時間調べてみます。
2024/01/08(月) 15:11:08.87ID:q5367SyVd
どーでもいいことだが
イベントログって放置してる?
赤いエラー見えると内容確認して消してしまうわ
2024/01/08(月) 15:27:59.54ID:uhZegW9c0
赤いとエラー、障害対応
2024/01/08(月) 15:28:40.80ID:uhZegW9c0
エラーじゃねえアラート
2024/01/08(月) 15:36:41.86ID:QVW1Svf+0
黄色は放置でいいけど
赤は駄目やろ
2024/01/08(月) 16:05:07.96ID:q5367SyVd
えー

DCOM に登録しませんでした

て無視しね?
2024/01/08(月) 16:48:18.97ID:bZA8rO/S0
>>875,876
.NET Frameworkには無いけど、.NET5(厳密には.NET Core3.0)以降ならEnvironment.TickCount64がある
2024/01/08(月) 17:14:34.76ID:DQpaADHn0
メソッドのアクセス修飾子は、internal と public どっちがいいんでしょうか?

仕事で見るソースコードはほぼ全て (internal・public のどちらでもいい箇所は) public ですし、
自分で書く時も public ばっかり使っています。

他のアセンブリから参照されないメソッドは積極的に internal にするべきでしょうか?
2024/01/08(月) 17:41:32.85ID:Zq5bmwpv0
イベントログに色付いてたっけ?
888デフォルトの名無しさん (ワッチョイ 5f8e-9rua)
垢版 |
2024/01/08(月) 17:53:55.46ID:Rp8wcscb0
モノクロディスプレイじゃなければ
2024/01/08(月) 18:06:19.35ID:9oT8CVge0
>>880
消すって、すべて解決してるの?
すごいね
2024/01/08(月) 18:32:12.13ID:aeUHKPs00
>>886
メソッド持ってるクラスがpublicなら、公開すべき物以外はpublicにしない
891デフォルトの名無しさん (ワッチョイ df01-9rua)
垢版 |
2024/01/08(月) 18:47:08.96ID:6CrO7J2H0
顧客にwinサバ納品の条件に、赤いのは対処して無くしておくこと、というのがあってすごく面倒だった思ひ出
無視すりゃエエやんて愚痴りまくったわ
2024/01/08(月) 19:56:55.35ID:X79wlzmD0
あれってWindows側のバグだと思うんだけど全部消す事ってできるの?
2024/01/08(月) 20:00:32.85ID:Zq5bmwpv0
ああ、一行丸ごとに色が付いてるんじゃなくて
行頭のエラーレベルのアイコンのことか
2024/01/08(月) 22:28:47.96ID:izlDBt/z0
イベントログサイズを0バイトにすればエラーなし(そうじゃない)
2024/01/08(月) 23:26:25.07ID:FNFcnj+v0
>>891
でも赤いの消すのってメーカーPCとかの製品では必須なのでは
見つかったら絶対問い合わせ来るやつじゃん
896デフォルトの名無しさん (ワッチョイ df01-9rua)
垢版 |
2024/01/09(火) 01:27:31.91ID:kKdORG5L0
>>895
必須ではない
一覧にあるエラー分は無視で構いません
でokなとこもある
2024/01/10(水) 18:42:27.41ID:rO8r+DU/0
他のパソコンの起動時間をリアルタイムでTCPIP通信で受け取りたいんですが
https://dobon.net/vb/dotnet/internet/tcpclientserver.html
上URLのクライアントのコードにおいて
↓これはサーバーに向けての送信だからわかるんです。
ns.Write(sendBytes, 0, sendBytes.Length);
でもループの中の
↓これが分かりません。
ms.Write(resBytes, 0, resSize); 
msっていう変数にWriteする必要性って何ですか?

コメントだと //受信したデータを蓄積する
って書いてて今一そうしてる意味が分かりません。
898デフォルトの名無しさん (ワッチョイ ff7b-ipwt)
垢版 |
2024/01/10(水) 19:13:08.65ID:wiBCpBDR0
>>897
そのページに記載のサーバーとクライアントの仕様をちゃんと呼んだ上で
実際にサンプルプログラム動かして確認してたらその質問は出ないと思うんだが試したのか?

それはそうとDOBONはもう更新するつもり無いなら注意書きつけてほしいわ
サンプルコードが古すぎて害にしかなってない
899デフォルトの名無しさん (ワッチョイ 5fff-NF1f)
垢版 |
2024/01/10(水) 19:14:10.09ID:xhKI3zeu0
>>897
MemoryStreamって書いてあんだろ
メモリーに流し込むクラスだろうね
2024/01/10(水) 20:44:19.99ID:vG4IIubdd
>>898
対象のバージョンや記事書いた時期でもあればよかったのにね
でもまぁコードなんて最新の事情に合わないなんてよくあること
古くても読み物としてありよ
2024/01/11(木) 06:55:27.49ID:LIuE+Fi80
ページ内に履歴があるだろメクラかお前ら
2024/01/11(木) 12:23:34.54ID:Fle+/cCtd
初稿の履歴ないのがねぇ
仮に2000年初稿で2024年の初修正があったらわけわかめ
903デフォルトの名無しさん (ワッチョイ ffd4-JApz)
垢版 |
2024/01/11(木) 19:36:49.57ID:CdeueIId0
>>898
良く見るとTCPIPとは関係無いコードでしたね。
データを保存してるっぽいですね。ありがとうございます。
2024/01/17(水) 13:48:13.58ID:ScFPuN2i0
https://twitter.com/intent/tweet?text=https://wikiwiki.jp/postmodern/&hashtags=%E7%B5%B1%E4%B8%80%E6%95%99%E4%BC%9A,%E5%89%B5%E4%BE%A1%E5%AD%A6%E4%BC%9A,NHK,%E6%97%A5%E3%83%86%E3%83%AC,%E3%83%86%E3%83%AC%E6%9C%9D,TBS,%E3%83%95%E3%82%B8%E3%83%86%E3%83%AC%E3%83%93,CNN,BBC
https://twitter.com/thejimwatkins
2024/01/23(火) 20:11:36.23ID:AWqpAujf0
タブページの中に別のフォームを埋め込むって出来ますか?
変数ってフォームごとに所有権があって変数名が被る心配がないじゃないですか。
実際複数のタブにわたってテキストボックスとか置くと頭に付ける文字の区別とかがしんどいです。
これ何とかなりますか?
2024/01/23(火) 21:23:50.81ID:mwhYOn0kd
ようわからんわ
オブジェクト思考?
usercontrol作れ?
なんだろこれ
2024/01/23(火) 21:32:11.32ID:6U+6gI+/0
ひょっとして「ユーザーコントロール」で検索すると幸せになれたりして?
2024/01/23(火) 21:39:08.05ID:JcNbHQUDp
内部クラスっぽく出来たと思ったよ
909デフォルトの名無しさん (ワッチョイ bfed-EFyZ)
垢版 |
2024/01/23(火) 21:45:42.88ID:AWqpAujf0
>>907
おおやりたいことが無事実現しましたw
同じ名前でも全然競合しないし最高ですねこの機能
2024/01/24(水) 00:40:45.85ID:pnQLU1ii0
やっぱりwinformsってguiフレームワークとしては一番手軽よね
2024/01/24(水) 11:37:50.43ID:2akkljXY0
手軽なだけなら一番はVB6かな
2024/01/24(水) 11:54:14.72ID:i18Ivvk80
C#スレでその答えはいかがなものか
2024/01/24(水) 13:00:22.05ID:4H3THdR1M
今のブラウザなら数値専用や日時専用があるからwinfomより簡単じゃね?
914デフォルトの名無しさん (ワッチョイ 8701-32L+)
垢版 |
2024/01/24(水) 14:11:00.83ID:lOva81w60
アンカーやドックなどがあるから、もうVB6は無いな
2024/01/24(水) 15:26:22.66ID:pLKcXdg3H
vb6はエディタが糞
耐えられない
2024/01/25(木) 09:42:48.26ID:Y/Dhb+kB0
Excel VBAはいつになったらエディタを更新するんだ・・・?
2024/01/25(木) 11:19:28.66ID:39FMXzwMM
public static string[] GetFiles (string path, string searchPattern);

searchPattern
String
path 内のファイル名と対応させる検索文字列。 このパラメーターには有効なリテラルのパスとワイルドカード (* と ?) 文字の組み合わせを含めることができますが、正規表現はサポートされていません。

これなんですが*.jpgと*.pngを返すにはどうしたらいいですか?
2024/01/25(木) 11:34:16.17ID:oZfM3pz30
2008年の情報
http://bbs.wankuma.com/index.cgi?mode=al2&namber=24626&KLOG=46

2014年の情報
https://devlabo.blogspot.com/2014/09/clinq_8.html?m=1
レス数が900を超えています。1000を超えると表示できなくなるよ。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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