C#, C♯, C#相談室 Part97

■ このスレッドは過去ログ倉庫に格納されています
2022/12/21(水) 10:18:38.02ID:DxBIri9+0
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512

■Visual Studio 2017 Community(無償の統合開発環境)等はこちら
http://www.visualstudio.com/downloads/

■コードを貼る場合はこちら
http://ideone.com/

■前スレ
C#, C♯, C#相談室 Part94
https://mevius.5ch.net/test/read.cgi/tech/1553075856/

■次スレは>>970が建てる事。
建てられない場合は他を指定する事。

C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2023/06/12(月) 20:33:13.56ID:D2dY6sW0p
>>411
別の問題だな
リリースビルドしてるとか
2023/06/12(月) 22:32:43.81ID:JVK9XTZta
>>411
それ以前にコンパイルできないわそれ
2023/06/13(火) 00:06:29.80ID:ZoVPLz7U0
>>411
スレ間違ってない?
415デフォルトの名無しさん (ワッチョイ 398e-2zfj)
垢版 |
2023/06/13(火) 01:25:38.96ID:Ngpf92I00
馬鹿は開発環境が何かさえ書かない
そもそもC#なのか?
2023/06/13(火) 06:36:47.93ID:23FHN5gH0
ブレイクポイントって度のタイミングで使うもんなのかなと一般的な考え方として、、、、
2023/06/13(火) 07:17:41.88ID:PEee/u2aa
一般的に関数内で止められないわけねーだろ
お前のコードが一般的とはかけ離れてるからどこまで本当のことを言ってるかすらわからん
2023/06/13(火) 07:50:20.39ID:7cH+aIJF0
関数内で普通に止められるぞ
むしろ止められないデバッガって何w
2023/06/13(火) 08:03:31.21ID:quW67CPd0
どう見てもC#のコードじゃないの草
2023/06/13(火) 09:38:02.47ID:LoFiW7w1p
swift?
421デフォルトの名無しさん (スップ Sd73-2zfj)
垢版 |
2023/06/13(火) 12:52:41.23ID:ByE5E7iJd
>>416
馬鹿はここが何のスレか読めるか?
2023/06/13(火) 13:51:49.09ID:6MoTat1ja
聞くスレも間違ってるけどエラーメッセージを読まないでなんちゃらで怒られましたで済ますのが一番だめ
大事なのはそのなんちゃらだし

怒るわけないよね
怒られてもないのに怒られたピエンって泣きつくやつは何やってもだめ
2023/06/15(木) 10:27:38.65ID:dLjlwX4ma
最近は指導しただけで逆恨み銃殺まであるんだな怖い怖い
2023/06/15(木) 10:29:36.05ID:QLsEMtXZp
>>423
足元撃ってやろうとしただけだってさ
乱射したらリコイルしたって
2023/06/15(木) 10:43:41.82ID:0xESq9/k0
進次郎増殖中
2023/06/15(木) 10:49:34.74ID:Aj29e5Wsa
指導する人もいなくなるし迷子の子供を保護する人もいなくなる(下心のあるおっさんを除く)
2023/06/15(木) 11:01:25.48ID:K21ZmTmd0
指導って要らなくね

このスレ的に言えばプログラム言語の研修とかだってWebサイト見りゃ良いじゃん
その上で修了試験的なのして合格なら業務投入で良いじゃん
2023/06/15(木) 11:22:48.48ID:Aj29e5Wsa
土方ならな
2023/06/15(木) 12:12:53.37ID:K21ZmTmd0
土方とか関係無いやん
寧ろ優秀な奴ほど下手に指導するより書籍とか与えておけば良いって事もある

