!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■前スレ
ふらっと C#,C♯,C#(初心者用) Part150
https://mevius.5ch.net/test/read.cgi/tech/1616471904/
■関連スレ
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
探検
ふらっと C#,C♯,C#(初心者用) Part151
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 0f2c-S5yT)
2021/05/16(日) 10:45:59.00ID:8qTwOc62033デフォルトの名無しさん (ワッチョイ ff01-vB/y)
2021/05/19(水) 11:56:33.37ID:u9Tr9lyP0 >>27
よくないね
依存性の方向は基本的に「個別処理 ―> 共通処理」
個別処理が共通処理に依存するのはいいが逆はよくない
変更に対して弱くなるから
各フォームが個別処理でXMLの読み書きが共通処理なので
フォームがXMLクラスに依存するのはよくて
XMLクラスが各フォームに依存するのはよくないということ
よくないね
依存性の方向は基本的に「個別処理 ―> 共通処理」
個別処理が共通処理に依存するのはいいが逆はよくない
変更に対して弱くなるから
各フォームが個別処理でXMLの読み書きが共通処理なので
フォームがXMLクラスに依存するのはよくて
XMLクラスが各フォームに依存するのはよくないということ
3429 (ワッチョイ 2b7b-gSvD)
2021/05/19(水) 11:59:42.08ID:C6qGRFkz035デフォルトの名無しさん (アウアウエー Sa93-PbQN)
2021/05/19(水) 12:09:28.47ID:5VIb1gQWa36デフォルトの名無しさん (ワッチョイ a12d-u+PU)
2021/05/19(水) 12:15:53.32ID:RX1B9Flf0 >>34
例外が発生した時に簡単なメッセージを表示して終了するだけなら
個別の例外処理はせずにApplication.ThreadExceptionイベントや
UnhandledExceptionイベントを使うといい
例外が発生した時に簡単なメッセージを表示して終了するだけなら
個別の例外処理はせずにApplication.ThreadExceptionイベントや
UnhandledExceptionイベントを使うといい
37デフォルトの名無しさん (ワッチョイ f384-gIXh)
2021/05/19(水) 18:35:07.68ID:kJekIUOX0 >>27
何となく何がおかしいか分かったかも
Formのプロパティを外からいじるのいくないとかはおいといて言っていることを
無理やり形にすると多分こんな感じかな
class control
ClsXml cx=new ClsXml
cx.aaa
cx.bbb
cx.ccc
class ClsXml
Public ClsXml()
Form frm1=new Form
From frm2=new From
Public void aaa
form1 progress
public void bbb
form2 progress
public void ccc
form1&2 progress
Formを独自拡張する必要があるならば、ぞれぞれのFormクラスを作る必要があるけど
そういうことじゃないのではないかと
元の書き方だと違うインスタンスが同じインスタンスのように扱われているのでForm1では
Form1側の操作しか出来ないと思うよ
あとFormを制御する人がいないのでプログラムとして成立しないかな
何となく何がおかしいか分かったかも
Formのプロパティを外からいじるのいくないとかはおいといて言っていることを
無理やり形にすると多分こんな感じかな
class control
ClsXml cx=new ClsXml
cx.aaa
cx.bbb
cx.ccc
class ClsXml
Public ClsXml()
Form frm1=new Form
From frm2=new From
Public void aaa
form1 progress
public void bbb
form2 progress
public void ccc
form1&2 progress
Formを独自拡張する必要があるならば、ぞれぞれのFormクラスを作る必要があるけど
そういうことじゃないのではないかと
元の書き方だと違うインスタンスが同じインスタンスのように扱われているのでForm1では
Form1側の操作しか出来ないと思うよ
あとFormを制御する人がいないのでプログラムとして成立しないかな
3829 (ワッチョイ 2b7b-gSvD)
2021/05/19(水) 19:01:35.29ID:C6qGRFkz039デフォルトの名無しさん (スップ Sdcf-dNWz)
2021/05/20(木) 17:15:54.44ID:bilBOnqPd 質問です。
xamarinとC#でAndroidアプリを作成していて、ボタン押下でAndroidからPCの指定の共有サーバーにWi-Fi経由でSMB通信をしてファイル転送する機能があるのですが、それをUSB経由で接続したPCの指定のフォルダに転送する機能に変更したいと思っています。調べてみても方法が分からず、どうやってやればいいのかお教えいただけないでしょうか?
xamarinとC#でAndroidアプリを作成していて、ボタン押下でAndroidからPCの指定の共有サーバーにWi-Fi経由でSMB通信をしてファイル転送する機能があるのですが、それをUSB経由で接続したPCの指定のフォルダに転送する機能に変更したいと思っています。調べてみても方法が分からず、どうやってやればいいのかお教えいただけないでしょうか?
40デフォルトの名無しさん (ワッチョイ 5333-Qmtv)
2021/05/20(木) 17:25:36.42ID:h+nvuHPl0 C#とか関係なく、システム的にAndroid側からPCの中って参照できないんじゃね?
41デフォルトの名無しさん (ワッチョイ 3dad-drH/)
2021/05/20(木) 17:53:35.03ID:1kvRnQEZ0 PC側がホストになるから、PC基点じゃないと何も出来ないよ。
42デフォルトの名無しさん (スップ Sdcf-dNWz)
2021/05/20(木) 19:20:45.57ID:bilBOnqPd43デフォルトの名無しさん (アウアウウー Sac7-7S+s)
2021/05/21(金) 00:18:51.38ID:uT4ElnGZa >>42
詳しくないので適当に聞いてね。
結局PC側からUSB接続のアンドロイトが何に見えているかが肝だよねたぶん。
ただのマスストレージに見えてるなら他の人が書いてるように
Android側からPCに対しては何もできない(PC側のアプリでAndroidの
ストレージからファイルを持ってくることは可能なはず)
Androidにそんな器用なことができるのか知らないけど、仮にNICのふりができるなら
理屈上はAndroid側からPCの共有フォルダにアクセスは可能なはずだと思うけど
かなりハードル高そうだよね
詳しくないので適当に聞いてね。
結局PC側からUSB接続のアンドロイトが何に見えているかが肝だよねたぶん。
ただのマスストレージに見えてるなら他の人が書いてるように
Android側からPCに対しては何もできない(PC側のアプリでAndroidの
ストレージからファイルを持ってくることは可能なはず)
Androidにそんな器用なことができるのか知らないけど、仮にNICのふりができるなら
理屈上はAndroid側からPCの共有フォルダにアクセスは可能なはずだと思うけど
かなりハードル高そうだよね
44デフォルトの名無しさん (ワッチョイ 0e18-ybya)
2021/05/21(金) 00:35:25.73ID:iGmMnIp9045デフォルトの名無しさん (ワッチョイ cebb-T0p4)
2021/05/21(金) 14:30:29.31ID:i5DLTQw90 Visual StudioでGitを使う場合、Gitによる管理が不要なファイルのために自動で.gitignoreを作ってくれると思います
.NET 5のコマンドラインから同じようなことをするにはどうすれば良いのでしょうか?(手書きなのでしょうか?)
.NET 5のコマンドラインから同じようなことをするにはどうすれば良いのでしょうか?(手書きなのでしょうか?)
46デフォルトの名無しさん (ワッチョイ 970c-e3Lj)
2021/05/21(金) 14:41:38.94ID:mSvK+x2g0 dotnet new gitignore
47デフォルトの名無しさん (ワッチョイ cebb-T0p4)
2021/05/21(金) 15:07:41.48ID:i5DLTQw90 >>46
全然知らなかったよ、ありがとう!
全然知らなかったよ、ありがとう!
48デフォルトの名無しさん (スップ Sd5a-dHWj)
2021/05/21(金) 18:18:47.45ID:r4fhOYFqd フォームが複数あって入力された文字列やチェックBoxの状態記憶して、フォームが閉じて再び開いた時に同じ状態に戻したいんですがどんな方法がありますか?
49デフォルトの名無しさん (ラクッペペ MMb6-jLf6)
2021/05/21(金) 18:38:24.30ID:P35wDmNWM フォームのコントロールのプロパティを取得したり設定したりします
50デフォルトの名無しさん (アウアウウー Sac7-7S+s)
2021/05/21(金) 18:39:34.68ID:ydARslbAa >>48
単純にそれを実現するだけならアプリケーション設定を使えばできる。
https://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
ただ、それがあなたのアプリの要件に合ってるかどうかは分からない。
まともな設計思想で作ってたらほとんどの場合は合わない思うw
単純にそれを実現するだけならアプリケーション設定を使えばできる。
https://www.atmarkit.co.jp/fdotnet/dotnettips/438winsettings/winsettings.html
ただ、それがあなたのアプリの要件に合ってるかどうかは分からない。
まともな設計思想で作ってたらほとんどの場合は合わない思うw
51デフォルトの名無しさん (ワッチョイ d733-osNG)
2021/05/21(金) 18:55:24.86ID:b2hwhOft0 >>48
visibleをfalseにする
visibleをfalseにする
52デフォルトの名無しさん (ワッチョイ 5ede-nRUw)
2021/05/21(金) 20:55:20.39ID:LYjrJpHE0 >>51
めっちゃきもちわるいわあ
めっちゃきもちわるいわあ
53デフォルトの名無しさん (ワッチョイ 5b36-RMa4)
2021/05/22(土) 08:57:11.87ID:hnUmAMvp0 Winform(.net 4.8)でentity frameworkにてクラス内の値を変換したいのですがどのようにするのでしょうか
public class StringValue
{
public StringValue(string s) { Value = s; }
public string Value { get; set; }
}
モデル内
public class Sample
{
[NotMapped]
public StringValue dummy { get; set; }
public string value { get => dummy.Value; private set => dummy = new StringValue(value); }
}
今は上記のような感じでStringValueをvalueに見立ててデータベース上でnvarchar:valueとして扱っています
コード上はクラスで扱いつつデータベースでは別の型として扱うという事をしたいです
EFCoreではHasConversionでできそうですがEFではそう言ったのは無いのでしょうか?
public class StringValue
{
public StringValue(string s) { Value = s; }
public string Value { get; set; }
}
モデル内
public class Sample
{
[NotMapped]
public StringValue dummy { get; set; }
public string value { get => dummy.Value; private set => dummy = new StringValue(value); }
}
今は上記のような感じでStringValueをvalueに見立ててデータベース上でnvarchar:valueとして扱っています
コード上はクラスで扱いつつデータベースでは別の型として扱うという事をしたいです
EFCoreではHasConversionでできそうですがEFではそう言ったのは無いのでしょうか?
54デフォルトの名無しさん (ワッチョイ 5b36-RMa4)
2021/05/22(土) 09:46:32.75ID:hnUmAMvp055デフォルトの名無しさん (ワッチョイ 9ae4-aEtu)
2021/05/23(日) 21:45:22.13ID:y8mHkt/k0 オブジェクト初期化子とコンストラクタは何が違うのでしょうか?
見た目はインスタンス作成時に()を付与するかどうかの違いがありますが、やってる事は同じに見えます…
別物として扱っているのは理由があるからなのだと思いますがイメージが掴めません
初歩的な質問ですみませんが教えてください
見た目はインスタンス作成時に()を付与するかどうかの違いがありますが、やってる事は同じに見えます…
別物として扱っているのは理由があるからなのだと思いますがイメージが掴めません
初歩的な質問ですみませんが教えてください
56デフォルトの名無しさん (アウアウウー Sac7-7S+s)
2021/05/23(日) 21:58:29.07ID:pYmK4nAPa 前スレで同じこと聞いてない?w
https://mevius.5ch.net/test/read.cgi/tech/1616471904/327-
https://mevius.5ch.net/test/read.cgi/tech/1616471904/327-
57デフォルトの名無しさん (アウアウエー Sa52-hK5l)
2021/05/23(日) 22:02:16.32ID:RNjOm9Rva コンストラクタを実行したあと属性に代入するのが初期化子
コンストラクタにはインスタンス化時に絶対に必要な処理を書く
初期化子にはどっちでもいいオプションを書く
コンストラクタにはインスタンス化時に絶対に必要な処理を書く
初期化子にはどっちでもいいオプションを書く
58デフォルトの名無しさん (スップ Sdba-dHWj)
2021/05/24(月) 18:26:23.84ID:x4lG9/QZd >>27
私感じでやっちゃってますね。みんなさんが言うようにclassでformを使うのは良くないのは言われれば分かりますが、Formを使わないやり方がPublic static使う方法しか分からないし、ネット検索かけてもformを渡してるやり方ばかり出てきますね。
Public static string stA
Public static string stB
Public void AddFile
〇〇.add stA + stB
先生がネット故に...みなさんはどこで学ぶんですか?
私感じでやっちゃってますね。みんなさんが言うようにclassでformを使うのは良くないのは言われれば分かりますが、Formを使わないやり方がPublic static使う方法しか分からないし、ネット検索かけてもformを渡してるやり方ばかり出てきますね。
Public static string stA
Public static string stB
Public void AddFile
〇〇.add stA + stB
先生がネット故に...みなさんはどこで学ぶんですか?
59デフォルトの名無しさん (ワッチョイ 4ea7-8D+f)
2021/05/24(月) 18:51:16.14ID:hM0efzfu060デフォルトの名無しさん (ワッチョイ f662-WLSO)
2021/05/24(月) 19:25:01.66ID:f+6lGWLS061デフォルトの名無しさん (ワッチョイ d733-osNG)
2021/05/24(月) 19:49:24.96ID:NzBI28bl0 この短い数行のコード見ただけで相当ヤバいのが分かる。
これは関わっちゃいけないやつだ。
これは関わっちゃいけないやつだ。
62デフォルトの名無しさん (ワッチョイ 0eda-Eq2K)
2021/05/24(月) 20:41:17.35ID:i2eTwvSN0 葦原将軍の生まれ変わりと見た(^_^)ノ
63デフォルトの名無しさん (ワッチョイ 1b73-RI+G)
2021/05/25(火) 06:29:00.67ID:PTaC3ctB0 LangVersionか何か判定する方法ある?
実際はLangVersionを判定したいわけじゃなく、
C#が「interfaceのデフォルトが使えるバージョン」ならデフォルト実装を用意したものを、
そうでなければデフォルト実装はなし、
というのを#ifプリプロセッサな何かで切り替えたいんだが。
実際はLangVersionを判定したいわけじゃなく、
C#が「interfaceのデフォルトが使えるバージョン」ならデフォルト実装を用意したものを、
そうでなければデフォルト実装はなし、
というのを#ifプリプロセッサな何かで切り替えたいんだが。
64デフォルトの名無しさん (ワッチョイ 4e2c-dnFn)
2021/05/25(火) 11:32:44.90ID:MwLEufUx0 どうせ.NET Frameworkなら最新のC#使ってもデフォルト実装は使えないんだから
言語のバージョンじゃなくて.NETのバージョンで分けたほうが良くない?
言語のバージョンじゃなくて.NETのバージョンで分けたほうが良くない?
65デフォルトの名無しさん (アウアウウー Sac7-7S+s)
2021/05/25(火) 13:30:21.38ID:FpV6PuqQa あればここに載せてるだろうからないんでしょうね
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/preprocessor-directives
まああってもC#のプリプロセッサのシンボルは定義済みかどうかしか評価できないから
既述が大変そうだよね
結局VS使うならプロジェクトのプロパティーで自分でシンボル定義してソリューション構成を
手動で切り替えるしかないんじゃないのかな
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/preprocessor-directives
まああってもC#のプリプロセッサのシンボルは定義済みかどうかしか評価できないから
既述が大変そうだよね
結局VS使うならプロジェクトのプロパティーで自分でシンボル定義してソリューション構成を
手動で切り替えるしかないんじゃないのかな
66デフォルトの名無しさん (ワッチョイ 1b73-RI+G)
2021/05/25(火) 14:32:42.00ID:PTaC3ctB0 #if (NET or NETCOREAPP3_1)
でとりあえず要件満たせそうなので
これでいきます。
でとりあえず要件満たせそうなので
これでいきます。
67デフォルトの名無しさん (ワッチョイ dfb0-5BAZ)
2021/05/26(水) 09:59:35.98ID:qJ3DTor20 最近VisualStudio2017から2019に変えたんだけど
WindowsAPIは使えなくなったの?
2017で書いたプロジェクトなら2019で読み込んで動くけど
直接2019から同じこコード書き始めると「現在のコンテキストには名前が見つかりません」
ってでて波線がで警告表示される
これは2019から始まったターゲットフレームワークとかいう奴が影響してるのか?
どうしたら以前のようにWindowsAPIが使えますか?
WindowsAPIは使えなくなったの?
2017で書いたプロジェクトなら2019で読み込んで動くけど
直接2019から同じこコード書き始めると「現在のコンテキストには名前が見つかりません」
ってでて波線がで警告表示される
これは2019から始まったターゲットフレームワークとかいう奴が影響してるのか?
どうしたら以前のようにWindowsAPIが使えますか?
68デフォルトの名無しさん (ワッチョイ 4e2c-dnFn)
2021/05/26(水) 10:14:15.14ID:FSQy2KRV0 普通にやれば普通に今まで通り動くので
何かが普通にできてないんだろう としか言えん
Windows API呼び出すならTargetFrameworkはnet5-windowsにすべきではあるけど
別にそれは必要条件ではない
単にnet5でも問題ない(Windows以外だと実行時例外になるだけ)
何かが普通にできてないんだろう としか言えん
Windows API呼び出すならTargetFrameworkはnet5-windowsにすべきではあるけど
別にそれは必要条件ではない
単にnet5でも問題ない(Windows以外だと実行時例外になるだけ)
69デフォルトの名無しさん (ワッチョイ dfb0-5BAZ)
2021/05/26(水) 10:49:28.94ID:qJ3DTor20 >>68
resありがとうございます
.NET5で試してもできませんでした
ただし「usinディレクティブか、アセンブリの参照が違うのでは?」
と具体的なメッセージに変わりましたから、
何か探しに行ってくれてるようですね
これは単純にIDEとしてのVS2019のバグということでしょうかね?
resありがとうございます
.NET5で試してもできませんでした
ただし「usinディレクティブか、アセンブリの参照が違うのでは?」
と具体的なメッセージに変わりましたから、
何か探しに行ってくれてるようですね
これは単純にIDEとしてのVS2019のバグということでしょうかね?
70デフォルトの名無しさん (ワッチョイ 4e2c-dnFn)
2021/05/26(水) 10:51:53.53ID:FSQy2KRV0 いや単にあなたのコードの記述ミスということだと思うよ
71デフォルトの名無しさん (ワッチョイ 7f42-4P7j)
2021/05/26(水) 11:07:29.14ID:SkyFdszB0 もしかするとDLL参照が黄色いマーク付いてるんじゃね?
72デフォルトの名無しさん (ワッチョイ f6da-p4ls)
2021/05/26(水) 11:19:52.23ID:cScpWA/k0 昨日今日使い始めたやつがツールのバグを疑う世界
73デフォルトの名無しさん (エムゾネ FFba-4Cki)
2021/05/26(水) 11:25:04.91ID:2/BE6bBSF ソースと環境を晒すべき
74デフォルトの名無しさん (ワッチョイ fa4b-f9J/)
2021/05/26(水) 12:15:50.54ID:Q8/sORJB0 ブラウザからSQL文とパラメータを受け取って、PostgreSQLのテーブルを検索し、結果を返すWebAPIを作成しています。
PostgreSQLとのやり取りはDapperを使っており、パラメータは匿名型で記述しています。
ブラウザからSQL文とパラメータを送る際にjson形式でシリアライズしているのですが、これをAPI側でデシリアライズを行うと匿名型が元と違う形になってしまいます。
var foo = new { Key1 = 1, Key2 = 2};
// foo = { Key1 = 1, Key2 = 2 }
var strJson = JsonSerializer.Serialize(foo);
// strJson = "{\"Key1\":1,\"Key2\":2}"
var bar = JsonSerializer.Deserialize<object>(strJson);
// bar = ValueKind = Object : "{"Key1":1,"Key2":2}"
デシリアライズした時に、シリアライズ前と同じ状態にすることは出来ないのでしょうか。
PostgreSQLとのやり取りはDapperを使っており、パラメータは匿名型で記述しています。
ブラウザからSQL文とパラメータを送る際にjson形式でシリアライズしているのですが、これをAPI側でデシリアライズを行うと匿名型が元と違う形になってしまいます。
var foo = new { Key1 = 1, Key2 = 2};
// foo = { Key1 = 1, Key2 = 2 }
var strJson = JsonSerializer.Serialize(foo);
// strJson = "{\"Key1\":1,\"Key2\":2}"
var bar = JsonSerializer.Deserialize<object>(strJson);
// bar = ValueKind = Object : "{"Key1":1,"Key2":2}"
デシリアライズした時に、シリアライズ前と同じ状態にすることは出来ないのでしょうか。
75デフォルトの名無しさん (ワッチョイ f6da-p4ls)
2021/05/26(水) 12:45:20.58ID:cScpWA/k0 DataContractJsonSerializerの代わりにJavaScriptSerializerを使う
76デフォルトの名無しさん (ワッチョイ 4e2c-dnFn)
2021/05/26(水) 13:08:02.39ID:FSQy2KRV0 Json.NETなら.Deserialize<Dictionary<string, object>>(...)にすればDapperのパラメータオブジェクトに使える
77デフォルトの名無しさん (ワッチョイ fa4b-f9J/)
2021/05/26(水) 14:04:52.01ID:Q8/sORJB0 >>75,76
Json.NET で出来ました。ありがとうございます。
Json.NET で出来ました。ありがとうございます。
78デフォルトの名無しさん (ワッチョイ 37b0-5zR4)
2021/05/26(水) 17:06:43.67ID:vmYXos7Q0 処理を非同期にするかどうかの切り分けってどうすればいいん?
HTTPリクエストとか、I/Oとか、DB書き込みくらいでいいの?
HTTPリクエストとか、I/Oとか、DB書き込みくらいでいいの?
79デフォルトの名無しさん (ワッチョイ f6da-p4ls)
2021/05/26(水) 17:56:01.15ID:cScpWA/k0 野生の勘
80デフォルトの名無しさん (ワッチョイ 4e2c-dnFn)
2021/05/26(水) 18:02:02.54ID:FSQy2KRV0 基本はIOバウンドなら非同期、CPUバウンドなら同期、でいいんじゃないかな
81デフォルトの名無しさん (ワッチョイ 5a01-S/TN)
2021/05/26(水) 18:17:47.51ID:rgCCVIaL0 処理の完了を待たずに他の処理をしたい場合や
UIスレッドをブロックしたくない場合は非同期にする
UIスレッドをブロックしたくない場合は非同期にする
82デフォルトの名無しさん (ワッチョイ dbde-8D+f)
2021/05/26(水) 18:34:13.84ID:wtKQcQ0P0 非同期にしたら最後
次の処理が次の行とは限らない地獄
次の処理が次の行とは限らない地獄
83デフォルトの名無しさん (アウアウエー Sa52-LeRE)
2021/05/26(水) 18:41:14.07ID:UtsUe89ga 基本的にまずは全て非同期
これは非同期にする意味ないなと思ったら同期
これは非同期にする意味ないなと思ったら同期
84デフォルトの名無しさん (ワッチョイ 1b73-RI+G)
2021/05/26(水) 22:04:01.82ID:c9Vxajem0 いや普通基本は同期でヘビーなとこだけ非同期にすべきだよ。
全てのアプリが何もかも全部のステップ非同期なんかにしたら、
全体的にはCPU食うだけでメッチャ重くなる。
全てのアプリが何もかも全部のステップ非同期なんかにしたら、
全体的にはCPU食うだけでメッチャ重くなる。
85デフォルトの名無しさん (アウアウエー Sa52-LeRE)
2021/05/26(水) 22:41:04.74ID:UtsUe89ga >>84
だから意味ないところは同期にする
だから意味ないところは同期にする
86デフォルトの名無しさん (ワッチョイ 1a2f-5BAZ)
2021/05/26(水) 23:01:29.12ID:W7oYIEbZ0 その、意味があるとかないとかを、どうやって判断するかと聞いてるんじゃないかね
87デフォルトの名無しさん (ワッチョイ 1b73-RI+G)
2021/05/26(水) 23:02:37.43ID:c9Vxajem0 それだとまずは全てasyncで制作したあと、
ああここは意味がないなと、ひとつひとつあたって普通の同期に変えていく作業するわけでしょ。
だって基本まずはすべて非同期といってるわけだから。
ああここは意味がないなと、ひとつひとつあたって普通の同期に変えていく作業するわけでしょ。
だって基本まずはすべて非同期といってるわけだから。
88デフォルトの名無しさん (ワッチョイ 7f42-4P7j)
2021/05/26(水) 23:26:44.94ID:SkyFdszB0 時間がかかるのは非同期にしたほうがいいが、短いのは切り替えの分だけ遅くなるかもな
89デフォルトの名無しさん (アウアウエー Sa52-LeRE)
2021/05/27(木) 00:31:55.35ID:4W3Xfkm6a >>87
書く前にわかるだろ
書く前にわかるだろ
90デフォルトの名無しさん (アウアウカー Sac3-Plrk)
2021/05/27(木) 00:56:56.72ID:1MRs9mFSa もうやめとけってw
91デフォルトの名無しさん (ワッチョイ 37b0-5zR4)
2021/05/27(木) 01:59:03.14ID:4CedIZFv0 >>88
全部taskValueで書けば良いんだな!
全部taskValueで書けば良いんだな!
92デフォルトの名無しさん (ラクッペペ MMb6-9F53)
2021/05/27(木) 08:30:07.04ID:f+HvaIKyM 非同期中に他になにかやりたいことがあれば非同期
ただ待ってるだけなら同期
ただ待ってるだけなら同期
93デフォルトの名無しさん (アウアウウー Sac7-BYWF)
2021/05/27(木) 08:35:36.75ID:PMifv8cua 基本非同期とか言ってる人は、本当にアプリ組んだことあるのか疑問
94デフォルトの名無しさん (ブーイモ MM26-LeRE)
2021/05/27(木) 09:12:32.37ID:7nNOolzWM 基本は非同期でいいんだよ
どうせデータアクセスやらAPIコールで呼び出し元まで遡って非同期になる
まずは非同期で考えて考えた結果こいつは非同期にする価値がないと気付いたら同期にする
それでおk
例えばドメインクラスなどはすぐに非同期にする価値ねえなと気付く筈なので同期にすればよい
初心者がやりがちなミスは非同期にすべきインターフェースメソッド、デリゲートを同期で定義してしまうことだ
これは同期デフォルト脳の弊害であるがこのミスは後々ボディブローのように効いてくる
まずは非同期で考えてじっくり考えた結果非同期にする価値なしとわかったら同期にする
こうすればゴミのようなインターフェース、デリゲートに苛つかなくて済む
どうせデータアクセスやらAPIコールで呼び出し元まで遡って非同期になる
まずは非同期で考えて考えた結果こいつは非同期にする価値がないと気付いたら同期にする
それでおk
例えばドメインクラスなどはすぐに非同期にする価値ねえなと気付く筈なので同期にすればよい
初心者がやりがちなミスは非同期にすべきインターフェースメソッド、デリゲートを同期で定義してしまうことだ
これは同期デフォルト脳の弊害であるがこのミスは後々ボディブローのように効いてくる
まずは非同期で考えてじっくり考えた結果非同期にする価値なしとわかったら同期にする
こうすればゴミのようなインターフェース、デリゲートに苛つかなくて済む
95デフォルトの名無しさん (ワッチョイ 1aad-yMkI)
2021/05/27(木) 11:25:27.22ID:VDO1F2Iy0 基本は非同期だろ
96デフォルトの名無しさん (オッペケ Srbb-MoBc)
2021/05/27(木) 11:45:36.96ID:FpmPCpLLr アプリかサーバかとか環境の平準リソースとかでも変わるしなあ
完成までに一度でもちゃんと検討しとけばいいと思うわ
完成までに一度でもちゃんと検討しとけばいいと思うわ
97デフォルトの名無しさん (ワッチョイ 275f-4Cki)
2021/05/27(木) 14:40:09.29ID:U0nLnJgd0 Java は throw が伝染する・・・
C# は async が伝染する・・・
C# は async が伝染する・・・
98デフォルトの名無しさん (ワッチョイ f6da-p4ls)
2021/05/27(木) 15:58:32.56ID:59fz6k+L0 async voidで解決
99デフォルトの名無しさん (ワッチョイ 5ede-nRUw)
2021/05/27(木) 20:38:38.25ID:5gyWgj9W0 async使ったことないお
100デフォルトの名無しさん (ワッチョイ 275f-5zR4)
2021/05/27(木) 22:08:31.07ID:P0524FRt0 しばらくお待ちくださいのメッセージは非同期
101デフォルトの名無しさん (ブーイモ MM26-yRoj)
2021/05/27(木) 22:44:17.51ID:GWsz6i+wM102デフォルトの名無しさん (ワッチョイ f954-W1af)
2021/05/28(金) 03:02:26.12ID:ukkv+1yM0 使うのWinFormsだからってナメてたらオーナードローと追加機能まみれで、チャリが戦車になるレベルで原型とどめてないコントロールばっか。
WPFのほうがだいぶ楽だったよ・・・タスケテ・・・
WPFのほうがだいぶ楽だったよ・・・タスケテ・・・
103デフォルトの名無しさん (ワッチョイ 512c-IGeJ)
2021/05/28(金) 04:37:28.38ID:eNCMSwEe0 JavaScript, Node.js は非同期で、例外などが面倒くさい
だから、同期のRuby, Ruby on Rails を使う
だから、同期のRuby, Ruby on Rails を使う
104デフォルトの名無しさん (ワッチョイ 5352-OKFq)
2021/05/28(金) 07:07:03.28ID:LkJzbBRc0105デフォルトの名無しさん (ワッチョイ d1ad-g3z+)
2021/05/28(金) 09:31:52.57ID:6AxbZXMl0 チャリオットの方が古いんだぜ?
106デフォルトの名無しさん (ワッチョイ 0942-6ypv)
2021/05/28(金) 10:05:09.64ID:YP1Y+7z60 名古屋ではケッタマシーンと言う
昭和の頃から
昭和の頃から
107デフォルトの名無しさん (スップ Sdb3-K2R4)
2021/05/28(金) 18:38:06.39ID:AMiYNwV2d formで入力→計算→出力てな感じなもの作成してます。
exe起動後一番最初に入力するTextBox1に番号記号を入力します。例A−101など。
それを入力した時から他の人が同一番号記号を使用出来なくなるようにしたいんですがどうすればいいですか?
exe起動後一番最初に入力するTextBox1に番号記号を入力します。例A−101など。
それを入力した時から他の人が同一番号記号を使用出来なくなるようにしたいんですがどうすればいいですか?
108デフォルトの名無しさん (ワッチョイ 3978-08Bm)
2021/05/28(金) 19:26:02.56ID:JNHeGsYc0 データベースに文字列を登録して各ユーザーがチェックすればOK
109デフォルトの名無しさん (ワッチョイ abda-eqVy)
2021/05/28(金) 19:29:49.66ID:EVIGfz1i0 他の人は何処に居るの?
110デフォルトの名無しさん (ワッチョイ 5136-xFqk)
2021/05/29(土) 08:53:16.72ID:mnYn/SGN0 データベースからデータグリッドビューに表示させる際の文字列のソートが分かりません
データベース
id(int:主キー,自動採番), code(string:値としては数値で構成"01","02","10"等), name(string)
OrderByとかの使い方が良く分かってないだけだと思うのですがうまくいきません
//登録
Test.SaveChanges();
//登録後、ソートしてコード順で表示したい
Test.DbSetEntity.Where(x => x.id == id).Load();
DGVView.DataSource = DbSetEntity.Local.ToBindingList();
ご教授いただければ幸いです
データベース
id(int:主キー,自動採番), code(string:値としては数値で構成"01","02","10"等), name(string)
OrderByとかの使い方が良く分かってないだけだと思うのですがうまくいきません
//登録
Test.SaveChanges();
//登録後、ソートしてコード順で表示したい
Test.DbSetEntity.Where(x => x.id == id).Load();
DGVView.DataSource = DbSetEntity.Local.ToBindingList();
ご教授いただければ幸いです
111デフォルトの名無しさん (ワッチョイ 99b0-4Wjq)
2021/05/30(日) 14:35:56.95ID:borQq+I40 20行程度の1つのメソッドだけポリモーフィズム使って処理させたい&継承するクラスが複数有るとき、
サブクラス毎にファイル別ける? 同じファイルに全部書く?
今までファイル別けてたんだけど、なんか邪魔なのでファイル1個で良い気がしてきた
ただ、そうすると今度はファイル名に悩む
フォルダ作ってそこにファイル別けて全部ぶち込めば良いのかな?
サブクラス毎にファイル別ける? 同じファイルに全部書く?
今までファイル別けてたんだけど、なんか邪魔なのでファイル1個で良い気がしてきた
ただ、そうすると今度はファイル名に悩む
フォルダ作ってそこにファイル別けて全部ぶち込めば良いのかな?
112デフォルトの名無しさん (ブーイモ MM75-WbRb)
2021/05/30(日) 14:53:56.25ID:McAyMcZBM 1メソッドだけの差し替えならデリゲート使えよ
それはともかく、俺は仕事では突っ込まれるのが面倒だから必ず分ける
プライベートなら適当に意味のある単位で纏めることもある
それはともかく、俺は仕事では突っ込まれるのが面倒だから必ず分ける
プライベートなら適当に意味のある単位で纏めることもある
113デフォルトの名無しさん (テテンテンテン MM4b-0MMr)
2021/05/30(日) 15:12:33.91ID:AeBNzYwcM サブクラスをその継承元クラス内にインナークラスとして定義する前提で同じファイルに書く
仮にそのクラスが肥大化したら「BaseClass.ExtendedClass.cs」って別ファイルにpartialで切り出す
ってのを自分はよくやる
ただしインナークラスをそういう風に使うのは一般的にはやっちゃいけない気もする
仮にそのクラスが肥大化したら「BaseClass.ExtendedClass.cs」って別ファイルにpartialで切り出す
ってのを自分はよくやる
ただしインナークラスをそういう風に使うのは一般的にはやっちゃいけない気もする
114デフォルトの名無しさん (ブーイモ MM75-WbRb)
2021/05/30(日) 15:21:34.04ID:McAyMcZBM そもそも1メソッドだけなのにあえて多態を使う理由は実装を分散させたいからに尽きるわけで、
結局1ファイルに纏めるんならそれもうswitchでもええやろという気はする
結局1ファイルに纏めるんならそれもうswitchでもええやろという気はする
115デフォルトの名無しさん (ワッチョイ dbda-RKyC)
2021/05/30(日) 15:35:09.61ID:4O1ZlwMf0 クソデカclassにすると、newする時間もバカにできない
116デフォルトの名無しさん (アウアウウー Sac5-f5pr)
2021/05/30(日) 15:45:56.38ID:Petj9nTfa >>111
1ファイルに複数の型があっても全然構わないと思うよ。
Enumにそんな原則誰も適用してないよね?
VSにはクラスビューもあるし必要なら簡単に定義場所に飛べるので
ファイル名にこだわる必要はあまりないと思う。
だから単にベースクラスの名前でもいいと思うけど、気になるなら
「Hogeとその派生クラス」みたいにするだけじゃないの?
1ファイルに複数の型があっても全然構わないと思うよ。
Enumにそんな原則誰も適用してないよね?
VSにはクラスビューもあるし必要なら簡単に定義場所に飛べるので
ファイル名にこだわる必要はあまりないと思う。
だから単にベースクラスの名前でもいいと思うけど、気になるなら
「Hogeとその派生クラス」みたいにするだけじゃないの?
117デフォルトの名無しさん (ブーイモ MMab-T0K/)
2021/05/30(日) 16:01:20.36ID:+uKRRzZAM そうはならんやろ
118デフォルトの名無しさん (ワッチョイ 3978-08Bm)
2021/05/30(日) 16:32:51.89ID:pNxwDlXH0 >>115
それソースある?
それソースある?
119デフォルトの名無しさん (ワッチョイ a193-lO2l)
2021/05/30(日) 17:46:22.08ID:Jq+vr6RQ0120デフォルトの名無しさん (ワッチョイ 99b0-4Wjq)
2021/05/30(日) 20:33:04.19ID:borQq+I40 >>119
藪からスティック
藪からスティック
121デフォルトの名無しさん (ワッチョイ d99c-aH3h)
2021/05/30(日) 22:58:30.65ID:bQ1dCiB60 >>118
newするたびにコードも複製される勘違いしてる知り合いが、似たような事を言ってたなあ
newするたびにコードも複製される勘違いしてる知り合いが、似たような事を言ってたなあ
122121 (ワッチョイ d99c-aH3h)
2021/05/30(日) 23:02:02.71ID:bQ1dCiB60 ✘ コードも複製される勘違いしてる
○ コードも複製されると勘違いしてる
○ コードも複製されると勘違いしてる
123デフォルトの名無しさん (ワッチョイ 414f-4Wjq)
2021/05/31(月) 00:13:41.39ID:N0w7o/rO0 でかいクラスってメンバーが多かったりする奴を言ってるのかと思ったけどコードの話なの?
124デフォルトの名無しさん (ワッチョイ 2b63-IOy6)
2021/05/31(月) 00:15:18.85ID:W0rzhAw20 Pentium無印で動かしてるかもしれないだろ
125デフォルトの名無しさん (ワッチョイ 93e4-48kP)
2021/06/01(火) 06:28:16.16ID:jX3vW8oh0 jsonの逆シリアル化について教えてください
以下のコードでローカルのjsonファイルを読み込み、逆シリアル化をしてオブジェクトを得たいと考えています
@var readJsonFile = File.ReadAllText(filePath);
Avar jsonDeserialize =JsonSerializer.Deserialize<List<Food>>(readJsonFile);
public class Food{
public string Name{get;set;}
public int Price{get;set;}
}
しかしAの部分が上手く行きません。
変数readJsonFileには所定のjsonファイルの内容を取得出来ているのですが、jsonDeserializeには値が入ってきません。
具体的にはデバッグで変数の中身を確認すると、jsonファイルに記述している項目数だけ要素は取得していますが、Name:null、Price:0の様にファイルに記載しているName等のデータがありません。
エラーなどもなく、何が原因なのか突き止めることが出来ません…。
初歩的な質問で申し訳ありませんがアドバイス頂きたいです。
長文失礼しました。
以下のコードでローカルのjsonファイルを読み込み、逆シリアル化をしてオブジェクトを得たいと考えています
@var readJsonFile = File.ReadAllText(filePath);
Avar jsonDeserialize =JsonSerializer.Deserialize<List<Food>>(readJsonFile);
public class Food{
public string Name{get;set;}
public int Price{get;set;}
}
しかしAの部分が上手く行きません。
変数readJsonFileには所定のjsonファイルの内容を取得出来ているのですが、jsonDeserializeには値が入ってきません。
具体的にはデバッグで変数の中身を確認すると、jsonファイルに記述している項目数だけ要素は取得していますが、Name:null、Price:0の様にファイルに記載しているName等のデータがありません。
エラーなどもなく、何が原因なのか突き止めることが出来ません…。
初歩的な質問で申し訳ありませんがアドバイス頂きたいです。
長文失礼しました。
126デフォルトの名無しさん (ワッチョイ f101-upCQ)
2021/06/01(火) 06:43:19.75ID:H3fSzkBp0 そのjson上げてもらわないと何も回答できないのでは
127デフォルトの名無しさん (ワッチョイ 93e4-48kP)
2021/06/01(火) 07:00:41.85ID:jX3vW8oh0 >>126
申し訳ありません
jsonファイルには以下の様に記述しています
{
"name": "りんご",
"price":100,
},
{
"name": "みかん",
"price":80,
},
{
"name": "バナナ",
"price":90,
}
申し訳ありません
jsonファイルには以下の様に記述しています
{
"name": "りんご",
"price":100,
},
{
"name": "みかん",
"price":80,
},
{
"name": "バナナ",
"price":90,
}
128デフォルトの名無しさん (ワッチョイ 2ba7-F9JJ)
2021/06/01(火) 07:15:38.78ID:+vEQR5vy0 >>127
シリアライズは出来てるの?
シリアライズは出来てるの?
129デフォルトの名無しさん (ワッチョイ 2ba7-F9JJ)
2021/06/01(火) 07:21:03.13ID:+vEQR5vy0130デフォルトの名無しさん (ワッチョイ 9136-pa/n)
2021/06/01(火) 07:28:17.13ID:T5CL49Lw0 全体を[]で囲って配列にすれば、デシリアライズできるんでないの?
131デフォルトの名無しさん (アウアウクー MM0d-48kP)
2021/06/01(火) 07:54:24.27ID:ILsKj6x4M >>128
シリアライズは試していません
シリアル化、逆シリアル化はそれぞれ単体で利用出来るものと認識していたのですが、そうではないのでしょうか?
また以下の記事の注釈の箇所を参考にしたのでDataContractJsonSerializerは今回利用していないです
https://docs.microsoft.com/ja-jp/dotnet/api/system.runtime.serialization.json.datacontractjsonserializer
シリアライズは試していません
シリアル化、逆シリアル化はそれぞれ単体で利用出来るものと認識していたのですが、そうではないのでしょうか?
また以下の記事の注釈の箇所を参考にしたのでDataContractJsonSerializerは今回利用していないです
https://docs.microsoft.com/ja-jp/dotnet/api/system.runtime.serialization.json.datacontractjsonserializer
132デフォルトの名無しさん (ワッチョイ 4b7c-Y7ma)
2021/06/01(火) 09:10:03.91ID:9OJVryW40 JSONもC#も(JavaScriptも)CaseSensitive
NameなんてプロパティJSONに含まれてない
DataContractJsonSerializerだとJSONのcamelCaseとC#のPascalCaseをよろしくやってくれる機能はないんだっけ
ならNameとPriceにそれぞれDataMember属性付けて
[DataMember(Name = "name")] public string Name { get; set; }
みたいにする
NameなんてプロパティJSONに含まれてない
DataContractJsonSerializerだとJSONのcamelCaseとC#のPascalCaseをよろしくやってくれる機能はないんだっけ
ならNameとPriceにそれぞれDataMember属性付けて
[DataMember(Name = "name")] public string Name { get; set; }
みたいにする
133デフォルトの名無しさん (ワッチョイ 4b7c-Y7ma)
2021/06/01(火) 09:16:01.04ID:9OJVryW40 あ、System.Text.Json.JsonSerializer使ってるのか
ならDeserializeの第2引数でPropertyNamingPolicyにCamelCase設定したJsonSerializerOptionsを渡せばいい
ならDeserializeの第2引数でPropertyNamingPolicyにCamelCase設定したJsonSerializerOptionsを渡せばいい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★11 [樽悶★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- 外国人の犯罪率は日本人の1.72倍 警察庁が短期滞在者除いた数字を参院内閣委で答弁★2 [七波羅探題★]
- 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ★2 [♪♪♪★]
- ひろゆき氏 高市首相の台湾有事発言 「日本が得たものあまりない。経済的なマイナスは明確に存在」 [冬月記者★]
- 【速報】東京から人が消える [329329848]
- 【高市悲報】大暴落 [115996789]
- 【悲報】国会議員の給料アップ法改正、自民と維新で喧嘩し始めるWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 生活保護だけどインフルエンザになってまじつらい
- JKがスカートの下にジャスはくやつ
- 16のヒッキー女に構って
