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

レス数が1000を超えています。これ以上書き込みはできません。
2021/08/25(水) 19:44:16.81ID:tgvUkE6r0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part151
https://mevius.5ch.net/test/read.cgi/tech/1621129559/
■関連スレ
C#, C♯, C#相談室 Part94
https://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/
・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
2021/12/09(木) 19:55:36.13ID:Zn36cQFS0
2022が最新
2021/12/09(木) 21:11:55.71ID://kyAdWZ0
NFTアートとNFTゲームとGameFiとブロックチェーンゲームに
提供する側・作る側として参入しよう。
(むりなら参加する側でもいい)
DAOとPlay-to-Earn(遊んで稼ぐ)が世界の未来になる
特にNFTアートとNFTゲームとGameFiは今なら先行者利益取れるぞ
NFTアートとNFTゲームとGameFiはこれから1000倍規模の市場になる
2021/12/10(金) 11:09:05.25ID:p5UXnudI0
dotnet.microsoft.com/ja-jp/

として日本語版サイトが立ち上がったらしいよ
と言うどうでもいいっちゃあどうでもいいニュース
2021/12/10(金) 12:01:26.74ID:t+k8TGkX0
今はユニバーサルと.net frameworkってどっちで作ればいいのでしょうか?
2021/12/10(金) 12:13:42.11ID:CU4VjXTFM
お好みでどうぞ
どちらも開発終了しているプロジェクトなので今後の展開はない
2021/12/10(金) 12:29:27.61ID:p5UXnudI0
でもVS2030になっても.net frameworkの方はサポートされてる気がする
2021/12/10(金) 14:58:40.53ID:dSCEiiiBM
2030年には.NET15が出てるのか
もう誰も残ってなさそう
2021/12/10(金) 16:39:51.50ID:JcEd7rWX0
まあそのうち「.NET」って名前も捨てるやろな
どこが「NET」やねんってツッコミもされそうな時代になってきたし
2021/12/10(金) 16:53:42.58ID:uofk+Uw9a
>>914
まあそれは最初からそうなんだけどね

Windows XPが出た時に.NET Passportっていう認証サービスも
確か一緒に登場したんだけど、たぶんそれと同じ.NETだよね。

ちなみにこの.NET Passport、XP SP2の頃には早々消滅してた記憶があるw
2021/12/10(金) 18:49:29.25ID:ABPPVcY4D
GROSSじゃないからNETなのかもしれないぞ
2021/12/10(金) 18:50:30.18ID:ABPPVcY4D
>>915
MSアカウントって名前で現役バリバリではあるな
2021/12/10(金) 19:12:13.51ID:t+k8TGkX0
いまからやるなら.net coreに乗り換えればいいのでしょうか?
2021/12/10(金) 19:20:30.02ID:jrZg0jJ80
.NET Coreは開発終了
今からやるなら.NET 6

変遷
.NET Framework

.NET Core

.NET 6 (2021/11リリース)

今後
.NET 7 (2022/11予定)
.NET 8 (2023/11予定)
2021/12/10(金) 19:32:59.39ID:uofk+Uw9a
>>917
だからブランド名の話ね

というか、正直当時も今もあんまり感心ないんで勘違いしてるかもしれんが、
..NET Passportって今のGoogleやツイッターやYahooのIDみたいに
サードパーティーにも認証サービスを提供することを想定してたはずだよね確か。

今のMSアカウントはMSローカルのIDとしてしか使われてない気が
2021/12/10(金) 19:58:02.05ID:AcbrbrJv0
>>920
OAuth2やOpenId Connectに対応してるんじゃないの?
2021/12/10(金) 20:05:07.93ID:17TQZTN0M
そう言った用途ならAzureADアカウントだと思う
2021/12/11(土) 01:27:27.28ID:nQ2KwBoK0
.net standardって謳ってたのは何だったの?あれと今の.net xの関係性がわからん
Microsoftの言ったもん勝ちに振り回されてる気がしてならん
2021/12/11(土) 02:09:45.97ID:Ic21T4cQd
>>923
.NET Standardはとっくに放棄されて死んだから全く気にしなくていいよ
むしろトラブルメーカーだから積極的に捨てたほうがいい
2021/12/11(土) 02:21:32.22ID:lM+tc9bnM
.NET Standardは他の様なフレームワークそのものではなくてフレームワーク構成のプロファイルなので位置づけが違う
.NET Frameworkと.NET Coreが共存していた過渡期の仕様なので.NET 5で統合された後はその役目を終えた
2021/12/11(土) 02:28:18.36ID:dZyCc/6DM
別に統合されてはいないでしょ
互換性の乏しい別物だよ
2021/12/11(土) 02:42:15.96ID:rKF6rMeBM
.NET Framework(Windows用)と.NET Core(Linuxメインのマルチプラットフォーム用)
の統合で作られたのが.NET 5
(CoreベースにFrameworkを吸収した形式)
更にXamarin(モバイル用)を統合して. NET 6というのが大筋の流れ
ただし現状はフレームワーク本体の統合に対してUIフレームワークの進捗が遅れているのでモバイル用はまだ完全に統合できていない
928デフォルトの名無しさん (ワッチョイ 47e6-JWjg)
垢版 |
2021/12/11(土) 08:21:58.67ID:GfYv21Eg0
Standardで書けばFrameworkでもCoreでも動くのが売りじゃなかったっけ?