更に言えば自分で独習してきて勝手に技術習得してるのが優秀な奴じゃん
教えられて無いので出来ませんはかなりの無能な部類
2023/06/15(木) 13:10:51.30ID:cS8cnqSfr
竹田くんみたいなのが量産されそう
2023/06/23(金) 19:31:10.81ID:UVD4nU+ma
https://www.itmedia.co.jp/news/articles/2306/23/news109.html
C#とJavaの評価が低くておじさんは悲しい
2023/06/23(金) 19:59:55.85ID:x9WCMNc20
>>431
Notepad++の人気が根強いね
2023/06/23(金) 20:45:14.09ID:8BsfVNdT0
>>431
c#は使ったことがない人(期待)と実際に使ったことがある人(賞賛)の乖離が大きいのな
実際に使ったことがある人の評価は悪くない
食わず嫌い良くないw
434デフォルトの名無しさん (ワッチョイ d98e-kLz7)
垢版 |
2023/06/23(金) 20:46:57.75ID:fxt+MPHJ0
Rubyが終わっていて笑った
2023/06/23(金) 21:22:08.63ID:wybW+H5I0
つーか上位ほぼスクリプト言語だな
C#健闘してる方じゃね
2023/06/23(金) 22:02:02.60ID:EeYfvpOc0
ワイの超糞コードもgithubに上げればすっきりリファクタリングしてもらえるだろうか
2023/06/23(金) 22:38:35.50ID:G7lzLQj+a
>>436
超有用アプリならな
2023/06/24(土) 05:52:03.90ID:FvsXVYD90
今更だけど、.NETのLTSが三年って短すぎと思うのは俺だけ?
三年経ったらVisualStudioを買い替えて、新しいバージョンの.NETにマイグレーションしてテストして…ってそんな金誰が出してくれるんだ?
2023/06/24(土) 07:13:32.76ID:e/OWmdk60
今のシステムは3年持たないから別に短いとも思わない
俺の会社のシステムは年4回の更新がルールになってる
テストは自動化だから追加機能のない時は1日で終わる

VSはサブスクだしvscodeでも良い
2023/06/24(土) 08:24:13.30ID:FvsXVYD90
>>439
三年持たないシステムってどういうシステム?
うちはコテコテの業務システムなので下手すると10年以上使う…
2023/06/24(土) 09:10:16.70ID:e/OWmdk60
セキュリティやら何やらで3年以上も持つシステムってのは世の中には1つも無いぞ

10年以上使うことは出来てもそれって年々増加するリスクを抱えて使ってるだけ

俺が言ってるのはリスクを基準以下に抑えた安全なシステムは3年が限界って意味
2023/06/24(土) 09:19:27.28ID:fqjmYFK70
よほど古い体質じゃない限り、
今はCIとか自動化でFWとかのバージョンアップ含めて対応してくのが望ましいよね
持たないというか、「LTSきれるから対応する」という旧来の対応じゃなくて
継続的に最新を検証しながら順次当てていく運用がされてると思う

DBとかインフラ周りは事情変わるし、そっちに引っ張られることもあると思うけどね
体制を変えるのも企業としてカロリー高いし、中小ユーザ企業は置いてけぼりになってるかもね
2023/06/24(土) 09:20:49.88ID:8BwFeyDY0
>>440
Web系は軒並み寿命が短くなってる
システム的な側面もあるし、使用する言語そのもののサポート期間が短くなってるって理由もあると思う
業務系だとあまり感じないと思うけどかなり深刻よ

phpとかActive support2年、Security fixes onlyな期間いれても3年だぜ
444デフォルトの名無しさん (スプッッ Sd03-eK8M)
垢版 |
2023/06/24(土) 09:27:17.07ID:Qrp9SB+9d
スタンドアロンのマシンを工場に入れて稼働させるなら平気で10年使うとかあるんじゃない?
それなら別にサポート切れてもかまわんけど

問題はシステムそのままでネットワークに繋ぐけど更新するつもりがないようなケース。
既に動いてるソフトに追加で金(手間とかメンテ)かけたくない人たちはいるんだよ。
2023/06/24(土) 09:42:16.38ID:e/OWmdk60
別に金掛けないなら良いんじゃね
動かなくなった時とか問題が起きてもサポート対象外で知ったこっちゃ無い

リスクの説明をしてそれでもリスク許容するって判断したならそれまででしょ
責任者は自分が下した責任を取るだけじゃん
2023/06/24(土) 09:42:45.76ID:Ne+ocOnc0
大掛かりな業務システムだと製造自体で年超えるから、三年はまあ短すぎだわな
2023/06/24(土) 09:48:33.39ID:LJ+05Jz7a
三年経つ前に上位互換が出るのに何を困ってるんだ
2023/06/24(土) 09:52:27.28ID:fqjmYFK70
そんな大掛かりで特定のバージョンに繊細に依存するようなナイーブな業務システムを、ターゲットに入れてないんやろ
2023/06/24(土) 10:09:17.87ID:ftOLWUwva
逆に.NET4系はなんであんなに長くサポートされるんだろう
2023/06/24(土) 10:32:24.72ID:0M7dS181M
一つの製品に時間を掛けると完成度は高くなる
今はそれをやらないで次々製品を出している
そのほうがメリットがあると考えてるから
2023/06/24(土) 11:12:26.40ID:Ne+ocOnc0
それが出来ない分野ってのはあるんだよ
全てが同じように作ればいい訳ではない
2023/06/24(土) 11:58:36.68ID:M+vyHTL9a
>>449
コンセプトがWindowsの新しいAPIでWindowsの一部だから

