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

■ このスレッドは過去ログ倉庫に格納されています
2022/06/17(金) 08:42:12.88ID:CPX9Pfyj0
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

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

■前スレ
ふらっと C#,C♯,C#(初心者用) Part154
https://mevius.5ch.net/test/read.cgi/tech/1644416019/
■関連スレ
C#, C♯, C#相談室 Part96
https://mevius.5ch.net/test/read.cgi/tech/1639965805/
■コードを貼る場合は↓を使いましょう。
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/
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
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2022/08/08(月) 10:54:39.76ID:Zu2CvCE20
>>508
パッと思いつく限りだとclassでラップするっていう原始的方法くらいしか思い浮かばない
2022/08/08(月) 13:06:08.72ID:lyYbsRurM
>>508
なんでそんなことしたいの?
2022/08/08(月) 13:07:38.93ID:lyYbsRurM
弱参照使うか
オブザーバー使ってそれぞれ更新するかかな
他にもやり方あるだろうけど達成したい目的次第
2022/08/08(月) 19:52:41.64ID:DioK39uS0
>>507
下記がオブジェクト参照がオブジェクト インスタンスに設定されていませんとか出て
すぐにできないんだなとおもってユーザーコントロールにはっつけてやり直してました。
Controls[$"textBox{i}"].Text = sb.ToString();

エラーのところコメント化して動くかみるとああ、基本的にフォームに貼り付けたものひっぱってくるだけで動くんですね。
ありがとう。
2022/08/08(月) 20:09:42.36ID:9R7bGCkQM
>>512
まずそのゴミプログラム方法をやめろ
どこの誰がそんな糞みたいなやり方を教えたんだ?
-1万点だぞ
2022/08/10(水) 08:10:20.13ID:I7WycSNa0
Controls[$"textBox{i}"]ってのあかんの?
便利やなと思ってたけど
2022/08/10(水) 08:20:57.21ID:ekVbncrCd
設定より規約という言葉もあることだし、ちゃんと管理できてるならいいと思うよ
手で配列作ったりするのはミスの原因になるからむしろダメ
2022/08/10(水) 18:17:13.30ID:8SlAES4I0
この場合はデータバインディングすべきでしょ
2022/08/11(木) 09:46:17.83ID:bzSgGXTd0
名前でひっぱって来るって相当な富豪プログラミングだな
恥かしい名前付けてたらばれるやん
2022/08/11(木) 10:55:14.05ID:L4K0queg0
そういやjavaだとクラス名の文字列からクラス生成できたっけな
2022/08/11(木) 11:00:56.57ID:GF5pk2No0
名前でアクセスするようにしてると、リファクタリングした時に死ぬ
2022/08/11(木) 11:19:42.29ID:vAulrAya0
>>518
C#だって出来るよ
2022/08/11(木) 11:23:07.46ID:bzSgGXTd0
できるできないじゃない
やるかやられるかだといつも言ってるだろ
522デフォルトの名無しさん (アウアウウー Sa55-eDUT)
垢版 |
2022/08/11(木) 12:09:59.60ID:iYrezZwUa
いや、挿すか挿されるかだ
2022/08/11(木) 20:59:48.25ID:lZmFgICj0
でぃぺんだんしーいんじぇくしょん!!
2022/08/12(金) 13:14:48.49ID:QghzorUzM
プログラミング言語C#の欠点
https://mi.5ch.net/test/read.cgi/news4vip/1660273188/
立てました!
525デフォルトの名無しさん (オッペケ Sr5d-FBk5)
垢版 |
2022/08/12(金) 14:24:33.30ID:k3dld6/ur
>>524
ないよ?
526デフォルトの名無しさん (オッペケ Sr5d-FBk5)
垢版 |
2022/08/12(金) 14:25:12.55ID:k3dld6/ur
これライブラリ化したいんですが可能ですかね?
https://qiita.com/furugen/items/74bbdfa126d7cc101a0c
527デフォルトの名無しさん (オッペケ Sr5d-4pii)
垢版 |
2022/08/12(金) 20:49:41.62ID:W9k2A9pZr
複数のプロジェクトにわたるクラスをライブラリ化って厳しいんですかね?
2022/08/12(金) 22:01:15.30ID:nwtzDlak0
そんなデカイクラスってあんの?
2022/08/12(金) 23:07:18.85ID:5/2owLeW0
複数のプロジェクトで使用するクラスだからこそライブラリにするんじゃないのか?
2022/08/12(金) 23:13:47.26ID:8yQHi8YE0
ライブラリの作り方が判らんって話?
・クラスライブラリのプロジェクト作る
・プロジェクトにライブラリにしたいソースぶち込む
・他プロジェクトからDLL、またはライブラリのプロジェクトを参照する
みたいな感じ
2022/08/12(金) 23:32:18.36ID:nwtzDlak0
目的は何なん?
ライブラリ化なんかして複数プロジェクトなんかで呼んじゃうと
影響範囲もそれなりだからね
あーソースコピってビルドしておきゃよかったなんてよくある話だよ
2022/08/13(土) 00:10:08.14ID:bvO6Jh/U0
複数のDLLで構成されたライブラリになるだけで普通に作れると思うけど
2022/08/13(土) 01:03:16.57ID:X5MwWX870
>>531
コピっていい事なんて殆どないだろ
そういう感じのソースがそこら中のプロジェクトに散らばって亜種だらけになった現場悲惨だったぞ
2022/08/13(土) 01:18:32.52ID:w1Rw8Hpr0
レベルの低い現場あるあるやね
コピーしちゃえば少なくとも今動いてるコードは壊れないからね
ただ>>533の言う通り亜種だらけになって共通不良の対策で地獄を見るんだけどね
535デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 08:14:45.82ID:qT9RB751r
xamarin用のクラスなんだけどPLCっていう共通部分のクラスとiOS,Android用のクラスがいる
これ使うときって各プラットフォームにそれぞれのDLLファイル入れて参照しとけば良いって感じなんかな?
2022/08/13(土) 09:36:31.24ID:dwJuX57c0
https://clown.cube-soft.jp/entry/20110419/cs_add_links

