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

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/12/15(土) 10:46:07.45ID:Wu4Fx0bU
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください

>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
2020/09/03(木) 13:24:38.58ID:F5m5ASgR
ちょっと思い出したけど、WPFでは1ピクセル幅の水平垂直の直線が綺麗に描画できない(ピンボケになる)
問題があったけど、あれは4Kとかの環境では気にならないのかな
2020/09/03(木) 14:35:36.67ID:yRd+jnLy
>>748
いっぱいあるぞ。
うちの業界には。
2020/09/03(木) 19:59:17.63ID:+QaKkUR1
>>748
カスタム設定(最大500%)で1%単位で設定する人は稀だろうけど
標準設定(最大350%)の25%単位の指定は使う人が増えて、解像度のバリエーションも増えたって話なのだが
4Kモニターも少しずつ広まってるし
2020/09/05(土) 08:40:32.65ID:MHY1xOGp
その前に、「WinFormsもとっくに高DPIに対応済みだ」って誰か突っ込んでやれよw
2020/09/05(土) 10:49:33.69ID:9iYaaDzM
ankerとフォントサイズの動的変更じゃ駄目?
2020/09/05(土) 13:21:00.10ID:7aeJiSvy
>>752
WinFormsも高DPIに対応してはいるけど面倒臭い
2020/09/05(土) 16:01:56.47ID:ARWucMbq
.NET CoreのWinformsでも普通にコントロール崩れるから全然ダメ
2020/09/16(水) 22:39:54.60ID:jIU6/wNj
【速報】ビル・ゲイツ死去
https://hayabusa9.2ch.net/test/read.cgi/news/1600242851/

ゲイツが天国で寂しくないようにこのスレのc#プログラマを30人ほどいっしょにうめたらどうか?
2020/09/16(水) 22:46:34.68ID:HQ9YFi7S
ビルゲイツじゃないでしょ?
2020/09/16(水) 23:00:32.69ID:LP9iHCzm
二世の方だ
ビルゲイツの親父のビルゲイツ
2020/09/17(木) 08:19:29.64ID:WgqtFT7g
ゲイツはジュニアってよばれてたなのかな
インディージョーンズを思い出す
760デフォルトの名無しさん
垢版 |
2020/09/17(木) 12:22:44.13ID:OW2OZx8D
middle name Henry の方はご健在
2020/09/17(木) 17:19:39.02ID:ZnP+7nxp
C#はゲイツの発明品じゃないだろ
2020/09/17(木) 17:26:35.18ID:DY/TSPVG
ここは雑談スレでもない
2020/09/30(水) 03:00:43.36ID:UkXS54f3
>>755
それでも困らないし全然駄目じゃないから
WPFが10年も普及してない
全然駄目なら完全に淘汰されとるわ
2020/09/30(水) 04:21:31.87ID:Zcv1ppLY
Winformでもそれなりにアプリが作れちゃうから、わざわざ新しい手法を覚えようとは思わないよなぁ
765デフォルトの名無しさん
垢版 |
2020/09/30(水) 05:20:08.84ID:/UKb1qW0
>>763
hidpi対応が全然ダメだって話だしlodpi環境自体が淘汰されてないんだから当たり前じゃろ
2020/09/30(水) 07:28:45.65ID:MlAR04xo
>>764
まさにそんな意識の人が多いんだろうなぁ。
ことあるごとに「WPFはいらない」とかアピールしなければ害はないのだが。
2020/09/30(水) 07:34:58.16ID:M14URhI0
なんか本気で凝った画面作るならunityとかあるし
工場向けならwinformsだしで
消極的に凝った画面作るときしか選択しないwpf
2020/09/30(水) 08:10:01.23ID:WMsfYqPQ
Web技術使えばいいからな
新規でWPF選ぶ時代ではない
Silverlightと同じ
2020/09/30(水) 08:15:05.31ID:VC7cxOmi
WPFも.net5+WinUI3でディスコンだけどな
770デフォルトの名無しさん
垢版 |
2020/09/30(水) 12:35:11.90ID:NNWpaWfq
お邪魔します、くだんのUnityで
c#を始めてみたんですがデスクトップビルドとHTML5ビルドのクライアントで対戦ゲームを作るようなとき
あるいはゲームでなくてもデータベース参照でも良いですが、
どうやって通信の仕組み作れば良いのでしょうか?
771デフォルトの名無しさん
垢版 |
2020/09/30(水) 13:19:18.32ID:sYKFg//m
Unityのスレがあるよ
772デフォルトの名無しさん
垢版 |
2020/09/30(水) 13:22:19.03ID:oivRVKFU
>>770
プロが書かないとそこそこ危険な分野なので、Photonみたいなのを使っとくのが安全じゃないのかな
https://assetstore.unity.com/packages/tools/network/photon-unity-networking-classic-free-1786
個人のゲームで無料の20CCUを使い切ったら大したもんだろうし、それを超えても500CCUまではかなり安く使えるんで、とんでもない大ヒットしない限りこれがいいよ
2020/09/30(水) 13:49:11.25ID:NNWpaWfq
>>771
ネットワーク通信の書き方ってUnity操作のスレなんだろうか?そこもよくわからない・・
>>772
ありがとうございます
c#始めて1週間程度なもんでココのスレ来たんだけど
ローカルでちょこっと遊んでみたいだけなんで
photonてどういうアセットなのか?
ccuが何か?すら知らなかったんで
そのあたりを調べてみたいと思います。
どうもでした。
2020/09/30(水) 15:39:11.81ID:mMxFIkOQ
Unity の C# は C# のサブセット
2020/09/30(水) 22:58:13.59ID:88URXoRi
>>232
> WinformもWPFもやったことない人なら、どっちでも楽さは変わらない
ってことは絶対ない
覚える分量もぜんぜん違うし
特にWPFとMVVMと一緒に覚えないといけないのは難関すぎる
c#精通してる人たちでも移行がすんなりいかなかったのにふざけるなよほんと
2020/09/30(水) 23:17:51.70ID:AZmvyllE
>>774
それを言ったらWinformsもサブセットだしWPFもサブセットだし大体がサブセットになるじゃん
2020/09/30(水) 23:32:40.97ID:FlnFD5lW
>>775
MVVMは必須じゃないぞ
MVVMやらないならそんなに差があるとは思わないな
MVVMまで覚えるなら確かに学習量が全然違う