新しい.NETはマルチプラットホームなのでどんどん新しくしないとOSに取り残される
2023/06/24(土) 12:17:48.33ID:xi03mIO7a
Javaもそんな感じだよね…
うちみたいな昔ながらのSIerはついていけずに潰れるな…
2023/06/24(土) 12:34:32.06ID:0M7dS181M
.net coreはOSの一部じゃないから放置しても良いってことか
その割には3.1とか頻繁にWUかかるよな
何がそんなにダメなのか知らんけど
2023/06/24(土) 14:05:07.43ID:PIVgHtxEa
. NET Core は Windows、Linux、および macOS で動作します。
. NET Framework は Windows で動作します

だから、Linux が頻繁にupdate されるからかも
2023/06/24(土) 14:22:04.26ID:XM0MR1xzr
ん?
NETFrameworkもNETCore3.1/6も毎月定例でWindowsUpdateが来てるかと思ってたんだが、違うの?
2023/06/24(土) 14:28:46.29ID:M+vyHTL9a
>>456
そのアップデートが行われる期間が三年じゃ短いんじゃないかという話をしてるんだよ
frameworkの方はwindows付属なのでosのサポート期間と同じ長さになる
2023/06/24(土) 15:52:52.15ID:XM0MR1xzr
あ、>>456の疑問は>454に対してで
Coreのアップデート期間が短いなんて話への興味もないしサポート期間が短いという認識もおれは持ってない
2023/06/24(土) 15:56:12.83ID:M+vyHTL9a
話を変えるときには「ところで」とか言った方がいいぞ
2023/06/24(土) 16:00:59.80ID:3NRUJc/l0
2008年にリリースされた.NET Framework 3.5SP1はまだサポートされてるんだよな...
2023/06/24(土) 16:01:33.74ID:XM0MR1xzr
え、ごめんよくわからない
このスレの流れで誰がどのレスでどう話を変えたの?
具体的にどのレスに「ところで」とかつけるべきなの?
2023/06/24(土) 19:44:52.86ID:nsaxU9To0
漢和及第
2023/06/24(土) 22:17:19.98ID:875mwHlZ0
>>445
リスクを説明したらFrameworkで作ってくれと言われるから
言われないようにサポート伸ばしてくれって話だろ
2023/06/24(土) 23:48:28.18ID:0M7dS181M
変な話になってるな

.NET Core 3.1のサポートは2022年12月13日で終了