こんな方法で
537デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 09:59:42.33ID:qT9RB751r
>>536
ライブラリを作るよりもリンクのほうがいいんですかね?
2022/08/13(土) 10:01:15.56ID:X5MwWX870
可搬性悪くなるからやめたほうがいい
素直にライブラリプロジェクト作れ
539デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 10:09:16.92ID:qT9RB751r
Caseの中で作った変数を他のCaseで使ったりするにはどうすれば良いでしょうか?
今xamarinのドラッグ操作で最初にタップした位置を取得しドラッグ中に位置を取得したとき最初のタップした位置と現在のドラッグしてる位置を引くとタップした位置からの変化量が出ると言うようなプログラミングを組んでます
Switch
Case1 タップしたとき
A=タップしたときの位置
break
Case2 ドラッグしたとき
B=ドラッグした際の位置
C=A-B
break
としてます
A,B,C,の変数は別クラスでプロパティ化してます
540デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 10:12:52.95ID:qT9RB751r
>>538
とりあえずライブラリ化してみます
iOSやAndroidで必要なクラスは別でライブラリ名.iOSやライブラリ名.Androidで別で作って各プラットフォームにそのdllファイルを参照すれば良いですかね?
2022/08/13(土) 10:33:02.18ID:dwJuX57c0
リンクでやっといて困ったらライブラリ作れよ
バージョン毎の機能を管理できるならライブラリだけど
今の用途はリンクで十分なんだろ?
542デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 10:34:45.76ID:qT9RB751r
>>541
リンクでいいのか
2022/08/13(土) 10:40:28.03ID:dwJuX57c0
>>542
置かれてる状況次第
その環境でライブラリのバージョン管理をしない文化=常に最新をとってこいと言われるならリンクのがいいし
バージョンいくつはねーって仲間内で共有できる文化があるならライブラリにしなきゃあかんし

1人開発ではライブラリのメリットはほぼないね
544デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 10:43:05.34ID:qT9RB751r
>>543
個人開発は利点ないんですねサンクス
リンクにします
545デフォルトの名無しさん (ワッチョイ 8101-nxGK)
垢版 |
2022/08/13(土) 10:51:27.29ID:iS8x5SUl0
ソースファイルをリンクするってことは最新のソースコピペってことだろうか
ライブラリを修正したら参照してるプロジェクト全部ビルドする必要あるってことだよね…
546デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 10:55:12.82ID:qT9RB751r
ところでCase内の変数を呼び出すことってできるのでしょうか?
>>539
の方法でやると何故かタップしたときのAはCase1ではきちんと動くのですが
Case2内のAは0のままです
2022/08/13(土) 10:56:50.74ID:X5MwWX870
リンクでやるとパス変わっただけで使えなくなるからなぁ
絶対名前変えたり動かしたりしないってのなら大丈夫だろうけど
本当に個人開発でしか使えない
2022/08/13(土) 11:17:02.76ID:WN46//k40
質問の意図もイマイチ分からんしどんな実装しているのか分からんけど
過去の結果はどこかで保存してなきゃそりゃ参照できる訳無いよなw
2022/08/13(土) 11:23:08.96ID:bvO6Jh/U0
>>546
プロパティのコピーをいじくり回してるに一票
タップしたタイミングで正常な座標がちゃんと別クラスのプロパティAに格納されているかまずは確認しろ
550デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 11:26:22.92ID:qT9RB751r
>>548
case内で保存した変数を使おうとしたら未割り当てのローカル変数が使用されましたになって使えないのですが…
551デフォルトの名無しさん (ワッチョイ e95f-5Ix7)
垢版 |
2022/08/13(土) 11:27:48.39ID:NjwDb13X0
>>539
そもそもswitchの使い方がおかしい
・最初にタップした位置の取得
・ドラッグ中の位置の取得
・タップした位置からの変化量の算出
それぞれ別関数(イベントハンドラ)でやるべき
552デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 11:29:20.07ID:qT9RB751r
>>549
Case1内でAの値を表示するプログラムを作るとちゃんとAの値が表示されます
これをCase2に持ち込むとプロパティなら0になり、変数なら未割り当てのローカル変数が使用されましたになります
553デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 11:32:53.56ID:qT9RB751r
>>551
なるほどSwitchがおかしかったのかもしれないですね
この最初の項目をやろうとしてたのでSwitchで良いのかと思ってました
ただそうなるとタッチアクションイベントの中にイベントハンドラーを追加することになるのでしょうか?
https://docs.microsoft.com/ja-jp/xamarin/xamarin-forms/user-interface/graphics/skiasharp/transforms/touch
2022/08/13(土) 11:37:06.17ID:bvO6Jh/U0
>>552
Case1内でAの値じゃなくプロパティの値を表示しろ
てか他クラスのプロパティならhoge.Aって書くよな?
なんでhoge.省略してんの?
2022/08/13(土) 11:42:23.15ID:WN46//k40
>>550
まぁ、何で失敗しているかは何となく分かるw
どこかにその部分のコードを上げてくれないと正確には指摘出来ないが
どうしても解決出来ないなら別のクラスにpublic static クラス名 Aとかで宣言して
クラス名.Aとかでやれば嫌でも保存出来るよw
2022/08/13(土) 11:43:05.17ID:C5QtLQsM0
>>533
共通化することに意義がある場合とない場合両方あると思うがな。
単に似たようなものを使いまわしたいだけで将来的に同じ仕様であり続ける必要がない場合とか。
557デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 11:43:37.18ID:qT9RB751r
>>554
hoge.Aって書いてますよ
Case1内でもhoge.Aの値を表示するようにするとちゃんとその値が表示されました
2022/08/13(土) 11:55:02.73ID:bvO6Jh/U0
じゃあここに書いてないタイミングでhoge.Aが0に書き換わる処理が入ってるか
そもそもhogeが構造体でコピーされてましたとかじゃね
なんにせよ現時点の情報だけじゃ断定しようがない
559デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 11:56:41.40ID:qT9RB751r
>>555
すみませんお願いします
実装部
https://i.imgur.com/mqtZ447.png
プロパティのクラス

https://i.imgur.com/ipz7tau.png
プロパティのクラスはdsと省略してます
560デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 12:02:15.96ID:qT9RB751r
すみませんCase2でds.prAngleを使ってる部分が抜け落ちてました
色々試してたので

これをやってもCase2内のds.prAngleは0のままです

https://i.imgur.com/rXQY8ol.png
2022/08/13(土) 12:04:44.45ID:bvO6Jh/U0
そりゃタッチアクション発生するたびにDiscScratch生成してたらそうなるわな
2022/08/13(土) 12:11:18.67ID:bvO6Jh/U0
あとどうでもいいけどatan2の引数逆じゃね
563デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 12:13:44.59ID:qT9RB751r
>>561
つまりクラスの呼び出しを外に出せばよかったってことですか
ありがとうございます
2022/08/13(土) 13:19:26.88ID:jaSH9WUOM
立てました!