つーか、1年以上前の発言にレスすんなよw
778デフォルトの名無しさん
垢版 |
2020/09/30(水) 23:38:46.92ID:wQcBlxXT
ボタンを置いてダブルクリックするとイベントハンドラが自動的に作られる…
みたいな作りやすいUIが早くできればいいのになー
2020/10/01(木) 00:03:09.65ID:+QSVvI9y
>>778
VSのWinフォームデザイナで出来てるだろうが
2020/10/01(木) 00:56:42.92ID:pTVPs5Kc
>>778
は?
781デフォルトの名無しさん
垢版 |
2020/10/01(木) 02:42:28.23ID:zz0NqDNj
WinFormsを選択する理由がない

C#はXamarin, Unity, WPFでOK
2020/10/01(木) 02:51:18.52ID:D0iMq3L3
>>778
せやな
2020/10/01(木) 03:18:09.94ID:gmn8vEFr
>>778
どういう目的でボタンを配置したのかをAIが忖度して
イベントハンドラーが自動的にプログラミングされるならすごいなー
いや余計なお世話かもしれないから
ダブルクリックでウィザードが起動するくらいなら出来なくもないか!?
ダブルクリックでUnityもXamarinも対象位置に飛ぶだけかな?
if文やトライキャッチはTABキーダブルでテンプレ挿入なるけど、まだまだ物足りない・・・
2020/10/01(木) 16:01:53.74ID:c282b8/j
.net5からはWinUI3でUWPのガワがデスクトップで利用できるようになり
xamarinからunoってのに代替わりもありそう
785デフォルトの名無しさん
垢版 |
2020/10/01(木) 16:17:26.41ID:15Icpaxe
>>776
お前サブセットの意味判ってないやろ
2020/10/01(木) 17:15:28.05ID:Am5BkVHe
>>1が理解できない、守れないやつは他へ行けよ
2020/10/02(金) 00:49:35.05ID:yLHMA8M3
.net coreはまだまだコントロールが足りなくて切り替えは厳しいな
シコシコ作った自家製クソアプリがラズパイ上で踊り狂う日を待ってます
2020/10/02(金) 07:20:55.57ID:0z7X4+Qf
async awaitの原理がよく分かりません。
await以下のコードは実行されないにも関わらずawait中にそのスレッドが固まらないのはどういう原理なのでしょうか?
具体的にはUIのボタンクリックなどのイベント関数内でのawaitの話です
2020/10/02(金) 08:51:18.97ID:kuZFus9w
既に解説してくれてる人が沢山いるから読めば
https://www.slideshare.net/mobile/ufcpp/asyncawait-114647813
2020/10/02(金) 10:35:41.15ID:p0460FPy
async awaitのメソッドはその時点でノーマルメソッドから呼べないので悪手
2020/10/02(金) 10:37:50.75ID:m3jHS+gr
>>790
何言ってんだこいつ
792デフォルトの名無しさん
垢版 |
2020/10/02(金) 11:06:17.65ID:vEIDHK0R
const 汚染とか GPL 汚染とかと一緒で
async await 汚染が広がるってのはある
もちろん回避方法知ってれば回避可能
2020/10/02(金) 11:08:01.96ID:qQOsRvHB
Asyncメソッドは名前がキモい
2020/10/02(金) 12:18:32.20ID:HvZS2dGY
githubでc#製のソースコードみてると
visual studioが吐いたファイルとかが含まれてないんですけど
普通はvisual studioで開発をしないものなんでしょうか?
2020/10/02(金) 12:22:19.93ID:X17mNl8S
普通はvsじゃない?
例えばどのリポジトリ?
796デフォルトの名無しさん
垢版 |
2020/10/02(金) 12:23:44.70ID:vEIDHK0R
無駄なものは要らんので .cs だけで済む場合は .cs だけのプロジェクトの方が好き
2020/10/02(金) 12:25:23.46ID:J9R5Ijdj
makefileを自分で書けっていうのは見るなって言ってるのと同じだよな
2020/10/02(金) 12:30:57.59ID:DER3efA5
自動生成されるようなものをリポジトリに含めてもしょうがないから除外してるだけなんじゃね?
2020/10/02(金) 12:33:28.61ID:X17mNl8S
slnもcsprojファイルも無いってことなんでしょ?
わざわざそんなことする?
2020/10/02(金) 12:41:03.88ID:m3jHS+gr
>>794
どれ?
2020/10/02(金) 17:44:48.62ID:XoOS1pa+
>>790
何故そう思った?
2020/10/02(金) 17:56:06.16ID:p0460FPy
>>801
エラー出たよ
2020/10/02(金) 19:55:46.73ID:H7VjwKcI
本物の馬鹿だったか
2020/10/02(金) 20:20:16.02ID:p0460FPy
え、ショック
2020/10/02(金) 20:42:39.37ID:LbxjABVY
間違った使い方をすりゃそりゃエラーも出るよ
2020/10/02(金) 22:24:30.87ID:p0460FPy
正しい使い方なんてあるのかよ
2020/10/02(金) 22:34:28.61ID:zXx3uGG2
当たり前だろ
2020/10/02(金) 22:48:57.10ID:p0460FPy
でもググって出てくる例っておかしいのばっかりじゃね?
2020/10/02(金) 22:52:20.08ID:SS+YiBnr
道路で逆走している車から見て「車がみんな逆走しているぞ」って言っている感じか
2020/10/02(金) 23:14:47.03ID:p0460FPy
そう言えばこの命令が欲しいときってプログレスバーで進捗状況も更新して欲しいときが99.89%なんだけど
結局while+sleepのが綺麗に書けることが多くて使ってないな
2020/10/03(土) 00:00:37.61ID:YZwmKYAY
正しい使い方を知らないのにも関わらず悪手、なんてよくいい切れるなw
プログレスバーはIProgress使うだけでじゃん
2020/10/03(土) 00:29:25.48ID:5AEEzqRi
>>811
久しぶりに聞いたなIprogress
813デフォルトの名無しさん
垢版 |
2020/10/03(土) 01:07:24.42ID:sQ+SRwj5
「非同期メソッドは、asyncがついた関数内からしか呼べない。」みたいなことが書いてある嘘ブログが結構あるからな
例の大量書き込みの人は、そう言うのを書いてる人か、それかそう言うのを読んで真に受けてる人なんだろう
2020/10/03(土) 02:58:19.24ID:/wA+nWqo
プログレスバーなんて、簡単に動かないだろ。
マルチスレッドなのに、素人ができるわけない

