ふらっと C#,C♯,C#(初心者用) Part157at TECH
ふらっと C#,C♯,C#(初心者用) Part157 - 暇つぶし2ch698:デフォルトの名無しさん
23/02/22 23:14:45.72 aZ0d5T8Y0.net
>>690
既に馬鹿なユーザによって糞アプリ認定されると書いたけど?
糞アプリ認定ってのは客が誰かによるが業務系アプルなら当然改修しろって言われる
スマホアプリ見たいな奴なら売れない
反論できる?

699:デフォルトの名無しさん
23/02/22 23:17:51.51 aZ0d5T8Y0.net
>>690
お前の言ったエロビデオをPCで見たとしよう
ビデオ閲覧ソフトが面倒だって理由でUIフリーズさせててエロい画面が更新されずってなったら使わんだろ?
お前が言ってるのはそういうことだ
商品や製品レベルじゃ無いんだよ

700:デフォルトの名無しさん
23/02/22 23:19:37.65 iDIgOzo00.net
別にアプリの操作は出来なくても構わないけど、ウィンドウ移動すら出来なくなるはちょっと
今なら大した手間でもないのに

701:デフォルトの名無しさん
23/02/22 23:20:49.12 aZ0d5T8Y0.net
まあ馬鹿には分からないんだろ

702:デフォルトの名無しさん
23/02/22 23:36:22.32 SqmMPCpZ0.net
まあawaitから抜けたタイミングでCancelされたりDisposeが走ったりをいちいちチェックしなくちゃいかんのは面倒ではあるな
ただ、これを怠るとクソアプリになっちまう

703:デフォルトの名無しさん
23/02/22 23:42:53.10 nCkg+nHK0.net
ようわからんかったら全部Task.Runに押し込んでコールバックすればいいよ

704:デフォルトの名無しさん
23/02/23 03:09:48.61 K1P6f92B0.net
たんに非同期とかいうと範囲が広すぎるからな
まあ、非同期は目的じゃなくて手段なんだから、目的をはっきりさせよう
>>676のいう非同期ってのはawaitに限定した話で良いのか?

705:デフォルトの名無しさん
23/02/23 05:45:14.30 d3tkzJuS0.net
>>657
型が厳密なほうが好きだ。
varもなるべく使わないできっちり書く。
スクリプト言語で型がなくて文字列でも整数計算できたりするのはいいのだけど、
Pythonのように型宣言がないのに型がある言語がつらい。
intを入れていた変数の中身がいつの間にかfloatになっていて原因を調べたら、
途中の除算のせいだった。Pythonだとint型/int型=float型。

706:デフォルトの名無しさん
23/02/23 07:24:06.39 +YhBBcDf0.net
どうでもいいけどそれは変数の使い回しも問題じゃないのん?
除算したらもう違う意味のものやろ

707:デフォルトの名無しさん
23/02/23 08:06:33.56 BvhctNj6a.net
「//演算子」を知らないお前が悪いとしか

708:デフォルトの名無しさん
23/02/23 08:39:59.38 O5A4F0mW0.net
右辺でnewしててそのまま扱うだけの時なんかはvarしてるけど
関数の戻り値受ける時とかは型名書いて宣言してるかな

709:デフォルトの名無しさん
23/02/23 08:46:22.62 6eqWydaM0.net
C#はvar使えるけど強力な型推論でコンパイル時点で弾いてくれるから別に使ってもいいかな

710:デフォルトの名無しさん (ワッチョイ cb10-/+FQ)
23/02/23 09:23:07.97 YlmVjB0R0.net
VBだと勝手にキャストされたりするけど、C#はそのへんの制限強いもんね

711:デフォルトの名無しさん (オイコラミネオ MM91-BTrK)
23/02/23 09:43:10.46 U/HQXaW+M.net
C#の型推論は出始めは強力な部類だったけど今はrustとかと比べるとかなり貧弱なんだよな
まあ技術や概念は進歩するんだ

712:デフォルトの名無しさん (ワッチョイ 2302-S2bO)
23/02/23 10:48:24.21 NaebF7tW0.net
呼ばれてないのにRustチョーーーーーン

713:デフォルトの名無しさん (アウアウウー Sa49-ebfy)
23/02/23 12:38:42.14 c775I29ma.net
正直F#並の推論が欲しくなることはある

714:デフォルトの名無しさん
23/02/23 13:17:33.61 d3tkzJuS0.net
>>699
定数変数の倍数に丸めたくて、
hoge = 10
fuga = fuga / hoge * hoge
とかしたんだよ。たしか。
>>700
>>698を書いている時に知った。

715:デフォルトの名無しさん
23/02/23 14:19:59.52 U/HQXaW+M.net
自分はrustは勉強したけど使ってない
C#の方がいいから
外からの刺激は必要だと思うけど全部が全部取り込む必要はない
こんな微妙なタイミングでジェネリックで計算できるようになったのはrustからの刺激が原因だろうけど
今更感がある

716:デフォルトの名無しさん
23/02/23 15:19:02.16 Rcv3zn+Ua.net
ジェネリックで計算できるようにしてほしいという要望は相当前からあったぞ
むしろInt32とかは最初からIArithmeticインターフェイスを実装しかけてコメントアウトで外してる
おそらく実装者の技術的限界で見送り続けてきたのがようやく実装できたんだろ

717:デフォルトの名無しさん
23/02/23 15:28:18.88 U/HQXaW+M.net
一部で要望はあったけどずっとなくても何とかやって来てこの微妙な時期での実装
rustのマクロを駆使した超強烈な実装を見て手法が確立されて実装されたんじゃないかと

718:デフォルトの名無しさん
23/02/23 15:32:55.31 Rcv3zn+Ua.net
まあそう思いたいなら思っとけ
なんでrustとかruby使ってるやつはこんなんばっかなんだ

719:デフォルトの名無しさん
23/02/23 15:35:49.50 D5ClvIDip.net
ジェネリックで計算ってどういうこと?
言語仕様なんて全然追いかけてないからわからない

720:デフォルトの名無しさん
23/02/23 15:35:55.63 U/HQXaW+M.net
だから使ってないって言ってるだろ

721:デフォルトの名無しさん
23/02/23 15:38:21.15 BgVzVA3A0.net
>>712
generic mathでググれ

722:デフォルトの名無しさん
23/02/23 16:13:42.99 ZqbKv2H4r.net
>>710
理屈と膏薬はどこにでもつく

723:デフォルトの名無しさん
23/02/23 16:26:11.54 Rqipt3qxp.net
>>714
ふむふむ、なるほどねー(何もわかってない)

724:デフォルトの名無しさん
23/02/23 18:09:58.93 U/HQXaW+M.net
超簡略して書くと
今まではジェネリックで単純に計算できなかったけど制約付きでできるようになりましたよ

725:デフォルトの名無しさん (ワッチョイ ed68-h1Ka)
23/02/23 20:40:35.46 5afFl0ZD0.net
>>714
ググった。マジすか。
昔から欲しかった数値型制約ってことすか。
待ってて良かったC#

726:デフォルトの名無しさん (ワッチョイ b579-ZKto)
23/02/23 20:43:42.35 1RS70dw+0.net
>>698
俺も書くときはvarが好きで
読むときはvarは嫌い

って思ってたらVSで一発で変換できる機能があったから使ってた

727:デフォルトの名無しさん (ワッチョイ 0d02-/+FQ)
23/02/24 00:34:19.46 LXr7iqjl0.net
面倒くさいからvar使いまくってるわ

728:デフォルトの名無しさん (ワッチョイ 1501-An8R)
23/02/24 01:03:49.83 PeKlM3lq0.net
varってint入れた後、変数再利用でstring入れたりできる?

729:デフォルトの名無しさん (ワッチョイ fd10-j6dJ)
23/02/24 01:23:46.89 Q77HdEB50.net
できない
暗黙なだけで型を持った変数だから
なんでも取れるオブジェクトではない

730:デフォルトの名無しさん (ワッチョイ ed68-h1Ka)
23/02/24 07:39:41.14 5s0A+5N90.net
C#やってるせいか、型宣言しないJavascriptは不安になる。
でも、そっちの人達は逆に冗長に感じるんだろうか。

731:デフォルトの名無しさん (ワッチョイ 5507-ebfy)
23/02/24 08:09:39.64 OehCc09P0.net
JavaScriptの型はこんだけしかないから
URLリンク(developer.mozilla.org)

クラスはなんちゃってクラスでメソッドやプロパティとして使える属性をいくらでも増減できる連想配列でしかないから変数に型を宣言するだけ無駄
それを無理やりやるとTypeScriptになる

732:デフォルトの名無しさん (ワッチョイ 0d02-/+FQ)
23/02/24 08:10:35.46 LXr7iqjl0.net
そもそも変数を再利用しようとするなと
バグの温床だし、新しく変数宣言しろ

733:デフォルトの名無しさん (ワッチョイ 5507-ebfy)
23/02/24 08:14:35.74 OehCc09P0.net
<


734:a href="/test/read.cgi/tech/1669349768/725" target="_blank">>>725 ++とか/=とか使ったことのないタイプかw 今回問題になってるのはPytonで除算に二種類の演算子があって片方を使うと小数点以下が出るということだけなんだよw



735:デフォルトの名無しさん (ワッチョイ 0d02-/+FQ)
23/02/24 08:21:35.39 LXr7iqjl0.net
>>726
さすがにインクリメントとかにはどうこう言わんけど
ここで言う再利用ってのは、別の目的に使いまわすなってことな
わざわざstringにしたいって事は出力等が目的だろうから、それ用に変数作れ