しかし
OSの一部でもないのにWUが頻繁だなと言うこと
2023/06/25(日) 00:29:58.39ID:V4eFoXc90
そういえば、Powershell 5.1 は .NET Framework 4.5(1年ほど前にサポート期限切れ)ベースなんだっけ?
2023/06/25(日) 00:51:28.16ID:/3B8vXhI0
どうでもいいけどここは.NETスレなの?
2023/06/25(日) 08:32:09.29ID:2v/o3liJ0
https://dotnet.microsoft.com/ja-jp/download
https://dotnet.microsoft.com/ja-jp/download/visual-studio-sdks
2023/06/25(日) 09:31:39.01ID:Pbv9OTEga
ただでさえ過疎ってる板に.NETスレを建てろと…
2023/06/26(月) 08:54:25.45ID:r2qj24yMd
C#=.NET
やし・・・
2023/06/26(月) 09:11:37.26ID:BCuqrZMcM
VBはもう終わってるし、F#はさすがにマイナーだからな
2023/06/26(月) 09:51:35.07ID:yWmO1o4aa
F#なかなか始まらんな
C#がどんどん関数言語化していくから結局C#でいいやとなる
2023/06/26(月) 11:20:47.72ID:lp02RsUd0
F#が始まるとかありえるん?
2023/06/26(月) 11:46:00.16ID:yWmO1o4aa
今は各言語で使われてるasync/awaitもF#から始まったものだしLINQもF#のseqが源流っぽいし読みやすくて面白い熱狂的なファンのいる言語ではある
パターンマッチングや型推論もF#には劣るけどC#でできるようになったしF#ならではという部分がどんどん無くなってるんだよね
2023/06/26(月) 11:48:47.71ID:6bPwUIFfp
非同期がわかりにくくなった元凶かw
あんなんコロコロ都合で変える様なもんじゃ無いんだよ
最初から計画して作るものなんだから
極端な話、別の記述で独自させて書くくらいで丁度いい
2023/06/26(月) 11:54:40.07ID:yWmO1o4aa
非同期がわかりにくいと言ってるやつはスレッドプログラミングしたことないだろ
2023/06/26(月) 13:14:43.61ID:6bPwUIFfp
>>475
だからスレッドプログラミングするなら
これはスレッドですと明示すれば良いのであって
ゴニョゴニョ都合でawait/asyncを継ぎ足すなって言ってる
2023/06/26(月) 13:26:22.95ID:xa7FGeCo0
そんなこと俺たちに言われても…
2023/06/26(月) 13:57:22.25ID:AbxEqbtsa
async/awaitすらわからんやつにはスレッドはわからんぞ
あれでどれだけ簡単になったと思ってる
文句言うなら一度やってみてから言え
2023/06/26(月) 13:59:26.99ID:6bPwUIFfp
>>478
簡単になった=無駄に乱用してわけわからんくなってる
2023/06/26(月) 14:01:01.10ID:AbxEqbtsa
慣れろ
今時非同期は必須だ
2023/06/26(月) 14:06:16.36ID:6bPwUIFfp
タスク間通信を簡単に記述出来るだけで良かったのに
2023/06/26(月) 14:09:10.59ID:AbxEqbtsa
>>481
そういうのをスパゲティと言うんだよ
基本がなってないのにそんな大口叩いてたのかよ
素人さんの想像なんか知らんがな
2023/06/26(月) 14:11:51.42ID:6bPwUIFfp
>>482
同期待ちよりはマシだぞw
2023/06/26(月) 14:36:29.88ID:AbxEqbtsa
>>483
スレッドでもミューテックスとかで待つぞ
2023/06/26(月) 14:48:55.41ID:6bPwUIFfp
>>484
そう言う設計ならそれで良いだろ
無闇やたらにawait/asyncするよりマシ
2023/06/26(月) 15:34:19.13ID:AbxEqbtsa
プログラミングしたことないなら無理してここに書き込むなよマジで
2023/06/26(月) 17:02:06.93ID:6bPwUIFfp
バリバリ現役なんだが、だからこそ無闇やたらの同期待ちが目に余ってしかたないんだ
2023/06/26(月) 17:24:13.02ID:rofd44ra0
2023/06/26(月) 17:47:57.08ID:xvrwDUzc0
async/awaitって、待ちが発生しないから
代替処理はmutexとかじゃなく
親スレッドに完了通知を投げるような実装をイメージしてた
素人の考えだけど
2023/06/26(月) 18:03:45.93ID:dzJ0G1qca
>>489
同一スレッドでも複数のタスクが行えるのがasync/awaitのいいところ
JSなんてシングルスレッドだからね
スレッドなら待つのにはmutexやsleepを使ってデッドロックした時にはもつれた紐を解くような作業をしてたのをawaitでできるのはとても便利
491デフォルトの名無しさん (スプッッ Sd03-eK8M)
垢版 |
2023/06/26(月) 21:11:57.84ID:aG57g/0Md
awaitはC#コンパイラによって即returnに展開されるぞ
Taskの終了時にawaitしたとこまで一気にジャンプする

関数の制御構造を変えるので「async」のマーカーが必要だったり返り値がTask or Task<T>になる制限がつく

