!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:8qTwOc62015デフォルトの名無しさん (ワッチョイ 1fb0-sort)
2021/05/18(火) 20:29:56.80ID:YLn0XufY0 しっかりと新しい命名規則つかってるw
16デフォルトの名無しさん (ワッチョイ dbbd-cwNg)
2021/05/18(火) 21:13:32.38ID:0pXo6EN80 VBAのコードをVisual Studioでコツコツ書いて勉強してます。
@VBAではフォームに書き込んだ内容をエクセルシートの印刷用のシート(前もって作成済)へ転記して印刷という内容なんですが、エクセルでなくやる方法ってありますか?※転記内容は文字列や数字のみです。
AVBAでいう標準モジュール≒クラス?
BGetSet?ネットでもよく使いどころが分からないのですが、VBAで例えるならどんな感じですか?
@VBAではフォームに書き込んだ内容をエクセルシートの印刷用のシート(前もって作成済)へ転記して印刷という内容なんですが、エクセルでなくやる方法ってありますか?※転記内容は文字列や数字のみです。
AVBAでいう標準モジュール≒クラス?
BGetSet?ネットでもよく使いどころが分からないのですが、VBAで例えるならどんな感じですか?
17デフォルトの名無しさん (アウアウウー Sa1d-gSvD)
2021/05/18(火) 22:47:16.69ID:VzWE2qZQa これ煽りとかじゃなくて真面目な話だけど、他人に用件を過不足なく伝える能力って
プログラミングスキルより何百倍も重要だよw
ちっとは「この書き方で自分の言いたいことを理解してもらえるだろうか?」って視点を持ってほしい
>>13
他の人も書いてるけど基本的にUI(Form)の参照を「クラス」に握らせるのはNG。
なんでダメなのか今は理解できないかもしれないがそのうち自然と分かってくる。
逆、つまりFormが「クラス」の参照を握る方向で
>>16
@C#はオフィス製品じゃないんで少なくとも標準では
お手軽に同じことを実現する方法は用意されてない
AVBAにもクラスモジュールはあるよ。もちろん完全に同じ物ではないけど
Bプロパティのことを言ってるならVBAにもプロパティはある。もちろん(以下略
プログラミングスキルより何百倍も重要だよw
ちっとは「この書き方で自分の言いたいことを理解してもらえるだろうか?」って視点を持ってほしい
>>13
他の人も書いてるけど基本的にUI(Form)の参照を「クラス」に握らせるのはNG。
なんでダメなのか今は理解できないかもしれないがそのうち自然と分かってくる。
逆、つまりFormが「クラス」の参照を握る方向で
>>16
@C#はオフィス製品じゃないんで少なくとも標準では
お手軽に同じことを実現する方法は用意されてない
AVBAにもクラスモジュールはあるよ。もちろん完全に同じ物ではないけど
Bプロパティのことを言ってるならVBAにもプロパティはある。もちろん(以下略
18デフォルトの名無しさん (ブーイモ MM5b-M3SR)
2021/05/18(火) 23:13:37.98ID:zfq3U+DUM VBAってスレ違いくね?
19デフォルトの名無しさん (ブーイモ MM5b-M3SR)
2021/05/18(火) 23:14:49.24ID:zfq3U+DUM ああごめん。VBAのをC#に移植してるってことか。脊髄反射してもた。スンマソ
20デフォルトの名無しさん (ワッチョイ aba7-4lYq)
2021/05/18(火) 23:35:28.59ID:Txr9X7xM021デフォルトの名無しさん (ワッチョイ 8902-aUbQ)
2021/05/18(火) 23:39:41.70ID:z9H7NlJs0 >視点を持ってほしい
こう言うのってとても大切なことだと思うけれど。
こう言うのってとても大切なことだと思うけれど。
22デフォルトの名無しさん (ワッチョイ 9f33-SQHu)
2021/05/18(火) 23:47:06.61ID:eaycUWDk0 17さんと一緒に仕事したい。
23デフォルトの名無しさん (ワッチョイ 3fac-v+G2)
2021/05/19(水) 00:44:36.75ID:KZ+rGapc0 あれだな、自分がちゃんと理解して回答してるか、そういうのを確認する視点も持たないとな
24デフォルトの名無しさん (スフッ Sdd7-Ratl)
2021/05/19(水) 07:27:19.64ID:yWkX4iecd25デフォルトの名無しさん (ワッチョイ c7e6-JFKK)
2021/05/19(水) 07:34:53.84ID:AMEX05Gv0 単に印刷をしたいだけだろ
ギョーカイでは印刷用コンポーネント買ってこいで一蹴される案件
ギョーカイでは印刷用コンポーネント買ってこいで一蹴される案件
26デフォルトの名無しさん (ブーイモ MM5b-M3SR)
2021/05/19(水) 08:48:51.66ID:dvesxogvM 印刷コンポーネントって標準で付いてないっけ?
27デフォルトの名無しさん (スッップ Sd2f-cwNg)
2021/05/19(水) 09:40:36.03ID:TmTcYE5Zd >>14>>17 ありがとうございます。説明たらずですみません。ネットみてこんな感じで作成しましたが、こういう作りはよろしくないってことですよね?クラスにxmlファイル関連の処理をまとめたいなと思ったのですが...
{}等々は省略します。
class ClsXml
Public Frm1 frm1
Public Frm2 frm2
Public ClsXml(Frm1 frm_1,Frm2 frm_2)
frm1=frm_1
frm2=frm_2
Public void aaa
frm1のコンコロール使用
Public void bbb
frm2のコントロール使用
Public void ccc
frm1とfrm2のコンコロール使用
※Frm1
ClsXml clsXml = new ClsXml clsXml(this,null)
※Frm2
ClsXml clsXml = new ClsXml clsXml(Frm1,This)
{}等々は省略します。
class ClsXml
Public Frm1 frm1
Public Frm2 frm2
Public ClsXml(Frm1 frm_1,Frm2 frm_2)
frm1=frm_1
frm2=frm_2
Public void aaa
frm1のコンコロール使用
Public void bbb
frm2のコントロール使用
Public void ccc
frm1とfrm2のコンコロール使用
※Frm1
ClsXml clsXml = new ClsXml clsXml(this,null)
※Frm2
ClsXml clsXml = new ClsXml clsXml(Frm1,This)
28デフォルトの名無しさん (ワッチョイ 03da-as9D)
2021/05/19(水) 10:02:03.60ID:+JHqwFd70 データ保持クラスを1つ作って、それを受け渡しする
29デフォルトの名無しさん (ワッチョイ 2b7b-gSvD)
2021/05/19(水) 10:08:02.04ID:C6qGRFkz0 C#のプログラミング本を読んでいるのですけど
C#という言語はnewしても失敗することはないのでしょうか
newの戻り値を確認したり
try catchで囲んだりてませんよね
Designer.csをみてもnewだけしてて戻り値を確認していません
識者の方教えてください。よろしくお願いします。
C#という言語はnewしても失敗することはないのでしょうか
newの戻り値を確認したり
try catchで囲んだりてませんよね
Designer.csをみてもnewだけしてて戻り値を確認していません
識者の方教えてください。よろしくお願いします。
30デフォルトの名無しさん (ラクッペペ MM17-JFKK)
2021/05/19(水) 10:32:55.61ID:TDEniZJiM31デフォルトの名無しさん (ラクッペペ MM17-JFKK)
2021/05/19(水) 10:37:43.80ID:TDEniZJiM32デフォルトの名無しさん (ワッチョイ a12d-u+PU)
2021/05/19(水) 10:42:01.36ID:RX1B9Flf0 >>29
使い方を間違えていなければコンストラクタで例外が発生しないクラスが多いので
基本的にはコンストラクで例外が発生する場合はバグであり使い方を修正する。
正しい使い方でもコンストラクタで例外が発生する場合があるクラスについては例外を捕捉してフォローする。
使い方を間違えていなければコンストラクタで例外が発生しないクラスが多いので
基本的にはコンストラクで例外が発生する場合はバグであり使い方を修正する。
正しい使い方でもコンストラクタで例外が発生する場合があるクラスについては例外を捕捉してフォローする。
33デフォルトの名無しさん (ワッチョイ 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する時間もバカにできない
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★4 [BFU★]
- 【いちご高騰】ヤマザキのクリスマスケーキ、いちご無し販売 [おっさん友の会★]
- 【日中対立】 朝日新聞のタイトル修正が中国逆ギレの火種か SNSで批判相次ぐ [♪♪♪★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★10 [樽悶★]
- 【音楽】『日本レコード大賞』各賞発表! 大賞候補にILLIT、M!LK、ふるっぱー、幾田りら、アイナ、ミセスら… 作詩賞は指原莉乃 [冬月記者★]
- 「ドラゴンボール」初の全世界キャラクター人気投票が開幕!212キャラからナンバーワンが決まる!! [ひかり★]
- 中国、レアアース輸出制限wwwwwwwwwwwwwwwwwwwwwwww🎌 [329329848]
- マッサージ師だが
- 【訃報】日経平均先物逝く、円安株安債券安 [943688309]
- 【すべてが】𝗮𝗺͜𝗮͉𝘇𝗼𝗻ブラックフライデーSALE総合【いいだろ!】 [194819832]
- 昼夜逆転してるから話そう
- お返事まだカナ