非同期と同じ。
コンテキスト・文脈が異なるから、特別な書き方をしないと動かない
2020/10/03(土) 08:26:53.20ID:sEhX1LxQ
別にasync/awaitがなかった時代でも
GUI操作のときだけForm.Invoke()すればよかっただけじゃない

Rubyジジイは老害みたいなこと言ってるわりにいにしえの当たり前のスキルすら持ち合わせてない
2020/10/03(土) 08:56:04.28ID:rbnJu3Rq
>>814
C#でマルチスレッドじゃないと動かないプログレスバーなんか存在しないからコンテキスト・文脈が異なるスレに帰れ
2020/10/03(土) 10:29:50.07ID:XvRdXCx6
>>789
ありがとうございます。
大雑把に言えば、await以下の同関数内のコードは内部的にはコールバック化されるという理解で良いんでしょうか?
そして待機せずに同関数から抜けるため固まらないと
818デフォルトの名無しさん
垢版 |
2020/10/03(土) 10:49:35.02ID:NjZXoVXL
UnityのC#にTaskが無いのは何故なんです?
2020/10/03(土) 10:58:38.87ID:Rg22Ictw
C++では、クラスの宣言とメソッドを別々にかけるじゃないですか
class A{
 int get();
};

int A:get()
{
}
みたいに。C#でも同様な書き方は出来ますか?
820デフォルトの名無しさん
垢版 |
2020/10/03(土) 11:03:01.12ID:C2ZTF6bo
partial は?
2020/10/03(土) 11:09:15.30ID:/wA+nWqo
JavaScript で言えば、await は、非同期・async を、同期的に書けるもの