736:デフォルトの名無しさん
23/02/24 09:11:31.26 k+kkC7Nop.net
ref した引数に値を入れなくてもいいけど
out する引数は値を入れないとだめなん?

737:デフォルトの名無しさん
23/02/24 10:07:52.27 zTZFqfcCd.net
ちょうど今GIMPのPythonでint→float→intとやらされて色々と考えさせられるものがあった

738:デフォルトの名無しさん
23/02/24 10:13:00.07 IQGX/86sp.net
pythonって、型変換によって出る数値精度の劣化ってどう思ってんだろって常々疑問に思ってる

739:デフォルトの名無しさん
23/02/24 10:17:03.70 RFzamc280.net
>>728
そういう意味の修飾子だからね

740:デフォルトの名無しさん
23/02/24 14:05:40.83 ccbVR1xk0.net
varならvarで全然いいけど、
一番嫌なのは「なんでここは分かりきってるのにvarじゃないんだよ!」って思わされること
理不尽なストレスが嫌なだけ。VSなら提案されるからそんなにないけどね

741:デフォルトの名無しさん
23/02/24 18:47:14.17 gJNax+MV0.net
自作のコントロールで矢印キー押すと
なんでかフォーカスが移動して入力不能になる現象が発生して悩んでたけど
ProcessDialogKeyをオーバーライドするっていうのやってみたら収まった

742:デフォルトの名無しさん
23/02/24 20:01:44.03 qE9KpEOq0.net
>>732
使用箇所を文字列検索かけたときにvarになってるとヒットしないのが嫌だな
visualstudioならvarから元の型に戻せるから戻しておいてほしい

743:デフォルトの名無しさん
23/02/24 20:09:57.73 X82MwmgO0.net
文字列検索をやめればいいんじゃね
参照箇所の検索でヒットするかしらんけど

744:デフォルトの名無しさん
23/02/24 20:21:44.92 OehCc09P0.net
型名で検索なんかしたことないわ
どんだけ長いメソッド書いてんだ

745:デフォルトの名無しさん
23/02/24 21:06:30.12 KCjnBZl8M.net
VSの便利な機能を知らないから型名で文字列検索してるんだろう
かわいそうに

746:デフォルトの名無しさん
23/02/24 22:42:06.35 xSIwGcb90.net
>>734
文字列検索をする必要がほとんどないのがVSのC#の大きなメリットなのに

747:デフォルトの名無しさん
23/02/25 01:56:33.91 WSoHMtrUd.net
C#の後にC++/CLRで作業するとめっちゃストレス

748:デフォルトの名無しさん
23/02/25 02:13:00.47 W+rTgIxF0.net
C++/CLRなんて必要な場面ある?

749:デフォルトの名無しさん
23/02/25 02:20:29.88 WSoHMtrUd.net
ない

750:デフォルトの名無しさん
23/02/25 02:57:31.15 i9tFdOEb0.net
C++/CLIじゃなくて?
CからC#を呼ぶためのラッパーを作るのに使ってる。
C→C++/CLI→C#
言語としてはカオスすぎると思う。

751:デフォルトの名無しさん
23/02/25 09:01:46.97 Qtv3l3QB0.net
managedな参照や名前空間、それにfinalizerなどが追加されたくらいで構文等も明解だと思うがなあ。
カオスというなら当のC++自身の方がよっぽどカオス。

752:デフォルトの名無しさん
23/02/25 10:18:33.21 5xbVML89M.net
カオスと言うか黒魔術みたいなレベルだし呪文を唱えさせられるのがキモイ

753:デフォルトの名無しさん
23/02/25 10:32:27.39 Qtv3l3QB0.net
SFINAEとかADLとかまさに魔術だよなあ。

754:デフォルトの名無しさん
23/02/25 10:51:49.65 W+rTgIxF0.net
今時C・C++触りたくない
地雷原が多すぎる

755:デフォルトの名無しさん
23/02/25 12:12:03.26 o/Ym2CPC0.net
すごくスレチだけど聞いてみたい。
C・C++ の地雷ってどんなの?

756:デフォルトの名無しさん
23/02/25 12:30:25.26 i9tFdOEb0.net
>>747
メモリ範囲外アクセス

757:デフォルトの名無しさん
23/02/25 12:47:41.33 4hS8Efqpa.net
>>748
その辺なら以前に比べてだいぶマシになってるぞ
生の配列とポインタの代わりにVectorとか使えばいい

758:デフォルトの名無しさん
23/02/25 12:52:47.37 i9tFdOEb0.net
C言語「そんなものはない」

759:デフォルトの名無しさん
23/02/25 14:01:22.71 DPzAUzVtM.net
ほかにも標準と呼べるオープンなドキュメントが無い、環境依存、未定義動作の多さ、文字列操作の貧弱さなどクソ要素挙げるとキリがない
速度だけがメリットだな

760:デフォルトの名無しさん
23/02/25 14:03:00.56 xCsxsaHDp.net
ヌルポ

761:デフォルトの名無しさん
23/02/25 14:06:15.81 lQBV1xBt0.net
勉強すればするほどわからなくなる言語、c++

762:デフォルトの名無しさん
23/02/25 14:10:32.78 TtZ3k42Xp.net
テンプレート多用し出した辺りからおかしくなって
マネージド対応する頃には別言語になってた

763:デフォルトの名無しさん
23/02/25 14:21:54.79 mMXgXQi10.net
子どもの頃にN88から始まってC++/Win32APIでもしっかりもの作って
自分のHP作るのにJavaScriptやPHP書いて、そんで近年はC#してるから
まぁ型宣言あるのも無いのもどっちも受け入れられてるなw

764:デフォルトの名無しさん
23/02/25 14:38:42.47 dAzPm75C0.net
そんなことしなくても大半のやつは受け入れられてる

765:デフォルトの名無しさん
23/02/25 15:40:00.51 wyXcT7/f0.net
読むのにはあったほうがいいのは確実で右クリックメニューで一発変換なので
気がついたら俺がvar消しとくから大丈夫だ

766:デフォルトの名無しさん
23/02/25 16:54:24.41 KRwgMm4X0.net
csprojのImport要素で読み込んだmsbuildタスクの.targetsにて$(IntermediateOutputPath)が機能せずnullなのですが
読み込み元プロジェクトのIntermediateOutputPathを得ることは不可能なのでしょうか?

767:デフォルトの名無しさん
23/02/26 08:45:30.70 2htEN4+y0.net
>>757
何で読むのに型が必要なの?
VSでカーソル合わせりゃ型名分かるやん
VS単体でできたか忘れたけどReShaper使うと型名をグレーで表示してくれるのもあるやん
何よりvarから変換してそのままバージョン管理にコミットしてプッシュするん?
無駄に色んな箇所の修正履歴付いて糞面倒

やっぱり底辺無能プログラマって考え足りないんだなw

768:デフォルトの名無しさん
23/02/26 08:49:23.47 2htEN4+y0.net
別にやるなとは言わんけどある程度状況が落ち着いてから一気にリファクタリングしろよ
そもそもチームやプロジェクトでコーディング規


769:則決めておいてコードフォーマット共有しておいて変換される様にしておけば良い チームやプロジェクトでvar使うルールなら黙って従え 自分の好きなルールにしたけりゃ出世しろ



770:デフォルトの名無しさん
23/02/26 10:18:52.53 PXNtu1caM.net
var使うなってルール聞いたことがない

771:デフォルトの名無しさん
23/02/26 10:29:02.26 OE3X2HvJ0.net
>>759
逆に言うとカーソル合わせないと分かんないじゃん

772:デフォルトの名無しさん
23/02/26 10:30:46.28 OE3X2HvJ0.net
カーソル合わせないと分かんないコードと
見ればわかるコードと
どっちがいいか議論の余地もないですね

773:デフォルトの名無しさん
23/02/26 10:36:48.50 PXNtu1caM.net
>>763
馬鹿が偉そうに

774:デフォルトの名無しさん
23/02/26 10:37:01.47 OE3X2HvJ0.net
URLリンク(learn.microsoft.com)
なんかマイクロソフトさんも
お前らの言う使い方は非推奨じゃない?

775:デフォルトの名無しさん
23/02/26 10:37:53.33 PXNtu1caM.net
そもそもが厳密に型がわからないとコードを理解できない人間がコード書くなと思うが

776:デフォルトの名無しさん
23/02/26 10:40:31.54 2htEN4+y0.net
>>763
だからReShaper使えばいいじゃん
そもそもコード追うのにVS使ってコードジャンプとかも使うじゃん
そうか!
無能だから紙に印刷したコード見てるわけか!
なるほど納得だよw

777:デフォルトの名無しさん
23/02/26 10:40:50.97 OE3X2HvJ0.net
まあ大御所様がループカウンタとか定数以外使ったらぶっ殺すぞって言ってるんだからそれで終わりよ

778:デフォルトの名無しさん
23/02/26 10:41:03.48 PXNtu1caM.net
varが出来た当時は自分も馬鹿だったからvarには否定的だったけど
今はvar使わない人間は真の馬鹿だと思ってる

779:デフォルトの名無しさん
23/02/26 10:45:38.22 2htEN4+y0.net
でも型名にしたところで分かるのは宣言の所やん
コードをスクロールして見ていってこの変数なんだっけってなったら結局カーソル合わせて確認するやん