Taskの完了とかを管理するのはThreadPool。
(乱暴に言えば)言語側が用意しておいたスレッドのうち、
手が空いたスレッドが手当たり次第にタスクを実行する
2023/06/27(火) 19:16:05.01ID:QS4FigDjM
Logって実質Nlog一択なん?
2023/06/27(火) 22:09:32.35ID:ghrulNj20
AzureInsightに流すからNLogなんて何年も使ってないな
2023/06/28(水) 19:32:11.06ID:vmGYJlnU0
読みやすくなっただけでasync awaitの価値がある
2023/06/29(木) 19:21:45.21ID:KA7Oajuk0
プログラミングはコアまで理解出来るほど、上等と言えるのですか?
C#だつて中身はc++でしょう。c#自体をいじれるくらいになるのが上等なんでうsかね
2023/06/29(木) 19:26:32.60ID:wnB+yAyw0
日本語でOK
497デフォルトの名無しさん (ワッチョイ 3501-MtLz)
垢版 |
2023/06/30(金) 08:16:31.24ID:yIPSI8W+0
「C#の言語仕様変えられるほど上達しますた!」
「いいから仕事しろ」
2023/06/30(金) 08:52:01.87ID:esKo1UNu0
C#の中身がC++だと思うようではw
499デフォルトの名無しさん (ワッチョイ 6d54-wYA+)
垢版 |
2023/06/30(金) 17:31:05.12ID:t7Ah47nQ0
googleとかの検索エンジンで、検索文字列入力エリアに文字を入力すると、自動的に検索候補が出てきますが、
自分で C# の ComboBox に表示してみたら、表示までにかなり時間がかかります。
どうすれば高速化できるのでしょうか。

検索候補として IEnumerable に保持している要素数は2万件で、最初の1文字入力時に表示されるまで、体感で1秒以上かかってます。
今のソースは下記です。
------------------------
List<string> suggestionWordList = ;//あらかじめDBから取得済みの検索候補

//inputedWords は、入力文字列をスペースでsplitした配列。
void Search(string[] inputedWords)
{
var keywords = inputedWords.ToList();
var result = suggestionWordList.FindAll(s => keywords.TrueForAll(s.Contains));
ComboBox1.DataSource = result;
}
------------------------

※要素の保持方法や文字列処理は言語固有の機能が結構あるので、C# スレで質問しました。
2023/06/30(金) 17:34:41.36ID:J13eQfHYp
要素自体をインデックスで振り分けるなりして
少なくしろよw
2023/06/30(金) 17:48:35.79ID:VF6YXMlba
検索対象となる単語をあらかじめハッシュ化してオフメモリのハッシュリストを作成
入力された単語を単語に分割してハッシュリストから取得
ということをすれば速くなる

これが何を言ってるかわからなければ素直にデータベースを使えばいい
2023/06/30(金) 17:56:59.79ID:6/DdYNrc0
単純にDictionaryにしてみたら>List<string> suggestionWordList
2023/06/30(金) 18:58:29.90ID:WfbDsXZP0
>>499
トライ木っていうデータ構造が有効
C#での実装も幾つかあるので試してみて
2023/06/30(金) 19:29:54.39ID:IuqpHB1v0
RedisCacheを使う
505デフォルトの名無しさん (スプッッ Sd43-eK8M)
垢版 |
2023/06/30(金) 19:31:24.87ID:MO4ylNlnd
2万件のデータ全部に対してContainsやるって考えたら相当時間食うよ
Contains自体もそんな軽くないし


googleは相当な人と金をかけて即応答ができるようにしてるから比較しちゃいかん
ひらがな数文字に対して応答するべき内容はあらかじめ決めてる(キャッシュしてる)でしょ
2023/07/02(日) 00:34:31.39ID:Nui6TCHha
byte b1 = 0xff;
byte b2 = 0x00;

これから

0xff00のushortを作るにはどうすればいいの?
2023/07/02(日) 00:46:15.78ID:vHxGGNZJ0
>>506
b1をushortにキャストして8ビット左シフトしてb2をOR演算する。
2023/07/02(日) 01:36:16.53ID:Nui6TCHha
できた
2023/08/05(土) 16:04:29.93ID:kjB6gU/20
WinForms でコードを表示するのに TextBox だとちと物足りないんで何かいいものありませんかね。
AvalonEdit を試してみて、何とかフォームに貼っつけるとこまではできたんだけど、なかなかに苦戦中。
もうちょっと手軽なのないでしょうか。行番号、ルーラー、カレント行の下線表示ぐらいができるもの。
もしくは、AvalonEdit を WinForms から利用する詳しめの解説などありませんかね。
2023/08/06(日) 12:36:00.23ID:SuulMMGF0
ないよ
自分で作った方がいいね
511デフォルトの名無しさん (ワッチョイ 5978-c/5M)
垢版 |
2023/08/06(日) 19:32:42.41ID:Q5k+gq0j0
Azukiってコントロールを日本人が作ってるからそれを試したら?
手軽かどうかは知らないけど
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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