破棄されたということは.NET6では動かなくなったの?
2021/12/11(土) 08:55:50.76ID:QCKRPgtgM
4年前の記事
https://atmarkit.itmedia.co.jp/ait/articles/1707/28/news033.html

要するに3種類のフレームワークのクラスライブラリを相互利用できる様にPCL(プロファイル)を置き換えるものとして計画されていた

その後クラスライブラリを含むフレームワークそのものを統合する方向に方針転換したので今となってはもはや何の意味もない
2021/12/11(土) 09:15:21.67ID:oNJJhVSgr
もうわけわからん
これがマイクロソフトのゴミ戦略
みんな捨てるわけだ
2021/12/11(土) 09:47:01.41ID:E/VsNyVn0
.NET 5が出たからといって世の中からFrameworkやCoreがすぐに消え去るわけじゃないし、
少なくとも4.8のサポートが切れる2030年までは.NET Standardの意味はあるんじゃないの。
2021/12/11(土) 10:01:45.69ID:5LGmTTMuM
開発中止されたものを無理に利用しても益はないよ
レガシー系を使うなら素直に元のライブラリ使った方が楽
おそらく手作業であちこち設定弄らないとまともに使えないと思う
2021/12/11(土) 10:37:35.18ID:sCRlvrJq0
.NET Frameworkから.NET Coreへの移行準備にはちょうど良かったと思うけどな
2021/12/11(土) 11:13:46.06ID:e3Orr6P80
こちらの足元を整える必要があると認識できた

あまり込み入ったことをしすぎたり、
マイナーなライブラリを使ってると、移行もつらくなる

ヘビーな業務アプリとかはなるべく言語の素に近い実装がいいと気付けた
少なくともMS付近のテクノロジーでは
2021/12/11(土) 11:45:13.64ID:s4WaAbfG0
まだWinformsやWPFは.netに移行できないが
UIから呼び出すクラスライブラリは.netで作りたいという向きは多いのでは?
2021/12/11(土) 12:18:05.68ID:Ic21T4cQd
>>935
UI等に依存しない純粋なStandardのライブラリとしてロジックを切り出せる程度の能力のあるチームならとっくに本体を移行してるだろうし、
そもそも今時まだWebに行けなくてデスクトップアプリやってる時点でアレ
2021/12/11(土) 12:32:41.52ID:E/VsNyVn0
>UI等に依存しない純粋なStandardのライブラリとしてロジックを切り出せる程度の能力のある

そんな大層な能力か?
2021/12/11(土) 12:34:25.02ID:s4WaAbfG0
普通に市販コンポーネントの対応状況だとかVSの機能で未実装とかさまざまに.netでのデスクトップアプリ作成を妨げる要因はあるでしょ
しかもどんなアプリにおいてもデスクトップよりWebの方が適しているなんてのも乱暴すぎて幼稚
939デフォルトの名無しさん (ワッチョイ 7f8e-sCeO)
垢版 |
2021/12/11(土) 12:49:33.02ID:w9jtQY7u0
>>936
ブラウザやVisualStudio完全否定かよ
2021/12/11(土) 13:38:03.61ID:Gd3J+jh3M
既存プロジェクトの
.NET Framework + Winforms / WPF
は無理に移行せず現状維持
新規プロジェクトは
.NET 6 + WinUI3 / MAUI(開発中)
に移行というのがMSの方針
2021/12/11(土) 13:41:21.61ID:Gd3J+jh3M
https://docs.microsoft.com/ja-jp/windows/apps/winui/
2021/12/11(土) 13:51:30.23ID:E/VsNyVn0
で、その両方から使ってもらいたいライブラリは.NET Standard 2.0 推奨
https://docs.microsoft.com/ja-jp/dotnet/standard/net-standard#net-5-and-net-standard
2021/12/11(土) 13:57:01.91ID:dRwXIFxP0
何だか苦し紛れの開き直りのようにも見える
https://docs.microsoft.com/ja-jp/dotnet/standard/net-standard#net-standard-problems
https://docs.microsoft.com/ja-jp/dotnet/standard/net-standard#net-standard-not-deprecated
2021/12/11(土) 14:06:47.47ID:s1sgTwO/a
>>939
web系技術の信奉者は現実をありのままに直視できないドリーマーが多いw
これは最近始まった話じゃなくてWindows 98の頃からそうw

Java界隈も昔はそうだったけど流石に10年ぐらい前に消えた。
Web界隈は相変わらず。

彼ら、もう15年ぐらい前からずっと「すべてはブラウザ上で実行されるようになって
デスクトップアプリは駆逐される」と言い続けているw
もう立派なカルトだねw
2021/12/11(土) 14:07:48.81ID:dRwXIFxP0
結局.NET Frameworkの延命手段として完全に手放すわけにもいかず止むを得ず玉虫色の対応といった感じかな
946デフォルトの名無しさん (ワッチョイ 47e6-JWjg)
垢版 |
2021/12/11(土) 14:11:12.85ID:GfYv21Eg0
>>944
15年前のWEBアプリって駆逐されてね?
2021/12/11(土) 14:17:14.03ID:34Vp3rtRa
集金とAI用の情報収集手段としてはWEBアプリ最強だからな
使い勝手は・・・だけど
2021/12/11(土) 14:17:41.07ID:E/VsNyVn0
>>945
逆にNET Frameworkから.NET Coreへの移行を早く進めてもらいたいからこそのStandardだろう。>>933が言う通り
2021/12/11(土) 14:23:48.53ID:dRwXIFxP0
MSが.NET Coreへの移行を焦っていたのはUWPをゴリ押ししてたからだと思うけどUWP諦めたので今さら必要あるの?
2021/12/11(土) 14:29:36.00ID:cVwF6wXc0
>>944
いつまで経ってもデスクトップアプリが駆逐される気配が無いんだが?
2021/12/11(土) 16:17:14.49ID:HJUnekpir
乱立してオワコンだろ
2021/12/11(土) 16:28:55.24ID:nQ2KwBoK0
デスクトップアプリと違ってwebformの置き換えはほぼ書き直しだからしんどそうですね
2021/12/11(土) 16:30:36.30ID:XRkKLs6o0
>>952
超しんどい。うちは塩漬け状態。いつか来るその日に震えてる
2021/12/11(土) 17:10:45.23ID:B94G/4wb0
.net5はWindows11にプリインしてくれなかったのが面倒なんだよなあ
2021/12/11(土) 17:25:46.40ID:UhQJFL400
>>954
大規模アプデのタイミングで強制インストールにして欲しいわ
2021/12/11(土) 18:23:21.96ID:NXk2eYATM
>>955
.NET5のサポート期限は来年4月
LTSである6ですら2024年に期限切れ
こんなもんWindowsにプリインなんて常識的に考えて不可能だ
Windowsのアップグレードで勝手にメジャーバージョン上がったりしたら3年毎に阿鼻叫喚だろうな
2021/12/11(土) 19:23:02.48ID:vkmjnfUQ0
じゃあやっぱ.NET Frameworkで作るのが正解じゃん
2021/12/11(土) 19:25:08.73ID:+qU2bOyG0
.net5とはなんだったのか?
2021/12/11(土) 19:33:02.18ID:fnzeFxcUM
以前.net framewarkのプロジェクトを簡単に.Net5に移行できるのかと思ったら無理だった
だったらソースをコピペしてと思ったらライブラリに互換性がないのが結構ある
シグネチャぐらいそろえてくれよと思ったがセキュリティ関連だからかなあ…
2021/12/11(土) 21:16:57.48ID:afvEZyDkr
MSこの体たらく
迷惑しかかけない
開発力もない
2021/12/11(土) 21:25:35.26ID:7kMFlVCP0
log4jよりマシ
962デフォルトの名無しさん (ワッチョイ 675f-yjVA)
垢版 |
2021/12/12(日) 00:06:29.93ID:gqLDOxIo0
移行するなら.NET 6でしょ
なんで今.NET 5なの
2021/12/12(日) 01:06:08.00ID:zlKDeT/Ed
>>957
Core系の.NETでは実行環境に.NETをインストールする必要がないんだよ
.NETランタイムをアプリ自体に同梱できるから、ユーザーにとっては全く.NETを意識する必要がなく、環境も汚さない
まあ.NET Frameworkの運用に慣れてる客だったりすると、.NETセキュリティパッチどうやって当てるのとか言われた瞬間に詰むけどなw
2021/12/12(日) 02:16:04.14ID:oOZL8nTv0
.net core系の一つのアプリの容量が数十MBになるのはそれが理由?
2021/12/12(日) 03:23:05.09ID:kKgLRxlD0
-p:PublishSingleFile=true
--self-contained:false
2021/12/12(日) 04:21:14.46ID:SAdcd1JBr
どうせまたすぐに新しい.Netなんちゃらが出てくる
2021/12/12(日) 04:45:12.50ID:JkMSsZht0
ttps://ideone.com/oOrXBQ
現在プログラム練習中で、”なつ”と打ったら”今は夏です”と表示されるものを作っています。
「現在のコンテキストに”なつ”という名前は存在しません」
と表示されるのですがどのようにしたらいいでしょうか
2021/12/12(日) 05:16:33.30ID:7TMy9Xr70
勉強してください
2021/12/12(日) 08:00:09.89ID:DIJdvbEO0
>>967
Javaはスレ違い
2021/12/12(日) 09:05:05.56ID:TEvUYcDXM
>>967
a == なつ
じゃなくて
a == "なつ"
2021/12/12(日) 09:07:14.52ID:yVQuvGNg0
>>967
“なつ”
文字列にする
2021/12/12(日) 09:37:33.27ID:JkMSsZht0
""で挟んだら出来ました、感謝します
2021/12/12(日) 09:41:41.91ID:PVSdttDfd
マジレスしてよかったのか・・・お題かと思ったわ
974デフォルトの名無しさん (ワッチョイ 47e6-JWjg)
垢版 |
2021/12/12(日) 12:26:56.12ID:Zq5QM1L+0
オマジナイで var なつ="なつ";
2021/12/12(日) 15:38:43.36ID:e+8pc4S6M
var なつ="ふゆ";
976878 (ワッチョイ df89-p36F)
垢版 |
2021/12/12(日) 15:58:16.12ID:rM2H0Wnf0
失敬、別件で少々質問。
.net core 5/6で、Windowsサービスって作れるん?
ググると出来そうな感じなんだけど、Visual Studio 2019ではテンプレートが.net frameworkしか出てこない…
2021/12/12(日) 16:00:52.33ID:e+8pc4S6M
BackgroundService を使用して Windows サービスを作成する
[アーティクル]
2021/12/10
2021/12/12(日) 23:30:51.09ID:rM2H0Wnf0
>>977
あ、なるほど。
「WorkerService」で出てくるんですな>テンプレート
アドバイス感謝
2021/12/13(月) 11:52:43.92ID:wewtKStn0
C#の正規表現でマッチするのはRegex.IsMatchで真偽を得られますが
マッチした位置のstartとendの文字位置を取得する方法ないでしょうか?
980デフォルトの名無しさん (ラクッペペ MM8f-JWjg)
垢版 |
2021/12/13(月) 12:30:15.07ID:i+9asInOM
Regex.Match
981980 (ラクッペペ MM8f-JWjg)
垢版 |
2021/12/13(月) 13:32:27.99ID:i+9asInOM
次スレお願いします
>>985
2021/12/13(月) 18:14:55.88ID:7pnzZ4JB0
こんな感じで位置情報は取れるんじゃね
start=match.Index
end=start+match.Length
2021/12/13(月) 19:41:31.37ID:kNebVXhJ0
ありがとうございます
2021/12/13(月) 21:08:47.76ID:7y8WpNWV0
List<Class>があるとして、List内のClass.nameに指定の文字列があるかを取得したいのですが
自作クラス内の要素でcontaintsってできませんか?
foreachで比較するのが正解?
2021/12/13(月) 21:15:06.25ID:In5eq4Wi0
>>984
.Where使え
2021/12/13(月) 21:17:21.47ID:7ZcyUS400
>>984
var list = new List<Class>();
var a = list.Any( x => x.name.Containts( value ) );
とか?
該当する要素が必要ならAny()をWhere()に
2021/12/13(月) 21:27:25.78ID:7y8WpNWV0
>>985-986
ありがとうございます!
どうググっていいのかわからなかったので助かりました……!
2021/12/13(月) 22:55:24.29ID:dhjmiKBp0
次スレ立てた
https://mevius.5ch.net/test/read.cgi/tech/1639403601/
空行1行削ってhttps://source.dot.net/を追加
2021/12/14(火) 06:58:31.68ID:du0GZnIr0
ttps://dotnetfiddle.net/XLqfZT
ランダムでAかBかCを表示するプログラムを作りたいのですが、これくらいしか作れません
何かもっと簡単な方法があればご教授ください
2021/12/14(火) 07:45:59.00ID:qzQ3tQASr
num - 1 を 'A' に足すとかかな。
2021/12/14(火) 09:17:16.08ID:vmKXmndG0
よくある方法としてはテーブルを作っておくとか
var dic = new[] { "A", "B", "C" };
Console.WriteLine(dic[rnd.Next(0, dic.Length)]);
2021/12/14(火) 09:57:06.80ID:e0HER7LA0
>>990>>991を合体させるのがよさそう
char a = Convert.ToChar('A' + rnd.Next(1,3));
Console.WriteLine("これは{0}です",a);
2021/12/14(火) 10:11:15.99ID:5DwVjF+M0
実際にA, B, Cを返すのなら>>990のやり方が使えるけど、本当に欲しいのが大吉、中吉、小吉、凶みたいな感じだと
>>991のになるね
2021/12/14(火) 13:46:50.71ID:du0GZnIr0
ありがとうございます、やってみます
2021/12/14(火) 13:58:59.60ID:9+ODmT2J0
0〜9までの数値文字を作るときにも応用効くから990みたいな発想は覚えておいて損はない
'0' + rand.Next(0, 10)

'A'の内部は0x0041で'B'の内部は0x0042だから'A'に1を足せばBになるという仕組み('0'~'9'も同様に連続してる)
2021/12/14(火) 14:26:45.80ID:YieXxPy2a
netcore Blazorでwebアプリ作成を勉強中なのですが、ボタンを押すとExcelファイルを開く機能を作ろうとした際にエラーが出て以下の記事を見つけました

https://social.msdn.microsoft.com/Forums/ja-JP/052366e2-fbb4-4426-8a72-f25d99e67026/c12391excel12434258052031612377124272723133021123911249912523124?forum=csharpgeneralja

この記事内で「もし Excel アプリを立ち上げてそれにファイルを表示しユーザーが操作するというようなことでしたら、それは Web アプリでは無理です。」とコメントがあります

webアプリの知識が浅いので初歩的な質問だと思うのですが、これはどういう理由からなのでしょうか?
2021/12/14(火) 14:37:28.89ID:70QYvgE2a
エラーの理由と解決方法は一番下の人の投稿の通り、
WEBアプリでEXCELをっていうのは、エクセルのUIをweb経由でクライアントに送信するのが難しいから

COMでexcelを起動してファイル操作をすること自体はできるけど、それはUIがないからね
COM経由でやるならUIは全部自分で作らないといけないないし、
COMを使わずにエクセルの画面そのものでやるならリモートデスクトップのエクセル版を全部自分で作らないといけない
998デフォルトの名無しさん (ワッチョイ 7f8e-sCeO)
垢版 |
2021/12/14(火) 14:49:24.22ID:XfsZssVB0
>>996
プログラムするのはやめとけ
999デフォルトの名無しさん (ワッチョイ 7f2a-PFkU)
垢版 |
2021/12/14(火) 18:33:30.49ID:LorwhalJ0

Slot
🍜🎴👻
💣🎰🎴
🎰😜🍜
(LA: 1.86, 1.92, 1.82)
1000デフォルトの名無しさん (ワッチョイ 7f2a-PFkU)
垢版 |
2021/12/14(火) 18:33:34.98ID:LorwhalJ0

Slot
🌸🎴🌸
💰💰👻
🍒😜🎴
Win!! 4 pts.(LA: 2.11, 1.98, 1.84)
10011001
垢版 |
Over 1000Thread
このスレッドは1000を超えました。
新しいスレッドを立ててください。
SLOT Results
🎰🎰🎰 Excellent!! 0
🎴🎴🎴 Gratz!! 0
🌸🌸🌸 OPPAI Ban!! 0
💣💣💣 Backingum!! 0
Win!! 1
Points 4 pts.

life time: 110日 22時間 49分 19秒
レス数が1000を超えています。これ以上書き込みはできません。
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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