X



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

■ このスレッドは過去ログ倉庫に格納されています
2020/05/27(水) 10:14:39.92ID:wHIUQvvs
■前スレ
ふらっと C#,C♯,C#(初心者用) Part147
http://mevius.5ch.net/test/read.cgi/tech/1582100741/
■関連スレ
C#, C♯, C#相談室 Part94
http://mevius.5ch.net/test/read.cgi/tech/1553075856/
■コードを貼る場合は↓を使いましょう。
http://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/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://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
2020/08/24(月) 21:57:28.04ID:RW1y5ZfB
流石によほどのことがない限りC/C++を捨てたりしないでしょ
2020/08/24(月) 22:45:50.15ID:8pqE6cz6
昔々ifとgotoで自由にループを書いていた暗黒時代を経てよく使う特定ユースケースが、
・while
・until
・for(each)
に整理され抽象度が一段上がったのと同様、for(each)で自由に書いていたループ処理のうち特定ユースケースが、
・select
・where
・any
・contains
などに整理され抽象度が一段上がったのがLinq to Object。
2020/08/25(火) 08:46:47.00ID:dSQFdE+U
SQLっぽい印象だな
708デフォルトの名無しさん
垢版 |
2020/08/25(火) 09:38:59.89ID:uEGrLz0S
Linqのselectは、SQLと違って個々のオブジェクトを返すわけじゃない点が使いづらいな
一体なんでこんな仕様になってるんだか・・・・
2020/08/25(火) 10:44:48.22ID:qggOQ06C
>>708
どんなケースが使いにくいん?
2020/08/25(火) 10:48:05.40ID:8u+D4Xfy
>>709
重ねると、ふたがひしゃげるやつ
711デフォルトの名無しさん
垢版 |
2020/08/25(火) 11:07:22.87ID:Zt9gBA2M
det=0
2020/08/25(火) 11:33:48.25ID:+vlPxZ6Q
ループからシーケンス(列挙オブジェクト)という発想の転換は偉大だったと思うし、
その意味では一般にはほどんど評価されてないように思えるイテレーターは凄い発明だと思ったけど、
正直LINQに関してはそこまでの革新を今も感じないね。

クエリ式は特に読みづらいしねw
2020/08/25(火) 12:00:17.35ID:hztyKjQH
イテレーターが凄い発想?
再帰なんて古代エジプトからあるだろ
2020/08/25(火) 12:19:29.57ID:udMwTrr2
イテレータと再帰に何の関係が?
715デフォルトの名無しさん
垢版 |
2020/08/25(火) 12:22:26.05ID:bE5w+3Jw
学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

VM + ASM を書いた (C#, DX) * x86 ではない!
simulationライブラリで純粋な関数式プログラミングをする
UIライブラリ (C#, 2D) を作ったよ
連続と離散を統一した!
4Dエンジン
matrixのライブラリ
ある強力なFor関数
SQLライブラリ

VM + ASM のダウンロード
ttp://up.x0000.net/files/TSimulang.zip
2020/08/25(火) 12:22:45.39ID:KRGfI1UY
繰り返しになりますが>>181
2020/08/25(火) 12:25:17.30ID:a9tz8PO4
>>716
404 - Page not found
2020/08/25(火) 12:31:50.66ID:mY7DCxIU
>>713
再帰?
知ったか失敗なのかな?
2020/08/25(火) 12:41:40.12ID:KRGfI1UY
>>717
https://docs.microsoft.com/en-us/archive/blogs/nakama/net-part-1
確かに
https://docs.microsoft.com/en-us/archive/blogs/content-removed
ですね
https://docs.microsoft.com/en-us/archive/blogs/nakama/233

We're no longer updating this content regularly.
Check the Microsoft Product Lifecycle for information
about how this product, service, technology, or API is supported.
2020/08/25(火) 12:43:18.95ID:udMwTrr2
>>717
消されたんかな?

.NETの例外処理 Part.1
https://web.archive.org/web/20190112010848/https://blogs.msdn.microsoft.com/nakama/2008/12/29/net-part-1/

エラーチェックの体系的な分類方法
https://web.archive.org/web/20190112010345/https://blogs.msdn.microsoft.com/nakama/2009/09/28/293/

↑のページに「.NET の例外処理 Part.1~4」と、「.NET と Java の例外処理の違い」のリンクがある
721デフォルトの名無しさん
垢版 |
2020/08/25(火) 12:55:44.93ID:pO8df0ou
メソッド単位で例外拾って握りつぶすのが最強
722デフォルトの名無しさん
垢版 |
2020/08/25(火) 14:50:23.21ID:5rUjA6cm
アクセス修飾子のデフォがわかりにくい。
classだけだとpublicなのかprivateなのかわかりにくい。
そんなもんいつまでも覚えてられない。
現代人は忙しいのだ。
723デフォルトの名無しさん
垢版 |
2020/08/26(水) 16:45:57.46ID:Mcis0VWw
教えてください
VS Comunity2017使ってるのですが
インストールされてるC#のバージョンって何処見れば分かりますか?
switch文のcase条件を型でwhen句使って分岐できるから7.0以上だと思うけど
ちゃんと確認しておきたいので
2020/08/26(水) 16:54:15.45ID:4E9MnypA
C#のバージョンとは

言語のバージョンなのか?
コンパイラのバージョンなのか?
.NETのバージョンなのか?
2020/08/26(水) 16:57:35.70ID:guP1FqQ/
Communityはちょっと分からんのだけど
ソリューションエクスプローラーのプロパティ→ビルド→詳細

もしくはこれでもいいかな
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/configure-language-version
2020/08/26(水) 16:59:22.64ID:bGAcIu/O
>>723
なんでそのまま検索せずにここで聞くのか200字以上400字以内で教えてくれ
727デフォルトの名無しさん
垢版 |
2020/08/26(水) 16:59:52.62ID:Mcis0VWw
あーそういうのがあるんだ、、、
言語かコンパイラだと思うけど
バージョンによって使える構文が違うでしょ?
それはコンパイラなのかな?
2020/08/26(水) 17:02:24.82ID:guP1FqQ/
ufcppでも見とけよ
M$の中の人だから嘘偽りはないと思う
2020/08/26(水) 17:03:11.03ID:guP1FqQ/
例えばこんなのとか
https://ufcpp.net/study/csharp/cheatsheet/langversionoption/
730デフォルトの名無しさん
垢版 |
2020/08/26(水) 17:09:31.13ID:Mcis0VWw
>>725
ビルドの詳細にあったわ
ありがとう
他の奴らは死ね
2020/08/26(水) 17:10:37.32ID:nDQPeisN
他のやつらは氏ねはひどいなあ
>>725はID変わったけど俺だぞ
2020/08/26(水) 17:27:52.35ID:wtfYsFOD
自殺した>>730がいると聞いて
733デフォルトの名無しさん
垢版 |
2020/08/26(水) 17:52:34.19ID:/5LXgdg3
ソリューションとプロジェクトの違いは?
734デフォルトの名無しさん
垢版 |
2020/08/26(水) 17:54:02.89ID:dZW3ATMV
かっこいい
C# で描きたい
https://twitter.com/tachisto/status/1298258890941898752
https://twitter.com/5chan_nel (5ch newer account)
735デフォルトの名無しさん
垢版 |
2020/08/26(水) 18:12:42.56ID:oEB3gdtA
>>733
C#でどうなのか知らんけど、昔ながらのWindowsアプリの場合だと。

一つのアプリにはDLLやEXEが複数必要です。

ひとつのアプリを作るためにソリューションを使います。
ひとつのDLLやEXEを作るためにプロジェクトを使います。

したがって、ソリューションの中にはDLLやEXEの数だけプロジェクトがあります。

って感じでした。
2020/08/26(水) 19:02:50.43ID:BpaQECb0
荒らしには、答えない方がよい

検索すれば誰でも分かる
2020/08/27(木) 12:18:48.37ID:/6w2hZAm
.Net Core3.1のWinFormsってDataGridView無いのか・・・
まぁデスクトップアプリなら.NET Frameworkで不自由はないんだけどさ
さすがに.NET5ではこの辺も完備されるよね?
2020/08/27(木) 15:38:25.12ID:XooyWedE
しばらくは.netが安全かね
2020/08/27(木) 15:39:09.43ID:XooyWedE
ごめん.net frameWork
2020/08/27(木) 15:51:36.34ID:5vWswAlk
>>737
あるやろ
https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.datagridview?view=netcore-3.1

ツールボックスに出てきてないのなら、いったんツールボックスのリセットをしよう
741デフォルトの名無しさん
垢版 |
2020/08/27(木) 17:17:22.18ID:bJbtmN9C
.NET 5は.NET Coreがベースと聞いたので、.NET Coreをお薦めします。
742デフォルトの名無しさん
垢版 |
2020/08/27(木) 19:04:01.29ID:GRw71Xrg
.NET CoreでButtonが出てこなくなる症状に俺も遭遇したことある
そんなバカなと思ってその時はアプデしたら治ったけどButtonが出ないって英語でググったら解決方法色々出てたよ
もしDataGridViewが出ないでググって出てこないなら試してみると良いかもしれん
2020/08/27(木) 20:53:58.97ID:6iHjEdSY
,net5 待ちで.net coreはやってないなー
2020/08/27(木) 21:09:34.73ID:3vg+bf0o
.NET Coreはデザイナにまだバグが残ってると思うけどそれ以外はできてるしな
2020/08/27(木) 21:39:14.62ID:kPlEQNDv
つかFormsを.NET5まで引っ張るのか?もう捨ててもいいだろ。
2020/08/28(金) 02:20:24.92ID:4DfkZ+9a
>>745
旧資産が多いからね。framework→.netの移行を機にユーザーの取りこぼしを少しでも防ぐために継続は仕方ないんじゃない?
2020/08/28(金) 02:24:52.64ID:dgSTJFNK
つかWinForms捨てたら後継は?
2020/08/28(金) 03:44:24.24ID:AhVeZHHn
ノートPCで.net coreのデザイナ開くのに時間がかかって、一時的に応答なしになる(待つと開く)んだけど、俺だけ?
i7 8550U / メモリ16GB / SSD NVMe 512GBなんで、決してポンコツではないと思うんだけど。
2020/08/28(金) 03:54:29.43ID:8aDUum+O
>>748
マルチメディア系の依存性でグラボのドライバとサウンドドライバと相性とか
Web API使うネットアクセスしてるんなら通信速度かも?
2020/08/28(金) 05:31:50.04ID:oE2/2ycX
JavaでGUIプログラムを作るのは大変なのに、それを画期的に簡単にしている
WinFormsを喜んで捨てるようなM$じゃないと思うぞw
まああれは元をたどればDelphiなんだがw
2020/08/28(金) 07:41:53.11ID:H7JELY0H
WinFormsってかWin32GUIの技術って覚えても他で応用効かないのがなぁ
GUIもHTMLで構築するのが最近の流れなだしC#もそうしてほしい
WPFもなんか違うし
2020/08/28(金) 07:43:09.49ID:uRkPXEbP
C++のGUIプログラムも簡単に作れたら良いな……
2020/08/28(金) 08:00:57.34ID:82Ydq7Fl
>>752
C++Builder
2020/08/28(金) 08:02:48.39ID:82Ydq7Fl
と言うか32bit時代は仕事にC++Builder本当に使ってたんだが
C#が出たんであっさりこれを捨てた
2020/08/28(金) 09:02:21.12ID:OvBt5QFO
Delphiも業務で使ってたな
2020/08/28(金) 11:31:52.66ID:cNFgn67M
WPFはバインドがもっと楽に書ければ良かったんだが
757デフォルトの名無しさん
垢版 |
2020/08/28(金) 12:06:01.11ID:LLs1s+XQ
>>747
WPF
758デフォルトの名無しさん
垢版 |
2020/08/28(金) 12:08:43.97ID:LLs1s+XQ
>>752
Tcl/Tk
WxWidgets
2020/08/28(金) 12:19:49.25ID:1Z5uoBOo
WPFはGUIに動画流すつもりでもない限りいらんわ〜
2020/08/28(金) 13:11:19.21ID:7/vp4FHO
FormsはVBゆずりのポトペタで素早くGUIアプリをでっち上げるのは
ほんとうに楽でいいんだけど、複雑になってくるとデザイナーで
編集するのが辛くなってくるし自動テストも面倒くさいな。
2020/08/28(金) 13:13:34.94ID:uRkPXEbP
>>753
>>758
あとで調べてみるわトン
2020/08/28(金) 13:20:23.57ID:MLu0ChVJ
Formsは高DPI対応が面倒
2020/08/28(金) 14:14:53.89ID:VQ4yRaWS
Electron.Netが最強伝説
764デフォルトの名無しさん
垢版 |
2020/08/28(金) 15:25:31.29ID:3b9hSP4x
MVVMパターンは必ず適用しなければいけないものではないので、それが理解できなくとも、WPFはWinFormsと同じようなスタイルでもプログラミングができる。
なので、WinFormsを使っている人は、そのことを知らないか、またはWPFで用意されているコントロール群が貧弱だと思った(自作する気のない)人なのではないだろうか。
しかし、最新のWinUIでは用意されているコントロールが過去一で豊富になるようで脱WinFormsが加速するように思われます。
2020/08/28(金) 15:42:28.39ID:VQ4yRaWS
WPFってしばらく開発すら放置していたのとクソ重いのは治ったの?
766デフォルトの名無しさん
垢版 |
2020/08/28(金) 16:20:09.70ID:3b9hSP4x
Windows 10の標準アプリをいくつか触って確認するといい。
2020/08/28(金) 16:49:22.87ID:EkP+GA07
WinUIってそんなのあるのか
UWPはどうなるんやw

っていうかWPFを使う気になれなかった理由の一つが
超絶高パフォーマンス(もちろん皮肉)をたたき出す保持モードのグラフィックだけど、
今度はそのあたりもうちょっと現実的な方法が用意されてるのかな

あと印刷関係も訳分からんかったよねw
768デフォルトの名無しさん
垢版 |
2020/08/28(金) 18:39:18.85ID:XFujtf5p
スマホとデスクトップで同じアプリが動く世界では。

スマホから印刷した場合とデスクトップから印刷した場合では、結果が違うの?
同じA4なのに?
ってなるから。

WYSIWYGは意味が無くなる。
2020/08/28(金) 18:58:59.43ID:OvBt5QFO
>>763
そういう流れになるに1票
770デフォルトの名無しさん
垢版 |
2020/08/28(金) 19:53:00.97ID:3b9hSP4x
これからもWindows GUI プログラミングを続けるつもりならXAML Controlls Galleryをインストールしておくと良いと思う。
様々なコントロールのサンプルが触れるかたちで見ることができる。
サンプルコードもWinFormsに近いスタイルで書かれていて、XAMLが絡むと難しくなると思っている人たちのもつ誤解も解けるだろう。
2020/08/28(金) 21:45:41.12ID:7/vp4FHO
>>767
高速な描画が必要な用途にはDirectX使う前提じゃね?
だから標準には柔軟な保持モードを採用したんだろう。
2020/08/28(金) 21:54:12.26ID:6oFjsBbz
WinFormsにWebBrowserControl貼り付けてUIはHTML/CSSで組むのがお勧め。
2020/08/28(金) 21:58:41.36ID:QzB/6hkA
そんなのお母さん許しません
774デフォルトの名無しさん
垢版 |
2020/08/28(金) 22:03:15.85ID:V3zcyyrc
そりゃないよかあちゃん
2020/08/28(金) 22:47:37.28ID:b7nBc/Fx
>>752
しばらく前はWTLで組んでたな
776デフォルトの名無しさん
垢版 |
2020/08/28(金) 22:50:58.50ID:3b9hSP4x
私もマルチプラットフォームという言葉に飛びついてきた人間ですが、結局のところ、それを求めるのはプログラマーであり、カスタマーではないことに気付きました。
カスタマーは最大限のユーザーエクスペリエンスを求めています。
つまり、それはどちらかというとネイティブなアプリであるということの方が近いわけです。
iOSを使っている人間は、Androidアプリが粗悪であろうとiOSアプリで最大限の体験ができればそれで良いのです。
であれば、やはりそれぞれにそれぞれのものを作り上げることが必要です。
GUIプログラミングにおいては、マルチプラットフォームという言葉は弱者の縋る藁でしかありません。
カスタマー・ファースト、それぞれに最高のものを。
さあ、マルチプラットフォームを捨てよう。
2020/08/28(金) 23:08:15.22ID:IRRC70To
>>776
VSCodeはマルチプラットフォームだけど大成功してるじゃん
778デフォルトの名無しさん
垢版 |
2020/08/29(土) 11:12:08.33ID:HmjSn9P9
Unityで造ってWebGLで公開するのが最強
2020/08/29(土) 13:21:22.89ID:1Tm3n33G
>>777
VSCodeってプラットフォーム間でどの程度ソース共通なの?
2020/08/29(土) 14:33:42.78ID:gxxzDfcY
いや本気でelectron.netがガチ最強だろ
2020/08/29(土) 14:45:06.54ID:vdfuX+h6
どうしてelectronしないのよォッ
2020/08/29(土) 15:20:51.27ID:uDIS5Gf0
誠に申し上げにくいのですが…

加齢

です…
2020/08/29(土) 19:43:09.00ID:qgT4YAAE
そのネタは10回以上聞いた
784デフォルトの名無しさん
垢版 |
2020/08/29(土) 19:57:49.43ID:c1GPVpI/
TextboxをバインドしてプロパティでCustomValidationを使用して入力値をチェックしたいのだが、バリデーションのメソッドが呼ばれない。原因わかる人いませんか?

・xaml
 <TextBox Text="{Binding HogeProp}" />
・プロパティ
 [CustomValidation(typeof(MyValidator), "ValidateFunc")]
 public string HogeProp { get; set; }
・バリデーションのメソッド
public class MyValidator
{
public static ValidationResult ValidateFunc(string value, ValidationContext context) { ・・・ }
2020/08/29(土) 20:13:21.62ID:RX7Po31A
XamlのTextBoxにValidatorもbindしろよ
2020/08/29(土) 23:17:43.89ID:tTe5QKgv
ルー大柴感すごい
787デフォルトの名無しさん
垢版 |
2020/08/30(日) 02:46:23.09ID:ZwD+TFIO
バリデーションはIDataErrorInfoとかINotifyDataErrorInfoで検索したらいい
2020/08/30(日) 05:27:19.88ID:MpJjZFKq
検索ねえ
2020/08/30(日) 08:30:45.47ID:4MoD5DHT
結局nugetは何て読むのが正解なのさ
790デフォルトの名無しさん
垢版 |
2020/08/30(日) 08:43:44.85ID:gfZIZ6L9
チキンナゲット
2020/08/30(日) 09:42:24.92ID:Yl8NJxwy
ルー語ってよくネタ扱いされるけど
日本語の判別しにくい同音異義語とか1文字の単語とかを英単語にして話すと凄い聞き取りやすくなる
2020/08/30(日) 23:12:57.74ID:ShCExdob
ムーンにフィット
2020/08/31(月) 00:59:34.88ID:4JRe7JNQ
ILMERGEってインストールしただけでビルド時にキチンと動いてくれてるんだけどなんでだろ?
exeとdll指定して叩く必要あるって聞いてたんだけど
2020/09/01(火) 19:45:26.75ID:rxfGWw0P
DataGridViewにてコードから追加されたRowをその都度捕捉することは出来ないのでしょうか?
RowsAddedイベントではe.RowIndexなどを利用しても今追加されたRowを特定する事は出来なさそうですが
2020/09/01(火) 19:55:31.07ID:XgGNoQZC
え?
2020/09/01(火) 20:51:20.69ID:E4x1EXdk
最終行じゃないの?
2020/09/01(火) 21:20:02.37ID:w/vk4Luz
DataGridついでに質問なんだけど、バインドするclassの中にList<string>なメンバーもあってそれもどうにか表に表示させたいんだけどどうすればいい?
Detailは使いたくないので可能な限りColumnの中に入れたいんだが
2020/09/01(火) 21:59:56.20ID:q3yKgY6M
>>797
連結?
2020/09/02(水) 00:15:16.66ID:wB4YzsNo
>>797
onehotencodingをヒントにせよ
2020/09/02(水) 12:12:07.29ID:RUg5xcTY
外道だろうけどComboBoxCellにしてDataSourceにそのListをバインドする
コンテキストメニューから追加削除できるようにする
ただしアイテムテキストを編集する場合はちょっと細工が必要だった気がする
2020/09/02(水) 15:33:38.02ID:A3FRNSa9
>>797
DataGridViewじゃなくてDataGrid?

まあどっちにしても独自のカラム作ればいけんじゃね
2020/09/02(水) 16:16:11.28ID:1n8aQRkE
WinFormsなのかWPF/UWPなのかでも話が違ってきそうな
2020/09/05(土) 02:42:24.49ID:dAFWTNcH
C#だけvisual studioに贔屓されててずるいわ
2020/09/10(木) 14:28:11.41ID:kNAPgoJG
public int Value1 { get; set; }
のみならず中身書くときでも自動フィールド生成させる方法ってないの?
2020/09/10(木) 14:33:24.42ID:oRytwQm5
>>804
どういうこと?
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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