例えば、処理A, B, C があり、
Bが非同期なら、コンテキスト・文脈が異なるから、
A, C, B の順番で実行される

await を付けると、下へ行かない。
同期処理と同じ、A, B, C の順番になる

面倒な非同期処理を、同期処理のように、上から書いた順番通りに実行される

漏れは、C# のawait は知らないから、自分で調べて
2020/10/03(土) 11:22:22.57ID:td6OdJ/B
>>821
C#のawait知らないならC#のスレに得意げに書き込むなよ知障
2020/10/03(土) 11:34:05.39ID:nJ/4CJLb
進捗率100%中の100%プログレスバー
2020/10/03(土) 11:36:39.63ID:nJ/4CJLb
1日1%感謝の進捗更新
825デフォルトの名無しさん
垢版 |
2020/10/03(土) 11:44:35.80ID:NjZXoVXL
99% から 100% になるのに 3日かかるんですね判ります
2020/10/03(土) 12:45:54.24ID:7JLpHN6R
>>825
いや、すぐ100%になるよ
その後の

更新したファイルのチェックをしています

に時間かかるけど
2020/10/03(土) 14:54:53.24ID:cvTPWa8P
C#のよりよい書き方を教えてくれるチェッカーってありますか?
シェルスクリプトだとshellcheckみたいなの
2020/10/03(土) 15:07:25.79ID:oPj9Yyz3
定番はStyleCop
2020/10/03(土) 16:25:06.84ID:hETfjJzu
ReSharperはお母さん
2020/10/03(土) 17:10:12.58ID:DOKuHmaU
>>825
単調増加するとも限らない
途中で減るプログレスバーとかあるで
2020/10/03(土) 18:26:08.32ID:NyXscKPR
システム更新系のでそんなのがあった気がしたねw

まあ、処理時間ベースの進捗度なんて出すのはどうせ難しいんだから
フリーズしてる不安だけ感じさせないようにしてくれれば十分だよね。

VS2005の時代のイメージライブラリーにナイトライダーのあれみたいな
gifアニメがあったけどああいうのでいいと思う

