!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:8qTwOc6202デフォルトの名無しさん (ワッチョイ bf93-f+4d)
2021/05/16(日) 11:08:45.40ID:U6V1THSr03デフォルトの名無しさん (JP 0H9d-gSvD)
2021/05/16(日) 11:58:58.94ID:FgZG9punH 前スレ988ですみなさん相手にしてくださってありがとうございます
わかりやすく教えてくださって感謝しております
またしっくりこないなどと雑な表現をしてしまい申し訳ありませんでした
複数のテキスト上でそのようなコードを確認しておりましたので順序が逆では?と私が考えた書き順でも動作に問題はないのだろうとは理解しておりました
ただあくまでコードの処理が基本的に上から下への流れであるならばそのような書き方はハードウェアなりコンパイラなりに無駄な負担をかけているのでは?との思いもあり質問させていただきました
わかりやすく教えてくださって感謝しております
またしっくりこないなどと雑な表現をしてしまい申し訳ありませんでした
複数のテキスト上でそのようなコードを確認しておりましたので順序が逆では?と私が考えた書き順でも動作に問題はないのだろうとは理解しておりました
ただあくまでコードの処理が基本的に上から下への流れであるならばそのような書き方はハードウェアなりコンパイラなりに無駄な負担をかけているのでは?との思いもあり質問させていただきました
4デフォルトの名無しさん (ワッチョイ 87b0-TVsO)
2021/05/16(日) 21:49:06.24ID:4Yy6RF+p0 ちょっとお尋ねします
VisualStudio2017の無償版でFormアプリ作って楽しんでますが
昔作って普通に動作していたexeが
1年ほど前のWin10のアプデ以降、動作が重く計算の出力も遅くなったような気がします
これはWin10のアプデによってバージョンが対応しなくなったのでしょうか?
このような場合、何をチェックすればいいのでしょうか?
VisualStudio2017の無償版でFormアプリ作って楽しんでますが
昔作って普通に動作していたexeが
1年ほど前のWin10のアプデ以降、動作が重く計算の出力も遅くなったような気がします
これはWin10のアプデによってバージョンが対応しなくなったのでしょうか?
このような場合、何をチェックすればいいのでしょうか?
5デフォルトの名無しさん (ワッチョイ 03da-as9D)
2021/05/16(日) 21:56:47.00ID:w/v5e2LF0 intel CPUの脆弱性対応で計算能力落ちたんじゃね。
アムドのCPU載ったWindowsで試してみるとか
20H2だったらKB4601382適用でパフォーマンスアップするとかしないとか
アムドのCPU載ったWindowsで試してみるとか
20H2だったらKB4601382適用でパフォーマンスアップするとかしないとか
6デフォルトの名無しさん (ワッチョイ bf93-f+4d)
2021/05/16(日) 22:51:22.50ID:U6V1THSr0 アムド…?
7デフォルトの名無しさん (ワッチョイ bf93-f+4d)
2021/05/16(日) 22:52:08.13ID:U6V1THSr0 鎧化?
8デフォルトの名無しさん (アウアウエー Sa93-xIYq)
2021/05/16(日) 22:53:32.36ID:2iobi2pZa ヒュンケル?
9デフォルトの名無しさん (ワッチョイ 9114-cp4x)
2021/05/17(月) 03:54:28.62ID:HtlvZdi50 ユンケル
10デフォルトの名無しさん (ワッチョイ 9114-cp4x)
2021/05/17(月) 03:54:53.89ID:HtlvZdi50 皇帝
11デフォルトの名無しさん (ワッチョイ c7e6-JFKK)
2021/05/17(月) 23:47:33.48ID:243nH9hZ0 ウボァー
12デフォルトの名無しさん (ワッチョイ 9f33-SQHu)
2021/05/18(火) 01:57:21.28ID:eaycUWDk0 >>4
そんな事くらいで対応しなくなったら、世の中のソフトは大混乱になってる。
ログやデータが増えて計算量が増えたとか、ディスクアクセスが遅くなってるとかじゃないの?
明らかに遅いのならループ処理中に例外が出てるとかかもしれない。
調査方法はたくさんありますが、まずはタスクマネージャーで確認してみるのが良いと思います。
そんな事くらいで対応しなくなったら、世の中のソフトは大混乱になってる。
ログやデータが増えて計算量が増えたとか、ディスクアクセスが遅くなってるとかじゃないの?
明らかに遅いのならループ処理中に例外が出てるとかかもしれない。
調査方法はたくさんありますが、まずはタスクマネージャーで確認してみるのが良いと思います。
13デフォルトの名無しさん (スッップ Sd2f-cwNg)
2021/05/18(火) 13:55:59.54ID:awNVHcWQd 質問です。
Form1と2とクラスが1つあって、クラスにForm1と2のTextBox等をを使用してファイル書込み、作成、削除、追加等のコード書きました。
Form1表示→入力→Form2表示→入力→閉じるまで間に何度かクラスを使用したい。
フォーム1のみならthisを渡して、TextBoxをPublicにしてやればいいのはネット見て分かったのですが、Form2も渡すとなると、Form2に辿り着く前にクラス使用する時はどうしたらいいですか?
Form1と2とクラスが1つあって、クラスにForm1と2のTextBox等をを使用してファイル書込み、作成、削除、追加等のコード書きました。
Form1表示→入力→Form2表示→入力→閉じるまで間に何度かクラスを使用したい。
フォーム1のみならthisを渡して、TextBoxをPublicにしてやればいいのはネット見て分かったのですが、Form2も渡すとなると、Form2に辿り着く前にクラス使用する時はどうしたらいいですか?
14デフォルトの名無しさん (ワッチョイ fb62-EUHA)
2021/05/18(火) 15:50:09.78ID:/vNHi2oE0 >>13
何をしたいのかよく分からないけど、Formのコントローラーを公開するのはよくない
Form1とForm2で共通で使いたいクラスあるなら、呼び出し元で定義してそれぞれのFormに投げるじゃダメなの?
class Form1{
private クラス _クラス;
Form1(クラス c){ _クラス = c; }
}
class Form2{
private クラス _クラス;
Form2(クラス c){ _クラス = c; }
}
class クラス{}
何をしたいのかよく分からないけど、Formのコントローラーを公開するのはよくない
Form1とForm2で共通で使いたいクラスあるなら、呼び出し元で定義してそれぞれのFormに投げるじゃダメなの?
class Form1{
private クラス _クラス;
Form1(クラス c){ _クラス = c; }
}
class Form2{
private クラス _クラス;
Form2(クラス c){ _クラス = c; }
}
class クラス{}
15デフォルトの名無しさん (ワッチョイ 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使ったことないお
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【無言】中国怒らせた高市首相→1週間だんまり、国民に実害も説明なし 中国問題を避けてスルー… ★5 [BFU★]
- 「日本はパンダがいなくなる状況に直面するだろう」 中国メディア、専門家の見方伝える [♪♪♪★]
- 止まらぬ「日本売り」 高市財政への懸念で進む金利上昇と円安 ★2 [蚤の市★]
- 【北海道】帯広vs釧路 不良グループが30人規模の大乱闘 廃墟での肝試しで鉢合わせトラブルに…自称解体工の男ら逮捕 [ぐれ★]
- ネット殺到「高市総理の責任」「完全に高市リスク」「負けるな」中国が水産物輸入停止→流石に総理批判の声も「どう責任取る?」 ★12 [樽悶★]
- 【福岡】ミカンの木に逆さ吊りになっていた高齢の男性が死亡 [雑用縞工作★]
- ネトウヨ「日本人の命を守るために中国とケンカしろ!え、薬が作れない?じゃあ死ね!」 こいつらの言う安全保障とはいったい何なのか? [314039747]
- 東大名誉教授「中国は誤った宣伝を繰り広げ、対立を煽り、経済の失敗による国内の不満を日本に向けている」 [903292576]
- 【悲報】Suica、セキュリティを突破されたのが販売されはじめる [347751896]
- 【悲報】米問屋「助けて!米がとんでもない量余ってるのに全然売れないの!でも絶対値下げしたくない…どうしたらいいの…」 [802034645]
- コンビニ店長、ついにキレる「なんであなた達にトイレを貸さないといけないんですか?私達はトイレレンタル業ではありません」 [329329848]
- 🏡