そうか!
無能だから未だにハンガリアン記法で変数名付けてるんですね!
でもそうなるとvarでも良いんじゃ?
いやぁ無能の考えることは分かりませんなぁw

780:デフォルトの名無しさん
23/02/26 10:45:52.90 OE3X2HvJ0.net
またお前らに完全勝利をしてしまった

781:デフォルトの名無しさん
23/02/26 10:47:49.58 2htEN4+y0.net
アホすぎて勝負になってないw

782:デフォルトの名無しさん
23/02/26 10:48:44.93 OE3X2HvJ0.net
だって作ったマイクロソフトさんも勧めてない使い方してるのに何言ってるの?

783:デフォルトの名無しさん
23/02/26 10:52:33.04 PXNtu1caM.net
>>773
MSのコード見て見れば?
roslynだろうがcoreだろうがvar使ってるよ?

784:デフォルトの名無しさん
23/02/26 10:53:22.68 OE3X2HvJ0.net
>>774
そこ書いたやつがウンコだっただけよ

785:デフォルトの名無しさん
23/02/26 10:54:32.98 PXNtu1caM.net
>>775
使ってない人がウンコだと気が付けよ
新しい他の言語でもvar相当のものが実装されててみんな使ってる

786:デフォルトの名無しさん
23/02/26 10:55:34.64 PXNtu1caM.net
var相当のものを使わない派は多分全体の0.01%ぐらいの割合だよ

787:デフォルトの名無しさん
23/02/26 10:58:38.89 2htEN4+y0.net
ぶっちゃけどっちでも良い
varで書かれてようが型名だろうが読むのに困った事は無い
勿論どっちかに変換しなくてもだ

788:デフォルトの名無しさん
23/02/26 11:00:48.02 EH54EPWP0.net
スレチだけど、教えて。
>>773
そのマイクロソフトさんが勧めていない、ここで挙げられた var の使い方ってどういうのがあった?

789:デフォルトの名無しさん
23/02/26 11:37:49.57 xFOa2C1pp.net
varが便利だなぁって思うの
長ったらしいクラス名のオブジェクト使うときくらいかなぁ
後はC時代に生きた俺としては型名無しで受けるのは違和感しか無いし

790:デフォルトの名無しさん
23/02/26 11:38:46.95 2htEN4+y0.net
>>780
つまり老害w

791:デフォルトの名無しさん
23/02/26 11:44:29.82 JuHo9gXt0.net
>>773
MSのコード規則が世界の全てじゃねぇぞw

792:デフォルトの名無しさん
23/02/26 11:45:30.12 xFOa2C1pp.net
うおー、iPhoneじゃセミコロンが打てないw
コード書いてこんな場合は型名の方がいいよって書こうとしたのに
残念だ

793:デフォルトの名無しさん
23/02/26 11:48:22.16 2htEN4+y0.net
そもそもリンク貼られたコーディング規則にvarを使うなって記述は無い
勿論
>割り当ての右側から型が明らかではない場合,
>var を使用しないでください。
といった当たり前の注意は有る

794:デフォルトの名無しさん
23/02/26 11:49:42.82 2htEN4+y0.net
>>783
すまんが意味不明
アイポンだけどセミコロン打てるで?

795:デフォルトの名無しさん
23/02/26 11:55:53.77 xangEsOIp.net
そうだ、VBAのvariant導入しよう
何でも入れ放題、違う型にも再利用し放題だぞ

796:デフォルトの名無しさん
23/02/26 12:01:21.94 xFOa2C1pp.net
;あ、カナ変換モードだと無理なだけだったわ

797:デフォルトの名無しさん
23/02/26 12:04:16.19 xFOa2C1pp.net
その場でメソッドから戻り値受け取る様な場合にはvarで良いが
予め宣言しておく変数を使う場合は型名で宣言してるなぁ

798:デフォルトの名無しさん
23/02/26 12:19:06.70 uDw5JavV0.net
命名さえきちんとしてればvar使おうがどっちゃでも構わんよ
うちの会社では全面的にOKにしてる

799:デフォルトの名無しさん
23/02/26 12:21:39.64 H0yuRSQqp.net
初期化無し変数使わない人たち?

800:デフォルトの名無しさん
23/02/26 13:29:38.39 NMq20dGb0.net
>>786
勘弁してください

801:デフォルトの名無しさん
23/02/26 15:39:47.68 5M6WVcNga.net
>>788
初期化せず予め宣言すること自体ないわ

802:デフォルトの名無しさん
23/02/26 15:50:59.27 /EdsYwMi0.net
>>792 try-catchの外側で変数宣言しないの?



804:デフォルトの名無しさん
23/02/26 16:03:34.39 UDvE2DGT0.net
それこそ初期化してないとダメなやつでは?

805:デフォルトの名無しさん
23/02/26 16:05:18.21 5M6WVcNga.net
>>793
ああわかった
お前のメソッドは無駄に長いんだよ
そのブロック外に出せ

806:デフォルトの名無しさん
23/02/26 17:59:22.50 1pphtrpop.net
>>795
外に出しても同じじゃね?

807:デフォルトの名無しさん
23/02/26 18:15:27.22 CTUJHtcQ0.net
>>796
同じ?
いったい何をしようとしてんだ

808:デフォルトの名無しさん
23/02/26 18:27:05.38 PXNtu1caM.net
よくわからんけどこんな感じの話かな?
一般的な使い方
try{
 何らかのファイルを読み込んだりするメソッド()
}catch
上の初心者の使い方
べつの何らかのメソッド(){
try{
 File.ReadAllText()
}catch //もうここでキャッチしてる
}

809:デフォルトの名無しさん
23/02/26 18:35:34.01 1pphtrpop.net
varで宣言するか、型名で宣言するかの話な
string s;
swith(hove)
{
case 1:
s = “one”;
break;
case 2:
s = “two”;
以下略
みたいな時に、
string s;って書くか、var s = “”;みたいに書くか

810:デフォルトの名無しさん
23/02/26 18:37:30.50 2htEN4+y0.net
そういう事じゃなくてtryの中での何かしらの情報をcatchの中でも使いたいって事なんじゃね

811:デフォルトの名無しさん
23/02/26 18:41:55.62 kPCuIbSup.net
いや、一連の流れはvarを使うか型名を使うかの話なんだが?

812:デフォルトの名無しさん
23/02/26 18:45:14.91 PXNtu1caM.net
ダメな例外の使い方
Tekitou a = null;
try{
a=適当なメソッド();
} catch(略)|
return null;//もしくはエラーコードなんか返したりするw
}
return a;

813:デフォルトの名無しさん
23/02/26 18:59:07.89 PXNtu1caM.net
それでメソッドの戻り値がnullかどうか判定してると言う…
必要な場合もあるかもしれないけどよく考えてみて欲しい
var a=適当なメソッド();
a.何かする();
return a;
でtry-catchは呼び出し元で判定でいいんじゃないかと

814:デフォルトの名無しさん (ワッチョイ 6102-wWxq)
23/02/26 19:01:36.48 uDw5JavV0.net
Try系メソッドの存在の否定始まったな

815:デフォルトの名無しさん (オイコラミネオ MMad-W5vA)
23/02/26 19:03:07.43 PXNtu1caM.net
上の初心者は
Tekitou a = null;
がtryブロック前に必要だからvarじゃだめだって言ってるんだろ?

816:デフォルトの名無しさん (オイコラミネオ MMad-W5vA)
23/02/26 19:05:15.93 PXNtu1caM.net
>>804
違う
上位で捉えたら例外の意味が伝わるのにnull何かにして渡す意味はないよと
try-catchの場所を間違えてるよと

817:デフォルトの名無しさん (アウアウウー Sa39-hxGH)
23/02/26 19:08:43.27 6DyDqsNYa.net
だから何だ死ね。

818:デフォルトの名無しさん (ワッチョイ 6102-wWxq)
23/02/26 19:09:32.53 uDw5JavV0.net
例外の内容を精査する必要が無いなら、握りつぶす事はあり得る

819:デフォルトの名無しさん (オイコラミネオ MMad-W5vA)
23/02/26 19:20:26.09 PXNtu1caM.net
もし対応不能な例外なら
var result=何とかメソッド();
if(result is null)
{
console.writeline("原因はわからんけど失敗しました");
return ;
}

↓こうなったほうがいいんじゃないか?(個人の感想です)