C#とかいうプログラミング初心者におすすめな言語
https://mi.5ch.net/test/read.cgi/news4vip/1660364216/
2022/08/13(土) 13:48:41.51ID:Wr1SDa4J0
なんでこんなスレ立てたの?
アホなの?
2022/08/13(土) 15:25:12.93ID:VIw1B6q40
>>564
糞スレ立てる才能あるね
567デフォルトの名無しさん (スッップ Sd62-BYM4)
垢版 |
2022/08/13(土) 15:44:23.35ID:XdL0YD5Xd
こういうのがcocoaを作っていたのだろうな
568デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 16:28:55.37ID:qT9RB751r
いや初心者スレだろ
569デフォルトの名無しさん (スッップ Sd62-BYM4)
垢版 |
2022/08/13(土) 16:49:38.52ID:XdL0YD5Xd
初心者にしても酷すぎるし、初心者だから何しても良いわけでない
そもそもしつこい
570デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 16:52:23.44ID:qT9RB751r
なるほど
ではこのあたりのことについて書いてある教本でおすすめとかありますか?
2022/08/13(土) 17:46:23.05ID:R59fh56/a
>>564
今日立てて今日過去ログ入りしてるの草
572デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 17:58:17.85ID:qT9RB751r
>>571
それニュー速VIP板だよ
573デフォルトの名無しさん (スッップ Sd62-TfZ8)
垢版 |
2022/08/13(土) 18:51:24.33ID:ydraF3Uid
>>570
まずはここから始めてみたら?
https://sho.jp/sho1/
574デフォルトの名無しさん (オッペケ Srf1-3aJ4)
垢版 |
2022/08/13(土) 19:03:40.70ID:qT9RB751r
>>573
このサイト作るところからってことですかね
html学ばないといけない
2022/08/13(土) 20:47:47.26ID:Wr1SDa4J0
そうだね、頑張ってね
576デフォルトの名無しさん (ワッチョイ fd54-AIpi)
垢版 |
2022/08/16(火) 02:09:22.53ID:ncwK6nbw0
WinFormsのScrollBar.Scrollイベントでスクロールが実行されたことは拾えるんですが、
スクロール開始直前のスクロール位置によって処理を変えたいんですが、「今からScrollするよ」っていうイベントってどうやって拾えるんでしょうか?
577デフォルトの名無しさん (ワッチョイ aebb-j00w)
垢版 |
2022/08/16(火) 04:49:11.62ID:RcKGtcJQ0
そんなのスクロールする人に聞くしかねえだろ
578デフォルトの名無しさん (ワッチョイ c2ad-ur7n)
垢版 |
2022/08/16(火) 07:03:00.12ID:1ATBrMAd0
哲学だな
2022/08/16(火) 07:34:13.60ID:/V/I4jay0
>>576
そんなイベントが拾えるわけがないのでスクロールの度にスクロール位置を記録しておいてそれをスクロール前の位置としろ
2022/08/16(火) 08:57:41.87ID:48MyGnzX0
スクロールバーにどうにかマウスオーバーなイベントつけて、
タッチパッドやマウスの真ん中ボタンにセンサーつけて、
カーソルボタンやエンドボタンとかもイベント挟んで、、、
2022/08/16(火) 12:43:32.61ID:pCgVxBpx0
ScrollEventArgsのOldValueでよくね?
2022/08/16(火) 12:43:35.89ID:yx28uGuU0
WinForms触らないから知らないんだけどScrollBarにdelta的なプロパティ無いの?
2022/08/16(火) 13:08:58.43ID:JSsOGCvC0
こういう人が言っている事って意味不明過ぎるんだよねw
スクロール開始直前ってどういうタイミングなんだよw
動かなきゃそもそも分からんだろw
2022/08/16(火) 13:39:41.49ID:yMgzlhes0
Window.ClosingイベントとWindow.Closedイベントみたいなのもあるから気持ちは分からんでもない
2022/08/16(火) 13:50:05.96ID:HGa5/pjK0
つーかScrollBarクラスのドキュメントのイベント一通り読めば、どういうイベントあるか判るだろうに
2022/08/16(火) 14:24:34.33ID:7uG5vyWwr
>>576
Scrollイベント内でScrollBar.Valueで拾えそうだけどどう?
2022/08/16(火) 14:59:50.26ID:h4WXO5UsH
ASP.NET Core MVCのモデルバインドについて質問です
スキャフォールディングでコントローラーとビューを自動生成しています。
生成されたコントローラーを見るとバインドするプロパティをBindAttributeを使って文字列で指定しているようなのですが、Razor PagesのBindPropertiesAttributeのようにもっとスマートに指定する方法は無いのでしょうか
2022/08/16(火) 17:31:58.10ID:Vn26Os4DM
>>576
具体的にやりたいことを書けばいいのに

スクロールのバーが下の方にあるときにスクロールを始めると
猫のアニメーション
上の方にあるときは
犬のアニメーション
を始めたいです

どうやったらいいでしょうか?
的な?
589デフォルトの名無しさん (スッップ Sd62-BYM4)
垢版 |
2022/08/16(火) 18:01:38.04ID:3rkJ3g/fd
馬鹿は発想からして馬鹿だから馬鹿なんだよ
2022/08/16(火) 23:20:54.53ID:/ezBHCexM
UIフレームワークによっては
自作しなくても最初から「いまからスクロールはじまるよ~」ってイベントがあったりするんだよ
2022/08/16(火) 23:28:59.04ID:W1lBoNLVa
スクロール関連のWindowsメッセージでは無理だな
2022/08/17(水) 12:54:34.71ID:+n3t412SM
>>591
自分でスクロールの状態管理をして
状態に応じたイベントを発火すればいい
2022/08/17(水) 15:28:27.51ID:2jvvOB2A0
スクロール開始の定義って難しいんだよね
▽ボタン連打してさらに途中からボタン押しっぱなしにしたとき
一体どのタイミングが開始なのか、とか
つまみのドラッグだけならScrollEventArgsのTypeを見ればいいんだけど
2022/08/17(水) 22:34:12.20ID:6uyBD2Rd0
keyはno->down->releaseの瞬間?
2022/08/17(水) 22:39:27.58ID:ie3TvznI0
>>593
トラッキング、ホイール、PageUpDownとかもあるしな
自前できちんとやろうとすると面倒くさそう
2022/08/18(木) 00:14:15.59ID:UjnBGYqSH
>>587ですが自己解決
MS Docsのチュートリアルに詳しく書いてありました
2022/08/20(土) 12:18:11.21ID:JRsnkQ7T0
最近、stringのnullチェックがうるさくなったなぁ
Visual Studioで警告出まくる
nullの扱いなんてプログラマの裁量()に任せてほしいよな
2022/08/20(土) 12:38:30.34ID:/egiRiEF0
警告抑止すりゃ裁量任せにできるじゃん
2022/08/20(土) 12:38:51.00ID:5pzjXFwEH
csproj開いてnullable enableを消すと静かになるよ
2022/08/20(土) 17:34:45.68ID:/mZJmGpQd
>>597
任されてるやろ
2022/08/20(土) 17:58:55.36ID:yAwI9ZI30
3人も内容的に同じことを言わなくていい
2022/08/20(土) 18:41:28.80ID:4MiuAY+ua
警告抑止とnullable disableは根本的に違う対処法だぞ
2022/08/22(月) 23:14:10.64ID:hlW9Bqv4M
hosyu
604デフォルトの名無しさん (ワッチョイ 1f68-cKYf)
垢版 |
2022/08/23(火) 06:39:34.65ID:MDljb5y+0
ASPやWPFでC#でアプリ作ろうと思ったらやっぱりHTMLなど知識は必要なんでしょうか...
605デフォルトの名無しさん (ワッチョイ 7fad-8SLj)
垢版 |
2022/08/23(火) 06:48:22.61ID:B9nWN5M80
>>604
WPFはHTMLの知識は必要ないよ
ASPは必要だけど、始める分には知らなくてもいい
606デフォルトの名無しさん (ワッチョイ 7f24-W8rp)
垢版 |
2022/08/24(水) 17:20:41.85ID:nmRyLlKO0
割と現実的なプログラミングランキグンでC#は4位
https://gigazine.net/news/20220824-top-programming-languages-2022/
2022/08/24(水) 17:33:02.59ID:bGyUAV3XM
C#は制御系ではまあまあ人気あるから、ハード寄りのIEEEの調査では高く出やすいだろうね
2022/08/24(水) 17:36:59.02ID:kB0Adp7j0
C#が上位にいるのはUnityのお陰じゃないかと
ASP.NETとかMS系の仕事だと今でも使っているのだろうけど
2022/08/24(水) 17:59:26.05ID:rQISugU90
>>606
SQLが1位ってw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

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