10段階の処理のnフェーズ目を処理中、みたいな表示はあってもいいかもしれんが
スレ違いなのでこの辺で
2020/10/03(土) 18:31:52.94ID:IvIQIb1V
最近のソシャゲはいい感じでメーター出しとるやん
833デフォルトの名無しさん
垢版 |
2020/10/04(日) 10:09:30.72ID:WrglaOe5
確かにファイルのダウンローダー系のは残り時間表示が減ったり増えたりするな
2020/10/04(日) 10:12:08.66ID:8hNgrfXT
.NET5っていつから正式版使えるの?
俺の中の作りたいプログラムキューが結構溜まってきてるんだけど
2020/10/04(日) 10:43:30.53ID:k8KFSdqF
>>834
もうGAでサポートありでは?
2020/10/04(日) 10:47:17.82ID:lIfIRwKF
>>833
ファイルがたくさんあるときは、一つのデータに固めて送れば変な変化しないと思う
2020/10/04(日) 12:58:55.35ID:eUP8i5sY
>>835
GAという表現は使ってないね。まだRC1だけどGo Liveライセンス有り。
2020/10/04(日) 14:59:03.87ID:0bpWQCgk
>>837
なるほど、ありがとう。
2020/10/04(日) 17:41:26.92ID:OuBWvyJw
C#でアプリケーションを作ってVisualStudioInstallerをSetupファイルを作ってインストーラーを使ってます
アプリで参照しているdllのバージョンが上がってSetupファイルをビルドして再配布しようとしているんですが
どうも配布先で実行しても該当のdllだけ差し替わらないのです
VisualStudioInstallerの方では該当のdllを参照しているバージョンはプロパティで確認しても最新ですが
同名dllの該当ファイルはアップデート後も書き換わらず上書きされない状態です
何か解決方法ありますでしょうか?
2020/10/04(日) 17:43:55.75ID:OuBWvyJw
補足です
配布先で、一旦アンインストールしてSetupを実行する限りは
新しいバージョンのdllが入り問題なく動作しています
2020/10/04(日) 17:54:40.72ID:h2vHNKtG
>>839
該当のdllがファイルバージョンを上げ忘れてると思われる
msiは対象のファイルのバージョンが上がっていないと上書きしない余計な仕様があって、これに引っかかる(無視する設定は無いはず)
まずはdllファイルのプロパティからバージョン情報を確認して、新旧で変わっていないようなら配布元に更新をお願いするしかない
2020/10/04(日) 18:02:38.99ID:OuBWvyJw
>>841
レスありがとうございます

該当のdllのプロパティを除くと、製品バージョンは確かに新しいものですが
ファイルバージョンが1.0.0.0と触ってないような値です
おっしゃられるmsiがチェックするのは、このファイルバージョンという理解であっていますか?
そのメーカーさんが最近nugetでアップデートを配布するようになって
アップデートする度に配布先でバージョン不一致のトラブルで悩まされてるのですが
もしかしてこのせいなのかな・・・
2020/10/04(日) 18:10:42.63ID:lIfIRwKF
仮想環境入れてやってみろや
2020/10/04(日) 18:20:31.24ID:iE//6OtY
窓から投げ捨てろ
嫌ならGUID再発行して見るべし
2020/10/04(日) 18:29:28.20ID:OuBWvyJw
>>843
一応、仮想環境入れてやっておりまして、そこで調べていてdllのバージョンが変わってないのに気づいた次第です

>>841
同メーカーの別のアップデートされているdllのプロパティを見たら
ちゃんとファイルバージョンも製品バージョンと一致させて更新されていました
トラブルが起きたdllはファイルバージョン入れ忘れの可能性が高そうなので
メーカーさんに問い合わせてみます
2020/10/04(日) 19:29:22.35ID:h2vHNKtG
>>845
少し訂正
解決方法としては、REINSTALLMODEプロパティ※を変更する方法もあるそうだ
※VisualStudioInstallerのプロパティではない
結構手間がかかるみたいだから、dllを修正して貰うのが一番だと思うけど一応
2020/10/04(日) 19:59:56.73ID:7zaljJEm
どぼんさんのとこにREINSTALLMODEを設定する方法が書いてあるので
これが一番簡単だね
http://dobon.net/vb/dotnet/deployment/overwrite.html

これはどぼんさんのところには記事がないと思うが、
MSIのプロパティは外部ツールで手動でやらなくてもPostBuildEventで
自動的に変更する方法があって、ググれば出てくると思う。

しかしMSIってそんな仕様があったんかw
っていうかもうVS10年ぐらい使ってないんだけど
今MSの推奨するインストーラーって何なの?

MSIは廃止されるはずだったよね?
2020/10/04(日) 20:08:17.90ID:h2vHNKtG
>>847
そんなに単純じゃないからちゃんと調べて
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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