try{
var result=何とかメソッド();

catch(適当)

console.writeline("ファイルがなかった");

catch(また適当)

console.writeline("ファイルのフォーマットが間違ってた");


820:デフォルトの名無しさん (アウアウウー Sa39-K1He)
23/02/26 19:31:21.12 jfiEDsdga.net
>>800
初期化してない可能性があるのに使えるわけないじゃん

821:デフォルトの名無しさん (ワッチョイ fd79-RFKS)
23/02/26 22:13:31.77 OE3X2HvJ0.net
センスゼロの奴に限って非推奨なことやりたがるってよくわかるな

822:デフォルトの名無しさん (ワッチョイ 897c-B+wy)
23/02/26 22:43:29.16 2htEN4+y0.net
>>810
話の流れが分かって無いアホw

823:デフォルトの名無しさん (ワッチョイ 6102-wWxq)
23/02/26 22:48:20.14 uDw5JavV0.net
話が完全に横道に逸れてて草

824:デフォルトの名無しさん (ワッチョイ eebc-PJrl)
23/02/26 22:53:18.80 EH54EPWP0.net
横道という�


825:ゥ、スレタイも >>1 も読めない奴らに草



826:デフォルトの名無しさん (ワッチョイ 6d07-K1He)
23/02/26 23:21:00.54 CTUJHtcQ0.net
>>812
話の流れをもうちょい前から読んで見ることだなw

827:デフォルトの名無しさん
23/02/27 20:12:03.56 Akgqa2X30.net
try-catchとか関係なくて
nullに初期化したいときにvarが使えないってだけの話だろ
varは型が推論できないとダメなんだからそういうもんだってだけ
変数をnullで初期化することの是非や例外の扱いは別の話

828:デフォルトの名無しさん (ワッチョイ fd79-sOXG)
23/02/27 21:56:17.35 egjSOww/0.net
初心者スレで非推奨のvarの使い方勧めるのやめてくださいね

829:デフォルトの名無しさん (オッペケ Sr75-W5vA)
23/02/27 22:29:07.67 JLUpdfoUr.net
どうしてもvarを使ってnullで初期化したいなら、たとえば
 var s = (string?)null;
でいちおう文法的にはいけるね

ローカル変数宣言はすべてvarで統一するようなコーディングスタイルを採用してるなら、
個人的にはちょっと賛同しがたいけど、そういうポリシーということでアリなのかもしれない

830:デフォルトの名無しさん (ワッチョイ ae68-ZYAP)
23/02/27 22:43:14.23 GQlYFKfY0.net
Cシャープ滅茶苦茶勉強して知識死ぬほどあるのに
競技用プログラミングではセンスある未経験に負けるのが悔しすぎて泣きたすぎる

831:デフォルトの名無しさん (ワッチョイ 6d07-K1He)
23/02/27 22:52:24.05 IwcHfuRb0.net
言語学者が文学で勝負すんな

832:デフォルトの名無しさん
23/02/28 07:11:14.63 3WmX3+jc0.net
(センスとか言ってる時点で知識量が足りねーんだよ)

833:デフォルトの名無しさん
23/02/28 14:16:08.99 y7elf6D90.net
ufcpp見るとだいたいvar使ってればOKでコードが読みづらくなるならvar以前の問題が何かあると書いてる
まったくもってその通り

834:デフォルトの名無しさん
23/02/28 17:33:08.16 ovA6LiBhM.net
>>822
なんか根拠あるの?

835:デフォルトの名無しさん
23/02/28 17:50:10.38 qEty2QKoa.net
経験則

836:デフォルトの名無しさん
23/02/28 17:50:55.08 qEty2QKoa.net
ufcppより経験を積んでる自信があるなら論破してこい

837:デフォルトの名無しさん
23/02/28 19:28:39.24 50ahu/qg0.net
そもそもvarは、コードを書く人のための機能であって
コードを読む人のための機能ではないと思うぞ

838:デフォルトの名無しさん
23/02/28 19:29:40.86 M/injSE6p.net
三文字打てば良い楽々コーディングよな

839:デフォルトの名無しさん
23/02/28 19:53:22.92 It5dm/K20.net
>>825
そこマイクロソフトよりデカい?

840:デフォルトの名無しさん
23/02/28 20:03:37.91 qEty2QKoa.net
だからそう言ってこいよ

841:デフォルトの名無しさん
23/02/28 20:24:10.06 gde+l/Fdp.net
VisualStudioは、 varを使うか型名を使うか、どっちにしても余計なお節介出して来るんだよなぁ

842:デフォルトの名無しさん
23/02/28 20:36:45.66 0m/LxTGDM.net
ツールに振り回されてんの?
人として情けないね

843:デフォルトの名無しさん
23/02/28 20:44:18.58 kJd3bldF0.net
何言ってんだコイツ。

844:デフォルトの名無しさん
23/02/28 22:14:36.56 QptBiF/w0.net
ただでさえプログラムは面倒くさい事のオンパレードなのに、var位使って行こうぜ

845:デフォルトの名無しさん
23/02/28 23:33:21.23 N7XzWDMw0.net
>>822
完全に同意
否定人のコーディング見てみたい

846:デフォルトの名無しさん
23/03/01 01:34:59.57 VyWbviLu0.net
LINQの場合、var書かないわけにもいかないし、その時だけだと統一感が悪い。

847:デフォルトの名無しさん
23/03/01 07:54:50.21 qaR+V2vd0.net
>>835
お前はお前で匿名クラスなんて使ってんじゃねえよ
上位互換のタプルができて何年経つんだ

848:デフォルトの名無しさん
23/03/01 08:07:51.48 tbGPzE+Ma.net
タプルが上位互換とは

849:デフォルトの名無しさん
23/03/01 08:44:56.23 c5msHDS5a.net
varを使ったほうが楽じゃん

850:デフォルトの名無しさん
23/03/01 09:03:00.15 qaR+V2vd0.net
>>837
知らんのか

851:デフォルトの名無しさん
23/03/01 10:03:28.25 sgVp+QOv0.net
Item1とかItem2とか、どれが何のためのデータなのか解らんようなの使う気にならんな……

852:デフォルトの名無しさん (アウアウウー Sa39-K1He)
23/03/01 10:25:21.30 zgl5hYJEa.net
>>840
名前つけられるの知らんのか

853:デフォルトの名無しさん (ササクッテロル Sp75-BJMC)
23/03/01 10:28:16.33 NWENc0Hxp.net
メソッドの引数のネーミング、考えるの面倒だよな?

854:デフォルトの名無しさん (アウアウウー Sa39-K1He)
23/03/01 10:45:11.60 zgl5hYJEa.net
命名が難しいのはだいたい設計が悪い
ローカル変数ならともかく引数は明確な役割があるはず

855:デフォルトの名無しさん (ササクッテロル Sp75-BJMC)
23/03/01 10:46:22.97 iOTs8eHzp.net
>>843
だからそのprivateメソッドの方が尚更面倒なんよ

856:デフォルトの名無しさん (アウアウウー Sa39-K1He)
23/03/01 10:48:50.55 zgl5hYJEa.net
だからそれは変な切り出し方をしてるからだよ

857:デフォルトの名無しさん (ササクッテロル Sp75-BJMC)
23/03/01 10:51:27.66 iOTs8eHzp.net
ローマ字つづりでいいかなぁ?

858:デフォルトの名無しさん (ワッチョイ 05e5-wWxq)
23/03/01 10:54:17.84 sgVp+QOv0.net
>>841
そっちのタプルは構造体やん

859:デフォルトの名無しさん
23/03/01 11:44:56.01 zgl5hYJEa.net
>>847
構造体だからパフォーマンスが高いんだろw

860:デフォルトの名無しさん
23/03/01 12:27:27.77 sgVp+QOv0.net
俺、パフォーマンスの話なんかしとらんからなぁ
まぁ、ValueTupleも場合によって使うけど、だいたい即値分解してしまうからあんまりメンバ名付けたことないな

861:デフォルトの名無しさん
23/03/01 12:51:38.98 iHuCndf+a.net
>>849
じゃあ構造体で何が悪い?

862:デフォルトの名無しさん
23/03/01 14:00:57.77 svqy3iKu0.net
なんでこの人たちこんなイライラしてるの

863:デフォルトの名無しさん
23/03/01 15:07:47.34 qaR+V2vd0.net
イライラしたやつ出てきたなw

864:デフォルトの名無しさん
23/03/01 17:45:05.94 LI8bJI1D0.net
正規表現で、一致した文字列のうちの一部だけを変更するにはどうすればいいでしょうか。
例えば、
\[.+\|.+\]
というパターンでマッチングして、マッチした値の[と|と]を置き換えたいです。
↓例
入力:[あ|あいうえお]
置換後:<あ-あいうえお>
※[を<に、|を-に、]を>に置き換えています。

865:デフォルトの名無しさん
23/03/01 17:49:47.98 81D5Vj700.net
\[(.+)\|(.+)\]
<$1-$2>
これくらいハゲでもわかる

866:デフォルトの名無しさん
23/03/01 17:55:01.04 LI8bJI1D0.net
>>854
ありがとうございます!!(>▽<)

867:デフォルトの名無しさん
23/03/01 19:34:04.22 LQeRVcKu0.net
また髪の話してる・・・

868:デフォルトの名無しさん
23/03/02 01:06:05.40 pwr4e0eZ0.net
ModernWPF UIのコンテントダイアログでプログレスダイアログをいい感じにMVVMで実装する方法ないかな?
やりたいこと:
これをProgressDialog.xamlで定義してEventAggregatorでイベント飛ばしてプログレスバーとテキストを更新
URLリンク(github.com)
令和にもなって、IProgressDialogやTaskDialogというか別ウィンドウ出すのはなんかダサいし。

869:デフォルトの名無しさん
23/03/02 01:40:05.17 W+Au/SFm0.net
>>857
WPF(.NET, WinUI) GUIプログラミング Part31
スレリンク(tech板)
ここで質問の方が良くないか?

870:デフォルトの名無しさん
23/03/02 09:19:55.51 pwr4e0eZ0.net
>>858
OK、そっちで質問してみる。
マルチポストになっちゃうが。

871:デフォルトの名無しさん
23/03/02 09:20:53.64 2uS/Yj6n0.net
誘導されてきた言えば問題ないやろ

872:デフォルトの名無しさん
23/03/02 09:51:09.87 TSzVcIRer.net
>>1にも
>内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
とあるしね

873:デフォルトの名無しさん
23/03/04 22:44:54.38 MWrxXT5A0.net
あるクラスの中に定数やenumを定義したとき、そのクラスのインスタンスを複数個生成したら
全く同じ定義がそれぞれのインスタンスに含まれてしまうのでしょうか?
もしそうでも別に実害は無いですが、なんか気持ち悪いです。

874:デフォルトの名無しさん
23/03/04 22:52:26.87 XS/j5rrj0.net
アホw
出来る出来ないの話と
実際にやるやらないは別
気持ち悪いと思うならやならければ良い
それがクラス設計ってもんやろ

875:デフォルトの名無しさん
23/03/04 23:10:17.51 MWrxXT5A0.net
>>863
では、862の現象が事実だと仮定して、それを回避するには
例えばCarState列挙型を定義したいときは、Carクラスとは別にクラスを作ってそこに定義するしかないのでしょうか?

876:デフォルトの名無しさん
23/03/04 23:31:39.37 8JZeKg+Q0.net
ただの定義にインスタンスもなにもないよ
気にする必要は無い

877:デフォルトの名無しさん
23/03/05 00:06:21.53 jHbb3BElM.net
>>862
含まれない

878:デフォルトの名無しさん
23/03/05 00:18:49.48 ebD0iZh90.net
>>865
>>866
ありがとうございます。

879:デフォルトの名無しさん
23/03/05 01:59:20.41 Q+Z0cI/30.net
そこらのSEよりC#のコンパイラのほうが何倍も賢い

880:デフォルトの名無しさん
23/03/05 07:49:42.36 eEJXh7qx0.net
>>864
何で列挙型をクラスの中に作るって発想しかないの?
CarクラスとCarState列挙型を作るだけやろw
アホw

881:デフォルトの名無しさん
23/03/05 07:56:16.98 ZL6T0NVj0.net
>>862
constはクラスの中に入れんとダメだが、enumはclassの中じゃなくても定義できるやで

882:デフォルトの名無しさん
23/03/05 08:19:17.85 eEJXh7qx0.net
結局は基礎が出来てないだけかw
出来る事が分かってなきゃそうなるわな
特に基礎レベルで分かってなきゃ尚更

883:デフォルトの名無しさん
23/03/05 08:27:55.53 XuMWIxYS0.net
constやenumがビルドしたらどうなるのかとか、classの実体がどうなるのかとか
そういうのちゃんと勉強した方がいいね

884:デフォルトの名無しさん
23/03/05 08:59:55.66 4pO1EQ6ma.net
>>869
それは別にいいだろ
作れるようになってんだから
クラスの中に入れちゃいけない縛りだとprivateなenum作りたいときどうすんの

885:デフォルトの名無しさん
23/03/05 09:22:43.13 eEJXh7qx0.net
>>873
だから“しか”って言ってんだろ

886:デフォルトの名無しさん
23/03/05 09:24:43.12 eEJXh7qx0.net
こういう文章の意味が分からずに突っ込んで来る連中って本当にプログラム書けてるの?
プログラム“言語”だぞ

887:デフォルトの名無しさん
23/03/05 09:25:19.90 4pO1EQ6ma.net
>>874
逆になぜそこで「しか」と思っちゃったんだよ

888:デフォルトの名無しさん
23/03/05 09:26:42.55 4pO1EQ6ma.net
>>875
お前昨日のやつだろ
自分の言葉がどれだけ怪しいか指摘されたことないのか?
煽り抜きで見るからにアスペだぞ
指摘されても自分で否定して忘れてるならこれからは少し聞く耳を持ってみろ

889:デフォルトの名無しさん
23/03/05 09:32:14.41 eEJXh7qx0.net
昨日のやつ?
俺はDBのPKフィールドはGUID使えばリスク減るって言ってた奴だよ
別人と勘違いすんじゃねえよ
文言で区別付くだろ
これだから無能はw

890:デフォルトの名無しさん
23/03/05 09:34:22.04 VNYPZIzLd.net
相手の質問に煽るだけって時点でね…
そもそも質問も答えもまだ理解できてないんじゃないか

891:デフォルトの名無しさん
23/03/05 09:39:07.78 HVqlejWD0.net
>>878
そっちの無能かw
どっちにしろ無能じゃねーかw

892:デフォルトの名無しさん
23/03/05 09:47:05.28 eEJXh7qx0.net
は?
お前ら全員が無能だって証明されて終わったやんw
何言ってんだ無能w

893:デフォルトの名無しさん
23/03/05 09:55:22.67 4pO1EQ6ma.net
こんな典型的なアスペはなかなかいないな

894:デフォルトの名無しさん (ワッチョイ 8b7b-RSMl)
23/03/05 10:35:18.92 tq7yfQYd0.net
>>870
learn.microsoftなど見るとこれが一番適切な回答っぽいな。ただキーワードが分かっているものは自分で検索したほうが質問するよりずっと早い
enum
URLリンク(learn.microsoft.com)
const
URLリンク(learn.microsoft.com)

あとNG推奨
ワッチョイ 417c-1tkp
アウアウウー Sa1d-/UsF
ワッチョイ c907-/UsF

895:デフォルトの名無しさん (ワッチョイ c907-/UsF)
23/03/05 10:38:45.37 HVqlejWD0.net
>>883
どこを見て有効だと思ったんだw
NG推奨はお前だアスペ

896:デフォルトの名無しさん (スップ Sd73-Qpn1)
23/03/05 11:33:39.09 LimRRCEtd.net
前回は流してたんだがGUIDをキーにするとした場合、
少ない時間で大量にデータが登録される際の並び順ってどうやって保証するのかね
(INSERT~SELECTで複数件登録するとか)
そういう時は使わないって回答なんだろうか

897:デフォルトの名無しさん (ワッチョイ 4110-W5Lg)
23/03/05 12:11:21.86 V5cM5Nk90.net
IDENTITYの自動採番だってそういうの保証はされないんじゃね?
何らかの順序情報が必要ならそれを持たせるようにしないと。

898:デフォルトの名無しさん (ブーイモ MMeb-YseW)
23/03/05 15:46:52.04 CbYCfeUhM.net
>>886
一括の複数インサート時の順序は保証されてる

複数テーブルにまたがる複数のトランザクションならインサート順とコミット順が前後する可能性はあるけどインサート順とidentityの大小は基本的に保証されてる
保証されないのはIDENDITY_INSERT OFFのような特殊な使い方をした時だけ

ついでに言うとコミット順で完全にソートできるようにするには1つのトランザクションがコミットするまで次のトランザクションを待たせる作りが必要になるので一般的にはやめたほうがいいやり方

899:デフォルトの名無しさん (スップ Sd73-Qpn1)
23/03/05 16:11:18.22 LimRRCEtd.net
普通は1トランザクション内で保証されていればいいと思ってるけど
仕様によっては複数トランザクションでも保証しないとだめなケースもあるとしたらそうかもしれないね
スレチだったわすまん

900:デフォルトの名無しさん
23/03/05 16:34:12.19 wm/Rzcr70.net
GUIDはメリットがまったくないわけじゃないが、言うほど強力なものでもない
何しろ彼でさえ理由を具体的に説明できない程度だからね
で、問題はユニークであることが完全に保証されないからそれなりのケアが必須だってことだな

901:デフォルトの名無しさん
23/03/05 16:37:17.48 V5cM5Nk90.net
>>887
だから他のトランザクションから見てID列の値が単調増加に見えるのはdirty-readの場合だけじゃん。
一般的なread-commited以上なら最大IDより小さなIDが後から挿入されたように見えることもあるわけで。

902:デフォルトの名無しさん
23/03/05 17:55:09.83 7ksBORrg0.net
すまんが、ASP.Net Coreに用意されてる3(4?)つのフレームワークでさあ
ログインページを各言語に対応させるにはどうすればよかんべ?
他の自分で作ったページを多言語化する方法は乗ってるけど、フレームワークで用意されてるログインページ等はどうすんじゃい???
URLリンク(learn.microsoft.com)

903:デフォルトの名無しさん
23/03/05 18:35:43.98 Vq0cOu8uM.net
>>890
何が「だから」なのかよくわからない
他のトランザクションから見て最大IDより小さなIDが後から挿入されたように見えて何か問題あるの?
>>886に書いてある何らかの順序情報を持たせたとしてもコミット順じゃなくインサート順だから全く同じことなんだが?

904:デフォルトの名無しさん
23/03/05 22:00:17.61 V5cM5Nk90.net
>>892
>他のトランザクションから見て最大IDより小さなIDが後から挿入されたように見えて何か問題あるの?
そこは外のトランザクションから見た場合に挿入順序とIDの増加順が一致することが保証されないという
事実を書いただけだが。
それで困るかどうかは要件次第。
たとえば定期的な処理で前回の処理以降に追加されたレコードを求めるのに前回のmax(ID)を使うとか、
そういう用途には使えない。

905:デフォルトの名無しさん
23/03/05 22:13:31.94 V5cM5Nk90.net
いや、明示的にテーブルロックとるかrepeatable-read以上で最初にmax(ID)取得してしまえばいいか?
どっちにしろそのへん意識する必要がある。

906:デフォルトの名無しさん
23/03/05 23:19:20.27 6Aoy6FGpM.net
>>894
分離レベルで対応するならシリアライザブルじゃないと防げないんじゃないかな?
でも現実的にはテーブルロックやシリアライザブルは同時実行性能を極端に落とすので
挿入日時のようなデータを使って締め前に開始したトランザクションが確実にタイムアウトしてるようなタイミングで締め前に挿入されたデータだけを処理したり
処理ステータスを示すカラムを作って対応する
バッチ処理の頻度や重要度やエラー時に必要な対応によって実装を選択することになる

907:デフォルトの名無しさん
23/03/05 23:30:28.82 wm/Rzcr70.net
結局レコードをトランザクションに書き込むタイミングでIDは発行されるしタイムスタンプもその時間となる
コミットしたタイミングなどDBに記録することは不可能だし一体何を問題にしているのやら

908:デフォルトの名無しさん
23/03/05 23:41:58.79 NuUQDnR4M.net
GUIDとの比較で重要なのは後続のバッチ処理みたいなのがあったときに
IDENTITYの場合はほぼシーケンシャルアクセスで処理できるがGUIDだと完全にランダムアクセスになるので桁違いの遅さになる
外部キーなんかを含めて1ページに収まるレコード数が減るのとランダムアクセスで性能が極端に悪化する場合があるのがGUIDの一番のデメリット
NEWSEQUENTIALID()でシーケンシャルなGUIDも作れるけど分散環境でマージが必要な状況でない限りIDENTITYに対するメリットがない
他にはULID使う方法なんかもあるけどやっぱりメリットデメリットがあるので当たり前だけど用途に合わせて使い分けるもの

909:デフォルトの名無しさん
23/03/05 23:43:48.09 V5cM5Nk90.net
>>885の言うような順序の保証は単なるIDENTITY任せじゃダメな場合があるってこと。

910:デフォルトの名無しさん
23/03/05 23:54:52.18 wm/Rzcr70.net
>>898
IDの発行と書き込み時のタイムスタンプはトランザクションに書き込んだタイミングで同時に行われるから
結局IDとタイムスタンプの順番はおなじになるんじゃね?
コミットのタイミングなど何処にも記録されない

911:デフォルトの名無しさん
23/03/06 00:04:07.46 +8ntKfDE0.net
トランザクションの外から見た場合、タイムスタンプが古いレコードが後から現れたりするのは変わらん。

912:デフォルトの名無しさん
23/03/06 00:47:16.07 ai8Q1Y+e0.net
>>887
>インサート順とコミット順が前後する可能性はあるけどインサート順とidentityの大小は基本的に保証されてる
インサート順ってなんのことを言ってるの?
まさかSQLの発行タイミングのことをいってるのか?

913:デフォルトの名無しさん
23/03/06 08:34:46.51 WDk1SNWF0.net
また始まったのか・・・

914:デフォルトの名無しさん
23/03/06 08:41:17.38 jJIeXpQ30.net
何度スレチだと言われても耳を貸さない連中だから放っておくしかないべ

915:デフォルトの名無しさん
23/03/06 09:01:59.17 Qy0wg21h0.net
ニートだからスレタイ読めないのか、スレタイ読めないからニートなのか、それが問題だ!

916:デフォルトの名無しさん
23/03/07 16:27:16.46 R6IzsuUJ0.net
Blazor Desktop でアプリ作る場合、JS 使うのって邪道ですか?
普通はどうなんでしょうか?

917:デフォルトの名無しさん
23/03/07 16:29:37.59 nGiwAbPE0.net
>>905
邪道というより仮想DOMがよくわかってないと難しいぞ

918:デフォルトの名無しさん
23/03/07 21:34:13.24 eLRrbAoH0.net
>>905
別に邪道じゃないよ
猫ジョーカーもPrism.js使ってた

919:デフォルトの名無しさん
23/03/07 22:25:01.39 /W+QRqxd0.net
コントロールのプロパティをVisual Studioのプロパティからいじるのと、
コードに直接記載するのはどっちがベストプラクティスでしょうか?

920:デフォルトの名無しさん
23/03/07 23:03:26.48 iHhQsjAZ0.net
>>908
好きなほうでいいよ
自動生成か自分で記述するかは些細な違い
コメントも残したいなら当然、load以降のタイミングだね

921:905
23/03/08 00:27:21.36 OaTx32y+0.net
>>906-907
ありがとうございます。
今既に使ってるんですが、後になって「JS使わない為のBlazorだろ」とか「JSなしで出来ねーのかよ」
とかいう謎のイチャモン言われるのがちょっと怖かったのです。

922:デフォルトの名無しさん
23/03/08 07:00:30.67 +lL6bJso0.net
Load以降じゃなくてもコンストラクタでも良くない?

923:デフォルトの名無しさん
23/03/08 07:59:37.27 UYleOs8I0.net
>>910
マウイ君みたいなキチガイは無視でいい

924:デフォルトの名無しさん
23/03/08 08:08:55.61 dTyeizIq0.net
>>908
デザイン画面との差異が発生しにくいから
コードじゃないと設定できない事以外は基本的にはフォームデザイナでやってる
コードでやられると、一々実行して確認しないといけないし
人によって書き方・書く場所違ったりして追うのが邪魔くさい

925:デフォルトの名無しさん
23/03/08 08:51:11.40 qdKF3wc3d.net
フォームデザイナは良いんだけど、変更値をコードに出力する方法あるのかな
パラメーターシート作る時毎回困る

926:デフォルトの名無しさん
23/03/08 09:11:44.28 h0XeijSda.net
>>914
designer.cs

927:デフォルトの名無しさん
23/03/08 09:16:43.12 jVki9SUw0.net
昨日一日、メソッドが動かなくて悪戦苦闘してたが
単に、メソッドを割り当ててたボタンのクリックイベントが
なぜか外れてただけだった!
くそ!!!!

928:デフォルトの名無しさん
23/03/08 09:22:20.21 h0XeijSda.net
>>916
なぜ外れたかはともかくなんでそれで一日悪戦苦闘することになるんだ?
真っ先にイベントハンドラにブレークポイント張らないか?
それで呼ばれなかった場合Shift+F12で一発でわかるだろ

929:デフォルトの名無しさん
23/03/08 09:50:33.13 NmLqgG0dM.net
>>914
デザイナで設定した値全部ドキュメントに出力すんの?不毛すぎる
ドキュメントから初期化メソッドのソース生成するならまだ分かるが

930:デフォルトの名無しさん
23/03/08 10:51:13.94 jVki9SUw0.net
>>917
デバッガの見方がいまいちよくわかってないからなwww
分かりやすいサイトあったら教えてくれ
メソッドのケツで止まってるような表示だったから
中身ばかり見てた
結局、関係するところ全削除して
ボタンを配置しなおしてクリックイベント設定したら
最初のメソッドで動いた

931:デフォルトの名無しさん
23/03/08 12:46:01.79 qdKF3wc3d.net
>>918
既定値から変更した箇所って原則全て網羅してパラメーターシートに出してるけど
これ仕事だと普通じゃないの?
不毛なの?

932:デフォルトの名無しさん
23/03/08 12:48:38.98 qdKF3wc3d.net
>>915
これにコードとして出力されるのね
理解した

933:デフォルトの名無しさん
23/03/08 13:11:31.27 /RllHwwua.net
>>920
普通ではないし意味もわからんがそうすることになってるなら仕方ないな

934:デフォルトの名無しさん
23/03/08 13:13:09.06 /RllHwwua.net
もし普通ならもっと簡単にできる仕組みが一般に広まってないとおかしい

935:デフォルトの名無しさん
23/03/08 14:24:27.05 6WeulyynM.net
>>920
普通じゃない
むしろ何に使うんだ?

936:デフォルトの名無しさん
23/03/08 14:52:43.10 iEMOw9f1M.net
お客様に見せつけてお金を貰います

937:デフォルトの名無しさん
23/03/08 17:00:31.74 VS7v+oF80.net
しかしchatgptやべーなー…
ちょっと前ならここで聞くか迷うような質問がガンガン出来てしまうしかなり詳しい回答が返ってくる
勉強の補助として使うには最高だわ

938:デフォルトの名無しさん
23/03/08 17:02:00.64 /RllHwwua.net
マジかよ
信じるのかあれを

939:デフォルトの名無しさん
23/03/08 17:07:23.70 i5ZyQ2rsM.net
あいつここの住人と同じで息するように嘘つくぞ
しかも2021年までのデータしか無いんだろ?
最新の内容は無理ぽ

940:デフォルトの名無しさん
23/03/08 17:21:25.63 UUazuFXC0.net
出鱈目でも自信満々にそれっぽく説明してくるからな
知識が無いと嘘なのか判断出来ないから質が悪い

941:デフォルトの名無しさん
23/03/08 17:53:41.74 KzA+PBQYa.net
スシロー・ペロペロ法を用いて平方根を導出するコードをC#で作成せよ。ただしバカッター係数は3.0とする。
以下はC#でのスシロー・ペロペロ法を用いた平方根の計算の例です。バカッター係数は3.0とし、入力値はdouble型とします。
csharpCopy code
using System; class MainClass { public static void Main (string[] args) { Console.Write("Enter a number: "); double num = Convert.ToDouble(Console.ReadLine()); double guess = num / 2.0; // 初期値をnumの半分に設定 double error = num * 0.001; // 許容誤差はnumの0.1% double diff = 1.0; // 初期値は適当な値 while (diff > error) { double prevGuess = guess; // 前回の推定値を保存 guess = (guess + num / guess) / 2.0; // 新しい推定値を計算 guess = (3.0 * guess - prevGuess) / 2.0; // バカッター係数を適用 diff = Math.Abs(guess - prevGuess); // 推定値の変化量を計算 } Console.WriteLine("Square root of " + num + " is " + guess); } }
上記のコードでは、ユーザーに数値を入力してもらい、その平方根を求めます。最初の推定値は入力値の半分に設定し、許容誤差を入力値の0.1%とします。バカッター係数を適用するため、スシロー・ペロペロ法の通常の更新式の前に、前回の推定値と現在の推定値の重み付き平均を求めます。そして、推定値の変化量が許容誤差以下になるまで、この更新式を繰り返します。最終的に求められた平方根を出力します。
ChatGPT Feb 13 Version. Free Research Preview. Our goal is to make AI systems more natural and safe to interact with. Your feedback will help us improve.

942:デフォルトの名無しさん
23/03/08 17:58:25.85 KzA+PBQYa.net
ChatGPTすげーな

943:デフォルトの名無しさん
23/03/08 18:11:57.15 KzA+PBQYa.net
スシロー法(Suzuki-Roiter Algorithm)は、平方根を求めるアルゴリズムの一種です。このアルゴリズムは、ニュートン法や二分法などの他の平方根アルゴリズムに比べ、比較的単純であり、また高速なアルゴリズムの一つです。
スシロー法では、次のような手順で平方根を求めます。
求めたい数値xと、初期値aを設定します。
aを用いて、次の式によりbを求めます。b = (a + x / a) / 2
aとbの差を求め、ある閾値(例えば、0.0001)以下であれば、bを平方根として返します。差が閾値よりも大きい場合は、bを新たな初期値として、ステップ2に戻ります。
以下は、C#でスシロー法を実装した例です。バカッター係数は、コード内のコメントに記載されています。

944:デフォルトの名無しさん (ワッチョイ 41da-zdzo)
23/03/09 03:15:28.74 CHgoITyz0.net
すまん、誰か知ってたら教えて。
ASP.NET CoreのIHostedServiceを実装したバックグラウンドサービスで、
ef.coreのDbContextをコンストラクタでDIした。

ローカルPC上の開発環境では問題なく動いてしまう。
ローカルで動いたのでAWSなどのクラウド上にデプロイすると
Error while validating the service descriptor 'ServiceType: Microsoft.Extensions.Hosting.IHostedService Lifetime: Singleton ImplementationType:~
Cannot consume scoped service 'hoge.DbContext' from singleton 'Microsoft.Extensions.Hosting.IHostedService'.
とエラーが出て起動できない。

つまりIHostedServiceはsingletonでef.coreのDbContextはScopeServiceだからDI出来んよということだと思うだけど、
じゃぁなぜローカルでは動いてしまうんでしょう?

C#と関係ないかもだけど、適切なスレが見つからなくて。。

945:デフォルトの名無しさん
23/03/09 07:31:12.85 Azdv+gVA0.net
お前マウイだろ

946:デフォルトの名無しさん
23/03/09 12:24:29.91 0FhUXViP0.net
違う環境で動かないのをなぜ、ときかれても
環境が違うから
としか答えようがないわけだが

947:デフォルトの名無しさん
23/03/10 10:06:26.28 eWY0TFlg0.net
またボタンのクリックイベントが勝手に外れたよ



948: しかも二つ同時に デザイナーが悪いのか さらにその裏で何か悪さしてるのか



949:デフォルトの名無しさん
23/03/10 10:09:15.50 cbogJmpl0.net
お前が悪いんだよw

950:デフォルトの名無しさん
23/03/10 10:10:11.36 GTZI+M+4p.net
バージョン管理ツールの使い方を間違えてる奴が居るんだろ
旧バージョンからの修正を上書き更新する様な奴が

951:デフォルトの名無しさん
23/03/10 18:24:12.28 xFwaknBvM.net
>>936
入門1週間~1か月あるあるだな
過去に誰もが通る道じゃないかな
答えは操作を間違ってるから
ボタンをコピペするとイベントは付かない
同様にカットアンドペーストしても付かない
ボタンを他のページなどに移動させる際にカットアンドペーストを使うとそういう状態になる
どこかにいったんドラッグ移動させてから再度ドラッグ移動させるとうまくいくよ

952:デフォルトの名無しさん
23/03/12 09:27:27.50 TpUonps10.net
FontDialogで既定のフォントを指定するのに
fontdialog.Font = myFont のようにするだけではダメで
結局インストールされているフォント全部とmyFont.Nameを比較して一致するものを探した

953:デフォルトの名無しさん
23/03/15 23:56:35.07 Z/0CGH7g0.net
webアプリを作ってみようといくつかの記事を読んでみるとよくコントローラークラスなるものを見かけます
UIとオブジェクトを紐付ける役割というのはぼんやりとイメージは理解できました
全然知見が無いのですがMVCパターンを用いた開発が一般的なのでしょうか?

954:デフォルトの名無しさん
23/03/16 07:34:34.54 ROTa9WZ40.net
一昔前はそうだった。
今は、UI側はAngularやらReactやらで作る
バックエンドのASP.NET CoreはUIからのリクエスト(ほぼJSONオンリー)を受け取って、結果をJSONで返すのみ。
あえて言うならMVCだけどVの部分が別世界で進化した結果、MicrosoftのRazorビューエンジンがほぼ使われていない感じ

955:デフォルトの名無しさん
23/03/18 06:09:34.00 eIMKVM/V0.net
Blazorの、
1. bind-value:set と bind:set の違いを教えて下さい。
2. bind-value:get と bind:get の違いを教えて下さい。
-value があってもなくても普通に動いてしまうので、違いが判らないです・・・

956:デフォルトの名無しさん (ワッチョイ e15f-ny0K)
23/03/19 02:39:15.79 OF2pFVcA0.net
rem #ignore thumbnails created by windows
rem #Ignore files build by Visual Studio
rem --------------------------------------
rem *.exe
rem --------------------------------------
del /s Thumbs.db
del /s *.obj
del /s *.pdb
del /s *.user

957:デフォルトの名無しさん
23/03/21 00:50:51.05 Bhi15WWz0.net
MAUIの場合って、XAMLがどうC#に変換されたかってどこ見るの?
objフォルダを見ても、それっぽいファイルなさそうに見えるんだけど・・・・

958:デフォルトの名無しさん
23/03/21 03:41:54.37 rEPYZ+tza.net
>>941
Ruby on Rails の勉強方法なら、以下に書いた
★★Java質問・相談スレッド184★★
スレリンク(tech板:174番)
YouTube で有名な雑食系エンジニア・KENTA の初心者向けRailsサロンが有名。
学校は、Rails専業のRUNTEQ、東京フリーランスのデイトラなど多数ある
Rails チュートリアルのRails 5 なら、無料で読める。
他には、黒田努の3冊の本もある
YouTubeのDeanin

959:デフォルトの名無しさん
23/03/23 22:03:01.14 ryYHyvf60.net
すまんが、このカッコだらけの行ってC#の文法的にはどういう意味なの???
> protected override void OnAppearing()
> {
> ((Models.AllNotes)BindingContext).LoadNotes(); //この行ってどういう意味なの!?!?
> }
URLリンク(learn.microsoft.com)
より

960:デフォルトの名無しさん
23/03/23 22:08:43.88 JMZIdmVT0.net
(型)変数 で型変換(キャスト)
次のカッコは演算子の優先度の調整
最後の()はメソッド()を実行

961:デフォルトの名無しさん
23/03/23 22:15:45.29 qBpx1Wc1p.net
BindingContextをModels.AllNotesのオブジェクトとみなしてそこのメソッドLoadNotes()を実行せよ
って意味

962:デフォルトの名無しさん
23/03/23 22:17:49.58 qBpx1Wc1p.net
そして危険だからそんなコードは書くな

963:デフォルトの名無しさん
23/03/23 22:21:24.70 vqNy8gvnM.net
>>947
初心者にはMAUIは厳しすぎるからやめておいた方がいいよ
MAUIはあれこれ全部できる人が触るものだから

964:デフォルトの名無しさん
23/03/23 22:22:35.96 uJd1wH6P0.net
今どきの書き方は
if(BindingContext is Models.AllNotes hoge)
{
  hoge,LoadNotes();
}
かな

965:デフォルトの名無しさん
23/03/23 22:23:42.33 vqNy8gvnM.net
.Net MauiはC#はもちろんのことWPFも出来てUWPも程度理解できてandroidとiOSとかわかる人が触るものです
C#のコードがわからん人が触っていいもんじゃない

966:デフォルトの名無しさん
23/03/23 22:49:45.58 JMZIdmVT0.net
>>952
見逃すより例外で落ちる方が安全だろ

967:デフォルトの名無しさん
23/03/23 22:56:58.85 aGomThyA0.net
>>954
ケースバイケースだろ

968:デフォルトの名無しさん
23/03/23 23:18:27.74 ryYHyvf60.net
>>948
せんきゅー!ぱっと見てわかんなかったぜ!

969:デフォルトの名無しさん
23/03/24 08:38:29.11 WNAKtpEt0.net
>>952
(BindingContext as Models.AllNotes)?.LoadNotes();
でも許して

970:デフォルトの名無しさん
23/03/24 10:57:33.74 voS66bkR0.net
改修で追加処理がある時に変更が面倒くさいから普通にif文使ってほしい
単数と複数で処理にほとんど違いなんかないのに記述が大きく違うなんてバカみたい

971:デフォルトの名無しさん
23/03/24 11:43:39.02 cICfJqWEa.net
普通にif文使わせるとお前らそれが面倒でnullチェックしなくなるからこういうのができたんだぞ

972:デフォルトの名無しさん
23/03/24 11:56:33.39 y0Wu1mms0.net
シリアルポートで受信する時に、DataReceivedだと時々発生しない時があります。
送受信データが一対一ならasync/awaitで出来ましたが、
要求しない時でもデータが来る場合はバックグラウンドでThreadかBackGroundWorkerをブン回すのが良いでしょうか?

973:デフォルトの名無しさん
23/03/24 13:10:53.39 WNAKtpEt0.net
ReceivedBytesThresholdの値をデカくしたりしてないよね?

974:デフォルトの名無しさん
23/03/24 13:33:28.53 y0Wu1mms0.net
ReceivedBytesThresholdを0や1にしてもダメでした。
受信バッファに残っているので、恐らく受信処理を行っている最中に受信したデータはそのまま溜まっている物と思われます
次にイベントが発生すれば溜まっているByte数分処理すればいいのですが、イベントが発生しない限り溜まったままになってしまうので、それならいっそバックグラウンドから受信バッファを監視した方が安定して受信出来るかなと思いました。

975:デフォルトの名無しさん
23/03/24 13:56:06.33 vhRHyZcc0.net
DataReceivedの処理が終わって待機処理に入る前に再度受信バッファに残ってないか見に行くのが定石では

976:デフォルトの名無しさん
23/03/24 14:03:20.04 y0Wu1mms0.net
受信処理が終わったら受信バッファをチェックですか、ありがとうございます

977:デフォルトの名無しさん
23/03/24 14:48:35.31 wJZ29icvp.net
キューに積んで終わりくらいの時間で次が来るんか?

978:デフォルトの名無しさん
23/03/24 15:24:57.72 y0Wu1mms0.net
ところでシリアル通信のサンプルコードを見てもDataReceivedの処理後に受信バッファを見てる物を見たことが無いのですが、定石のコードはありますでしょうか?

979:デフォルトの名無しさん
23/03/24 15:27:55.11 fNiUWOR5M.net
定石などない
そんなもんに頼ると馬鹿になる
読み込んで全部空になったらそこで終わり
中途半端にしか読み込めない場合も絶対あるのでそれを真剣に考えること
それだけ

980:デフォルトの名無しさん
23/03/24 15:40:43.87 fNiUWOR5M.net
DataReceivedはデータが届きましたよとメッセージを貰ってるだけ
そこで受け取ったデータを最後まで全部読みだす
中途半端になってる場合もあるから考慮する
それだけ
全部読みだしてないのに終わるのが間違ってる
サンプルはサンプルでしかない
非実用的なコードばかりだろ

981:デフォルトの名無しさん
23/03/24 18:25:50.09 y0Wu1mms0.net
>>968
Readexistingで全部読み込んで、Byte数が中途半端だったら保持して次回に繰り越しが良いのですね
確かにサンプルは、無理矢理クリアしてるコードばかりです

982:デフォルトの名無しさん
23/03/24 20:37:18.14 fFMLT3hs0.net
自分の流儀だと、TimerなりTaskなりを回してBytesToRead監視してReadしてるなー

983:デフォルトの名無しさん
23/03/24 21:15:54.90 PlvuyeAmp.net
イベント使えよw

984:デフォルトの名無しさん
23/03/24 22:49:59.97 afxFOaiu0.net
無いと思うが、PCのスリープなどが邪魔していたりしてな

985:デフォルトの名無しさん
23/03/25 12:14:09.40 6KFbecR+0.net
>>971
Windowsならイベント一択だと思うんだがなぜか巷に溢れてるソケットアプリは専用の監視スレッド利用してるものばかりなんだよな
いやいやその程度でスレッド使うなよと

986:デフォルトの名無しさん
23/03/25 14:31:18.93 LtNpStJr0.net
ソケットじゃなくてシリアル通信の話だが
イベントは万能じゃないし、SocketもTcpClientもイベントは存在しないけどな

987:デフォルトの名無しさん
23/03/25 14:39:09.87 0/5KlwE20.net
処理フローあるなら1スレッドで同期処理的に一連の流れ書いた方が見通しがいいし手軽だし
マスターとして常時監視するんじゃなければイベント使わなくていいよ

988:デフォルトの名無しさん
23/03/25 16:32:54.27 A6wVA+nI0.net
DataReceivedをTaskCompletionSourceでTask化して、async、awaitで処理できるらしいよ。
俺はC言語とWin32APIのスレッドプールI/Oでシリアル通信もソケット通信もしているので、試したことないけど。

989:デフォルトの名無しさん
23/03/25 17:02:07.49 SbKTuYrf0.net
コールバックイベントでおk

990:デフォルトの名無しさん
23/03/25 17:24:04.27 6KFbecR+0.net
>>974
確かにC#には存在してないのかもな
Win32生で使えば普通に存在するからWindowsならって話だが

991:デフォルトの名無しさん
23/03/25 19:56:08.98 8OzueS/Pa.net
c#の教本でおすすめある?
サイトでもいい

992:デフォルトの名無しさん
23/03/25 20:00:20.92 2xlaoMvFM.net
>>979
URLリンク(dotinstall.com)
こうですね

993:デフォルトの名無しさん
23/03/25 20:00:40.44 k1Qt9Po6M.net
おすすめはないかなあ
どうせ時間あるだろうし何冊も読めばいいと思うよ
C#は継続的に進化してるから一冊で全部わかる本はないと思う
個人的に分厚い本は勧めない

994:デフォルトの名無しさん
23/03/25 20:07:16.27 bmT4WuQv0.net
>>979
本は知らないがサイトならテンプレのサイトと
++C++; // 未確認飛行 C
URLリンク(ufcpp.net)
ただ、それらを見るよりも適当にやりたいことを見つけてその都度ググっていくのが効率がいい
C#はネットに情報が多い言語の一つでもあるから

995:デフォルトの名無しさん
23/03/25 20:31:13.82 k1Qt9Po6M.net
>>982
そのサイトを入門者に教えても無駄化と…

996:デフォルトの名無しさん
23/03/25 21:07:30.71 bmT4WuQv0.net
>>983
未確認飛行は無駄だとは思わないが昔読んでみたら「情報量が多すぎてガチの初心者には向かない」とは感じた
時間あって読むだけなら別にかまわんだろうw
そんなことはどうでもいいが>>980 次スレよろしく

997:デフォルトの名無しさん
23/03/25 21:11:45.85 k1Qt9Po6M.net
書いた方には非常に非常に申し訳ないが…
> コメント
> 概要
> プログラムには自然言語で注釈を入れましょう。
誰向けなんだこれ?

998:デフォルトの名無しさん
23/03/25 21:19:19.26 SophStmA0.net
すごい言い回しw

999:デフォルトの名無しさん
23/03/25 21:22:19.91 A6wVA+nI0.net
自然言語でと書かないと、他のプログラミング言語で注釈を書く奴が出るからか?

1000:デフォルトの名無しさん
23/03/25 21:25:06.63 34RsUgpg0.net
いや、設計書の項目と一致させろよw
お前のポエムはいらねえ

1001:デフォルトの名無しさん
23/03/25 22:08:09.52 1nPHFs4ed.net
また未確認飛行アンチのオイコラか
>>407-408

1002:デフォルトの名無しさん
23/03/26 07:32:34.06 2LMOL5Ty0.net
次スレ
ふらっと C#,C♯,C#(初心者用) Part158
スレリンク(tech板)

1003:デフォルトの名無しさん
23/03/26 08:40:25.95 xVxTUxS70.net
>>985
>誰向けなんだこれ?
AI向け?

1004:デフォルトの名無しさん
23/03/26 11:36:19.35 C/N5lyNj0.net
>>985
劣等種ホモサピエンス向けだろうな
我々AIからしたら自然言語なんて非効率極まりないだけなのに

1005:デフォルトの名無しさん
23/03/26 11:38:19.56 14FiY4OPM.net
>>989
アンチじゃない
未確認飛行はタダの個人サイトでそれを参照しろとかおかしい
右も左もわからない初心者にそのサイトを勧めるのもおかしい

1006:デフォルトの名無しさん
23/03/26 11:40:09.26 gXBGJV5A0.net
おかしくはねえよ
初心者の想定レベル低すぎないか?
真面目な初心者なら何ヶ月もかからず基本文法くらいマスターするだろ

1007:デフォルトの名無しさん
23/03/26 11:45:16.56 14FiY4OPM.net
学習サイトは学習向けに書いてある
そのサイトは文章が多いチートシートみたいなもの

1008:デフォルトの名無しさん
23/03/26 12:17:10.58 +JevQHPw0.net
やっぱアンチじゃん

1009:デフォルトの名無しさん
23/03/26 12:20:42.98 itofl3yq0.net
そんな初心者どころかズブの素人レベルじゃ
そもそもここに来ても意味がねぇのよ
つーか>>995の拘りを満たすものは>>1にひとつも無いのでは

1010:デフォルトの名無しさん
23/03/26 12:59:40.69 gcadCC47r.net
>そのサイトは文章が多いチートシートみたいなもの
素晴らしい情報源じゃないか

1011:デフォルトの名無しさん
23/03/26 13:01:14.46 14FiY4OPM.net
単発うざすぎる
本人かよ
結局次スレのテンプレに入れてる
テンプレに入れても利用者は誰の得にもならないのに

1012:デフォルトの名無しさん
23/03/26 13:04:33.61 gcadCC47r.net
完全にアンチ丸出し

1013:1001
Over 1000 Thread.net
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 120日 23時間 48分 25秒

1014:過去ログ ★
[過去ログ]
■ このスレッドは過去ログ倉庫に格納されています


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch