!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)
「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、
質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスはやめてください
>>980を踏んだ人は新スレを建てて下さい。
>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://ideone.com/
https://dotnetfiddle.net/
■前スレ
ふらっと C#,C♯,C#(初心者用) Part143
https://mevius.5ch.net/test/read.cgi/tech/1558002486/
■情報源
https://docs.microsoft.com/ja-jp/dotnet/standard/class-libraries
https://docs.microsoft.com/ja-jp/dotnet/csharp/language-reference/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://referencesource.microsoft.com/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
ふらっと C#,C♯,C#(初心者用) Part144
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ドコグロ MM2f-DHp5)
2019/07/16(火) 15:36:23.74ID:i1fbuZ/pM299デフォルトの名無しさん (ワッチョイ 937d-g2bq)
2019/08/16(金) 16:37:56.56ID:AwRYym3H0300デフォルトの名無しさん (スプッッ Sd73-OTj7)
2019/08/16(金) 16:52:07.81ID:/nFnP4zmd >>298
タプルで返せばよくない?
タプルで返せばよくない?
301デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/16(金) 17:53:53.26ID:9StEh2pLd 例外はログ拾う時に絶望したくないから適切に投げるなぁ。
どうでも良いという論調は作るだけで保守しない人の発想みたいで少し嫌かもしれん。
アプリケーションのロジックをバッチでも使いたい、みたいな時に、毎度戻り値を検証するんじゃなくてバッチの一連のトランザクション自体落としちゃいたい時に二度手間な気がするんだが、その辺どう作ってるんだろう?
どうでも良いという論調は作るだけで保守しない人の発想みたいで少し嫌かもしれん。
アプリケーションのロジックをバッチでも使いたい、みたいな時に、毎度戻り値を検証するんじゃなくてバッチの一連のトランザクション自体落としちゃいたい時に二度手間な気がするんだが、その辺どう作ってるんだろう?
302デフォルトの名無しさん (ササクッテロ Sp85-qnpc)
2019/08/16(金) 19:27:37.17ID:16ocBcE+p >>301
二度手間と思うのは一人で全部コード書いてるから。
二度手間と思うのは一人で全部コード書いてるから。
303デフォルトの名無しさん (ブーイモ MM33-77RX)
2019/08/16(金) 19:30:21.63ID:O2kbbLouM304デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/16(金) 21:32:15.51ID:HNLZHpWT0305デフォルトの名無しさん (ワッチョイ 2b2d-QMAU)
2019/08/16(金) 23:41:19.50ID:AADFbgN80 プログラム板住人は煽られるとすぐムキになるから、転載アフィブロガーの種まきに最適な場所になっちまってんだろう
306デフォルトの名無しさん (ワッチョイ 937d-g2bq)
2019/08/17(土) 00:34:58.82ID:1HSNgy8G0 Seleniumって便利だな
もっとユーザが増えてほしい
もっとユーザが増えてほしい
307デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/17(土) 02:16:51.47ID:EsYhqRXq0308251 (ワッチョイ 132c-BF++)
2019/08/17(土) 02:31:35.40ID:fYRni8gj0 Ruby on Rails では、作者のDHH が、2014年に「TDD(テスト駆動開発) is dead」と発言して、
ユニットテストから、Selenium を使った、E2E(end to end)テストへ移行した!
それで、Rails 6 では、
DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle によって、
テストを複数CPU コアで、並列実行する機能が実装された!
ユニットテストから、Selenium を使った、E2E(end to end)テストへ移行した!
それで、Rails 6 では、
DHH のいるBasecamp 社から、GitHub へ移籍した、Eileen Uchitelle によって、
テストを複数CPU コアで、並列実行する機能が実装された!
309デフォルトの名無しさん (アウアウエー Sae3-oJYb)
2019/08/17(土) 10:48:29.26ID:uGEbzf6ra 気狂いしかいねーのかよ
310デフォルトの名無しさん (ワッチョイ b963-+d9c)
2019/08/17(土) 12:36:57.19ID:zUPT7dbd0 見てわかんねーのか
311デフォルトの名無しさん (ワッチョイ d1da-SHDy)
2019/08/17(土) 13:25:59.90ID:Mqg+a2XP0 暑さで脳味噌が溶けちまったんだろう
312デフォルトの名無しさん (ワッチョイ 7b3b-oOLq)
2019/08/17(土) 14:35:53.37ID:sCIOh4/p0 なんでRubyスレで言わねえんだ?
313デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/17(土) 15:08:20.60ID:BwzrwDPv0 >>303
なんでJavaのつもりで書く必要があったの?
なんでJavaのつもりで書く必要があったの?
314デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/17(土) 15:55:56.68ID:qUgpJGd70 >>307
あんたの272の近辺にはJavaの話は全く出てきていないが、もしかするとRubyがJavaだと思った?
あんたの272の近辺にはJavaの話は全く出てきていないが、もしかするとRubyがJavaだと思った?
315デフォルトの名無しさん (ワッチョイ 3990-osyD)
2019/08/17(土) 19:21:30.41ID:lWdyvSQl0 エスパーすると、ASP.NETがあるがデスクトップアプリがメインだったC#よりまだJavaスレの方がまだselenium詳しそうなやつ多そうだから、せめてjavaスレ行けって事だろ。
ほんとこれぐらいもエスパーできなきゃアホやろ
ほんとこれぐらいもエスパーできなきゃアホやろ
316デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/17(土) 21:04:14.52ID:qUgpJGd70 それなら「Rubyスレに行け」が流れ的に当然であるのに何故か「Java」
彼にとってサーバーサイドの言語は全部Java
ほぼ「ゲーム機を全部ファミコンと呼ぶおかん」状態と考えるのが妥当と思われる
彼にとってサーバーサイドの言語は全部Java
ほぼ「ゲーム機を全部ファミコンと呼ぶおかん」状態と考えるのが妥当と思われる
317デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/17(土) 22:31:29.74ID:2lsOlPOTd >>315
それはあまりにも苦しい擁護だな
それはあまりにも苦しい擁護だな
318デフォルトの名無しさん (ブーイモ MMcb-eIZT)
2019/08/17(土) 22:32:06.22ID:fWrg11mTM319デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/17(土) 22:34:51.12ID:8QP5rwWB0 KeyValuePair c=func1();
cをnull判定できないんですがどうしたらいいですか?
Myclass c=func2();
の場合、null判定できます。
クラスは出来て、KeyValuePairは出来ないのは何故ですか?
cをnull判定できないんですがどうしたらいいですか?
Myclass c=func2();
の場合、null判定できます。
クラスは出来て、KeyValuePairは出来ないのは何故ですか?
320デフォルトの名無しさん (アウアウウー Sa5d-h434)
2019/08/17(土) 22:35:45.47ID:1som7JJwa321デフォルトの名無しさん (ワッチョイ 1379-dCD9)
2019/08/17(土) 22:37:54.74ID:RvVfsurb0 KeyValuePairにnullなんて入らないからな
322デフォルトの名無しさん (ブーイモ MMcb-77RX)
2019/08/17(土) 23:10:53.90ID:u5xmISorM >>314
以後アスペはNG
以後アスペはNG
323デフォルトの名無しさん (ブーイモ MMcb-77RX)
2019/08/17(土) 23:12:11.34ID:u5xmISorM >>316
流石に頭が悪すぎるのでこれ以上会話するのは不可能
流石に頭が悪すぎるのでこれ以上会話するのは不可能
324デフォルトの名無しさん (ワッチョイ 8b7b-Xlup)
2019/08/17(土) 23:22:57.32ID:w7ZVAy9F0 >>319
func1をTryParseみたいにbool func1(out KeyValuePair c)にして値入れたくないときはfalseを返すようにしたら?
構造体にnullは入れられないし、どうせそのあとnullで分岐するでしょ
func1をTryParseみたいにbool func1(out KeyValuePair c)にして値入れたくないときはfalseを返すようにしたら?
構造体にnullは入れられないし、どうせそのあとnullで分岐するでしょ
325デフォルトの名無しさん (ブーイモ MMcb-77RX)
2019/08/17(土) 23:30:37.14ID:u5xmISorM >>316
先走った場違いな発言を認めたくなくて必死過ぎ、こーゆう使えない部下は直ぐに切るからこいつは低収入確定
先走った場違いな発言を認めたくなくて必死過ぎ、こーゆう使えない部下は直ぐに切るからこいつは低収入確定
326デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/17(土) 23:35:04.26ID:BwzrwDPv0327デフォルトの名無しさん (ブーイモ MMcb-Hs4x)
2019/08/17(土) 23:36:59.53ID:+vBKVSmmM >>325
無職のおっさんに言われてもなぁ
無職のおっさんに言われてもなぁ
328251 (ワッチョイ 132c-BF++)
2019/08/17(土) 23:47:28.51ID:fYRni8gj0 そりゃ、C#・Java は、静的言語で同じだから、
静的言語になれているなら、Selenium の話は、Java で聞くのがよい
動的言語なら、Ruby, Python で聞けばよい
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
これは、Rubyでテストを書いた本
ウェブ系・HTML は基本、Ruby。
まあ、Java のSelenium の本も出てるけど
Java は、Spring Boot か?
動的言語のGroovy じゃないのか?
静的言語になれているなら、Selenium の話は、Java で聞くのがよい
動的言語なら、Ruby, Python で聞けばよい
Seleniumデザインパターン&ベストプラクティス、2015、オライリー
これは、Rubyでテストを書いた本
ウェブ系・HTML は基本、Ruby。
まあ、Java のSelenium の本も出てるけど
Java は、Spring Boot か?
動的言語のGroovy じゃないのか?
329デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/18(日) 01:25:10.35ID:KlRCzn4x0 javaの話が出てきても勘所がないから検討違いな粘着になるんだよな
Seleniumについて知識があれば文献的に充実してるのはjavaだろうに
Seleniumについて知識があれば文献的に充実してるのはjavaだろうに
330デフォルトの名無しさん (ワッチョイ b15f-mMpN)
2019/08/18(日) 03:58:12.87ID:9i6q0zGn0 c#からc#をインタプリタで実行できるライブラリってありますか?
331デフォルトの名無しさん (ワッチョイ b15f-qnpc)
2019/08/18(日) 06:08:49.00ID:t6n5brFa0332デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 13:41:29.71ID:+4zzAGlV0 WinForms で質問です。
標準の Form から継承した MyForm を abstract で作りました。
この MyForm は abstract なのでデザインで開けません。
(ここまでOK)
MyForm をもとに SubForm なるものを継承して作りました。
これには abstract は付けていないのですが、これもまたデザイナで開けません。
あまりに残念すぎる挙動だと思うのですが、これは仕様でしょうか。
標準の Form から継承した MyForm を abstract で作りました。
この MyForm は abstract なのでデザインで開けません。
(ここまでOK)
MyForm をもとに SubForm なるものを継承して作りました。
これには abstract は付けていないのですが、これもまたデザイナで開けません。
あまりに残念すぎる挙動だと思うのですが、これは仕様でしょうか。
333デフォルトの名無しさん (ワッチョイ 132c-gphu)
2019/08/18(日) 13:43:21.22ID:+3q0UZxZ0 Visual Studio .NET (2002) から続く仕様だよ
334デフォルトの名無しさん (ドコグロ MM63-h434)
2019/08/18(日) 13:45:24.63ID:jp7+H4+aM .NETではフォームの継承は推奨されていません
共通化したい場合はユーザーコントロールを使用してください
なお、WinFormsは既に開発が終了しており、今後改善される可能性はありません
共通化したい場合はユーザーコントロールを使用してください
なお、WinFormsは既に開発が終了しており、今後改善される可能性はありません
335デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 13:51:36.77ID:+4zzAGlV0 やっぱりですか。
デザイナが使えないと不便なので、MyForm 側にabstract 付けないで、virtual 定義しているのですが
継承先で「いじり必須」なものを忘れてしまうため、本当は abstract したいのですが・・
WinForms の開発が終わったって、世の中、VS で弄られてるソースの9割は WinForms だと思うんですけどねぇ
デザイナが使えないと不便なので、MyForm 側にabstract 付けないで、virtual 定義しているのですが
継承先で「いじり必須」なものを忘れてしまうため、本当は abstract したいのですが・・
WinForms の開発が終わったって、世の中、VS で弄られてるソースの9割は WinForms だと思うんですけどねぇ
336デフォルトの名無しさん (ワッチョイ 1379-dCD9)
2019/08/18(日) 13:57:02.56ID:ET6qk6jL0 うちは自社開発企業だがFormsはとっくの昔に淘汰された
Formsで作ってたアプリは全部WPFで作り直した
Formsで作ってたアプリは全部WPFで作り直した
337デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/18(日) 14:04:52.38ID:APnDI8yA0 visualstudioを利用しているのですが最近デバッグ時にフォームアプリを動かすと
System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'hoge' がアクセスされました。'
の様なエラーが出て止まる様になりました
しかし出来たプログラムをふつうに動かす分には異常ありません
今まで作ってきた問題のなかったすべてのバージョンでこの様な現象が起こっています
これは何が原因でしょうか?
System.InvalidOperationException: '有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'hoge' がアクセスされました。'
の様なエラーが出て止まる様になりました
しかし出来たプログラムをふつうに動かす分には異常ありません
今まで作ってきた問題のなかったすべてのバージョンでこの様な現象が起こっています
これは何が原因でしょうか?
338デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/18(日) 14:21:30.88ID:/RKifLkIa >>335
騙されたらあかんw
継承後のフォームもちゃんとデザイナで開けるし
コントロールを追加したりいろいろ出来るよw
フォームの継承なんて10年以上やってなかったが
今実際試して確認したから間違いない
騙されたらあかんw
継承後のフォームもちゃんとデザイナで開けるし
コントロールを追加したりいろいろ出来るよw
フォームの継承なんて10年以上やってなかったが
今実際試して確認したから間違いない
339デフォルトの名無しさん (ワッチョイ 1342-NA/o)
2019/08/18(日) 14:29:19.80ID:MLAzMixE0340デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 15:44:26.69ID:+4zzAGlV0341デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/18(日) 15:45:05.69ID:+4zzAGlV0 継承元が abstract じゃない単純なファームの継承だったら、まったく問題ありません。
342デフォルトの名無しさん (スッップ Sd33-OTj7)
2019/08/18(日) 17:17:03.03ID:zvOpWkeBd >>334
終了なんかしてないよ
終了なんかしてないよ
343デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/18(日) 17:55:07.39ID:/RKifLkIa >>340
なるほど。
abstractにこだわる必要が本当にあるのかなとも思うけど、
何ならコンストラクタをprotectedにすりゃ機能的にはほぼ同じだね。
(abstractメンバーはもちろん書けないけど)
これならそういう不具合は起こらないっぽい
なるほど。
abstractにこだわる必要が本当にあるのかなとも思うけど、
何ならコンストラクタをprotectedにすりゃ機能的にはほぼ同じだね。
(abstractメンバーはもちろん書けないけど)
これならそういう不具合は起こらないっぽい
344デフォルトの名無しさん (ワッチョイ d9da-QMAU)
2019/08/18(日) 18:33:20.50ID:5+yaTAKE0 蕎麦とラーメン間違えるとかもう簡単ケータイにしたほうがいいんじゃね。
たぶんVPNとか使わわんだろうし。
俺もIntelだからもう日産もゴーヤチャンプルーも同じ味付けで食える。
たぶんVPNとか使わわんだろうし。
俺もIntelだからもう日産もゴーヤチャンプルーも同じ味付けで食える。
345デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/18(日) 21:26:51.68ID:37ku1J740 Keyvaluepairの.Keyをnull判定したら
nullできました。
構造体だけどnull判定できましたが??
keyvalueopair本体はできないけど
KeyまたはValueはnull判定できました。
何故???まぁ良かったんですけど
nullできました。
構造体だけどnull判定できましたが??
keyvalueopair本体はできないけど
KeyまたはValueはnull判定できました。
何故???まぁ良かったんですけど
346デフォルトの名無しさん (ドコグロ MM63-h434)
2019/08/18(日) 21:29:43.77ID:jp7+H4+aM それはKeyプロパティが返した値をnull判定しているのであり、KeyValuePairが構造体であることは全く関係ない
直行する問題の分離ができない人はプログラミング向いてないよ
直行する問題の分離ができない人はプログラミング向いてないよ
347デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/18(日) 21:32:13.83ID:DxNAHPOT0 構造体はnullにできないからKeyValuePair?使えって言ってんのに
348デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/18(日) 21:33:54.95ID:DxNAHPOT0 言っとくけど「?」は文字化けじゃないぞw
349デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/18(日) 21:37:51.98ID:37ku1J740 >>346
ようはList<KeyValuePair<string,double>>
"レタス" 100
"キャベツ"120
"トマト" 120
こういうリストで、ピーマンって探すと
Keyがnullになってくれたので、良かったです。
KeyValuepairがnullじゃないのが不思議ですが
null判定できてよかった
ようはList<KeyValuePair<string,double>>
"レタス" 100
"キャベツ"120
"トマト" 120
こういうリストで、ピーマンって探すと
Keyがnullになってくれたので、良かったです。
KeyValuepairがnullじゃないのが不思議ですが
null判定できてよかった
350デフォルトの名無しさん (ワッチョイ a922-x+FD)
2019/08/18(日) 21:46:55.40ID:DxNAHPOT0 構造体はnullにできないと何度も言われてるのになんで不思議に思うんだろう
ピーマンを探すときのList.FirstOrDefault()の戻り値は
KeyValuePairをデフォルトコンストラクタで初期化したものだよ
ピーマンを探すときのList.FirstOrDefault()の戻り値は
KeyValuePairをデフォルトコンストラクタで初期化したものだよ
351デフォルトの名無しさん (ワッチョイ 8163-Lgl9)
2019/08/18(日) 21:48:35.09ID:FVnfIX0p0 >>349
keyvaluepairは構造体
構造体にはnullが存在しない
構造体にnullが存在しないことと構造体の中身がどうなっているか関係ないので、中身がクラスであるならnullにもなりうる
君がやったことは構造体ではなくその中身がnullかどうかのチェックしただけ
構造体とクラスの違いが理解できないなら今後も躓くのでkeyvaluepair含め他の構造体の使用も封印したほうがマシ
まぁintだって構造体だから全部避けるなんてことは無理だけど
keyvaluepairは構造体
構造体にはnullが存在しない
構造体にnullが存在しないことと構造体の中身がどうなっているか関係ないので、中身がクラスであるならnullにもなりうる
君がやったことは構造体ではなくその中身がnullかどうかのチェックしただけ
構造体とクラスの違いが理解できないなら今後も躓くのでkeyvaluepair含め他の構造体の使用も封印したほうがマシ
まぁintだって構造体だから全部避けるなんてことは無理だけど
352デフォルトの名無しさん (ワッチョイ b963-+d9c)
2019/08/18(日) 22:03:37.75ID:0nN/LwEb0 くどくて性格が悪そうな文章だ
353デフォルトの名無しさん (アウアウエー Sae3-Qfcm)
2019/08/18(日) 23:28:35.24ID:r1LRT6EBa listに入れるならdictionaryでいいんじゃないか…?とか話を一切聞いてなかったりとかkeyvalue君のレス見てるといらつくし
説明してあげる>>351は優しいだろ
説明してあげる>>351は優しいだろ
354デフォルトの名無しさん (ブーイモ MM9d-hG/2)
2019/08/19(月) 00:48:43.25ID:ODFt4ofXM >>349
null返ってきたのはkeyの型(string型)の初期値がnullだからなんでねか?
null返ってきたのはkeyの型(string型)の初期値がnullだからなんでねか?
355デフォルトの名無しさん (ワッチョイ 0963-77RX)
2019/08/19(月) 02:37:59.55ID:s7+bDgX20 >>327
きも
きも
356デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/19(月) 07:49:38.46ID:2nNI8r3od357デフォルトの名無しさん (ドコグロ MM95-F6B6)
2019/08/19(月) 08:07:23.07ID:D7o3OMEzM ループ作ったやつ次第のような?
358デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 10:35:33.11ID:VzpEDBAc0 Form1以外のクラスでlistboxに入力したいのですが
他クラスで入力する方法って望ましくないのですか?
他に方法はあるのでしょうか?
他クラスで入力する方法って望ましくないのですか?
他に方法はあるのでしょうか?
359デフォルトの名無しさん (ワッチョイ 0bda-dCD9)
2019/08/19(月) 10:48:05.33ID:Le9xiHCt0 MVVMなら他クラスで用意するのが普通。
INotifyPropertyChangedとObservableCollectionでばっちりよ
INotifyPropertyChangedとObservableCollectionでばっちりよ
360デフォルトの名無しさん (ササクッテロ Sp85-qnpc)
2019/08/19(月) 10:55:08.87ID:QArCM+jpp >>356
松茸採りに行っても見つからなかったらバスケットは空で帰って来るしか無いだろ?
松茸採りに行っても見つからなかったらバスケットは空で帰って来るしか無いだろ?
361デフォルトの名無しさん (ササクッテロ Sp85-qnpc)
2019/08/19(月) 10:55:52.73ID:QArCM+jpp でもバスケットはあるから、バスケットの中の松茸の数がゼロになるんだよね?
362デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/19(月) 11:52:38.83ID:2nNI8r3od バスケットが空なのと、バスケットにnullが入ってるのは違うんじゃねえかな?
参照型は瓶と水みたいな感じで、瓶だけ持って帰ってこれても、
値型みたいな、それ単体が実体のものは言うとおり松茸みたいなもんで、取りにいってなかったら何も持って帰って来れないと思うが。
無理矢理何か持たせるのがFirstOrDefaultで、坊主だった親父がとりあえず当たり障りのないものを魚屋で買って帰るようなもんでは?
FirstOrDefaultは無かったときにnullを返すためにあるんじゃないんだから。
ちゃんとチェックしてから取ったほうがいいと思うよ。
参照型は瓶と水みたいな感じで、瓶だけ持って帰ってこれても、
値型みたいな、それ単体が実体のものは言うとおり松茸みたいなもんで、取りにいってなかったら何も持って帰って来れないと思うが。
無理矢理何か持たせるのがFirstOrDefaultで、坊主だった親父がとりあえず当たり障りのないものを魚屋で買って帰るようなもんでは?
FirstOrDefaultは無かったときにnullを返すためにあるんじゃないんだから。
ちゃんとチェックしてから取ったほうがいいと思うよ。
363デフォルトの名無しさん (ブーイモ MM9d-hG/2)
2019/08/19(月) 12:00:12.26ID:ODFt4ofXM ちゃんとチェックしてからとるならFirst()でよくね?
364デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/19(月) 12:01:25.55ID:9Ob07fGvd どうでもいい自分なりの思想を長々と書く人だね
365デフォルトの名無しさん (ブーイモ MM4d-SHDy)
2019/08/19(月) 12:07:05.62ID:ZYeDXrpNM ILで説明してくれ
366デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 13:23:05.09ID:VzpEDBAc0 >>358なんですが誰かお願いします
別クラスでテキストボックスとかいじるのって普通のやり方ではないんでしょうか?
別クラスでテキストボックスとかいじるのって普通のやり方ではないんでしょうか?
367デフォルトの名無しさん (ワッチョイ f12c-RZ8Y)
2019/08/19(月) 13:27:26.75ID:ERfcd1se0 >>359が返してくれてるだろ
368デフォルトの名無しさん (ワッチョイ 2b7c-gphu)
2019/08/19(月) 13:34:49.71ID:eHF4rC4A0 別クラスでいじるって、
class Hoge {
public void SetText(TextBox textBox, string text) { textBox.Text = text; }
}
みたいな?
コントロールを外部に渡すというのはまあ一般的ではないな
class Hoge {
public void SetText(TextBox textBox, string text) { textBox.Text = text; }
}
みたいな?
コントロールを外部に渡すというのはまあ一般的ではないな
369デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 13:36:41.01ID:VzpEDBAc0 >>359
返してくださったのはありがたいんですが
その3つの単語全て知らなくて、ググってみても高度すぎてわかりません
コンソールアプリケーションをフォームアプリケーションに移植しようとしているのですが
Console.Write()で出力していたものをlistBoxやtextBoxに出力したいのですが出来なくて困っております
どうかアドバイスお願いします
返してくださったのはありがたいんですが
その3つの単語全て知らなくて、ググってみても高度すぎてわかりません
コンソールアプリケーションをフォームアプリケーションに移植しようとしているのですが
Console.Write()で出力していたものをlistBoxやtextBoxに出力したいのですが出来なくて困っております
どうかアドバイスお願いします
370デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/19(月) 13:44:13.47ID:9Ob07fGvd 外部でstringの配列なりListなり作った上でそれを
ListBox.DataSourceプロパティにセットすればいいんじゃないの
ListBox.DataSourceプロパティにセットすればいいんじゃないの
371デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/19(月) 13:56:34.58ID:eDOlyF+5a >>369
■ 選択肢1
FormにAddToLogみたいなメソッドを作ってConsole.WriteLineを
LogForm.AddToLog
■ 選択肢2
Console.WriteLineを、記録する文字列を通知するイベントに置き換える。
Formはそのイベントを拾ってListBoxに表示
後者を推奨
基本的にUIの参照を握らせるのは悪い手
■ 選択肢1
FormにAddToLogみたいなメソッドを作ってConsole.WriteLineを
LogForm.AddToLog
■ 選択肢2
Console.WriteLineを、記録する文字列を通知するイベントに置き換える。
Formはそのイベントを拾ってListBoxに表示
後者を推奨
基本的にUIの参照を握らせるのは悪い手
372デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 14:04:49.07ID:VzpEDBAc0 移植したいコンソールアプリ
class Program
{
static void Main(string[] args)
{
var op = new Output();
op.MainProcess(400);
Console.Read();
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
Console.Write(col);
}
}
class Program
{
static void Main(string[] args)
{
var op = new Output();
op.MainProcess(400);
Console.Read();
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
Console.Write(col);
}
}
373デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 14:06:13.39ID:VzpEDBAc0 作ってみたフォームアプリ
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
var op = new Output();
op.MainProcess(400);
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
listBox1.Items.Add(col);//←ここが動かない
}
}
こんな感じです
>>371
ありがとうございます。さっそく試してみます
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
var op = new Output();
op.MainProcess(400);
}
}
public class Output
{
public override int MainProcess(int count)
{
for (int col = 0; col < count; col++)
listBox1.Items.Add(col);//←ここが動かない
}
}
こんな感じです
>>371
ありがとうございます。さっそく試してみます
374デフォルトの名無しさん (ワッチョイ f12c-RZ8Y)
2019/08/19(月) 15:32:03.08ID:ERfcd1se0 なんでいきなりバックグラウンドワーカーが出てきてるか知らんけど、ドゥーワークは別スレッドで実行する内容を記載するところで、UIスレッドにアクセスしたらダメ→コントロールを触ったらダメ
リストボックスにアクセスしたかったらリポートプログレスもしくはコンプリートでUIスレッドにマーシャリングしてから
リストボックスにアクセスしたかったらリポートプログレスもしくはコンプリートでUIスレッドにマーシャリングしてから
375デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 16:32:24.93ID:VzpEDBAc0 簡略化して書いていますが凄い長い計算なので計算中でもプログラムが反応する様にbackgroundWorkerにしています
backgroundWorkerかでなくとも、他クラスからフォームをいじるということが出来なくて困っています
backgroundWorkerかでなくとも、他クラスからフォームをいじるということが出来なくて困っています
376デフォルトの名無しさん (スフッ Sd33-oOLq)
2019/08/19(月) 17:09:34.09ID:2nNI8r3od 普通にinvokeしなよ。
377デフォルトの名無しさん (ワッチョイ 8b7b-Xlup)
2019/08/19(月) 17:49:40.07ID:VD+/iXFd0 >>375
1.他のフォームからコントロールを操作する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
2.BackgroundWorkerからコントロール(UIスレッド)を沿操作する
https://dobon.net/vb/dotnet/programing/progressdialogbw.html またはInvoke
今の段階では1+2をやりたいんだよね
設計的なものに口だすのは良くないけど参考までに
>凄い長い計算なので計算中でもプログラムが反応する様に
ListBoxの一つのアイテムごとに時間がかかるのならMainProcessでループで一気にAddせずに
BackgroundWorkerの中で「計算実行→ReportProgressで別フォームListBoxにAdd」をループさせてもいいんじゃないの
1.他のフォームからコントロールを操作する
https://dobon.net/vb/dotnet/form/accessanotherformdata.html
2.BackgroundWorkerからコントロール(UIスレッド)を沿操作する
https://dobon.net/vb/dotnet/programing/progressdialogbw.html またはInvoke
今の段階では1+2をやりたいんだよね
設計的なものに口だすのは良くないけど参考までに
>凄い長い計算なので計算中でもプログラムが反応する様に
ListBoxの一つのアイテムごとに時間がかかるのならMainProcessでループで一気にAddせずに
BackgroundWorkerの中で「計算実行→ReportProgressで別フォームListBoxにAdd」をループさせてもいいんじゃないの
378デフォルトの名無しさん (ドコグロ MM63-F6B6)
2019/08/19(月) 17:55:50.15ID:V7QYb24CM379デフォルトの名無しさん (ドコグロ MM63-F6B6)
2019/08/19(月) 18:04:30.50ID:V7QYb24CM 関係なかった
自分が昔出なかったのは
AppendTextしてなかったからだったw
すまんかった
自分が昔出なかったのは
AppendTextしてなかったからだったw
すまんかった
380デフォルトの名無しさん (ワッチョイ 7b05-K1Ve)
2019/08/19(月) 20:31:39.57ID:VzpEDBAc0 Invoke調べてみました。いけそうな気がしますが書き方が難しいです
上記のコードの場合どのように記述すれば良いのでしょうか?
上記のコードの場合どのように記述すれば良いのでしょうか?
381デフォルトの名無しさん (ササクッテロ Sp85-7mqZ)
2019/08/19(月) 20:43:11.70ID:y72D5AUNp382デフォルトの名無しさん (アウアウカー Sa15-cJb6)
2019/08/19(月) 20:46:44.95ID:cJsYlnhia パッと見で適当だけど、formにコントロールの変更記述して、コールバック登録してtaskはしらせればいいの違うのか?invokeは当然
383デフォルトの名無しさん (ワッチョイ 597b-xIzb)
2019/08/19(月) 21:00:04.04ID:Vps+pUHe0 >>380
delegate用のメソッド作ってdelegateにセットしてinvoke
https://www.atmarkit.co.jp/ait/articles/0506/17/news111.html
delegate用のメソッド作ってdelegateにセットしてinvoke
https://www.atmarkit.co.jp/ait/articles/0506/17/news111.html
384デフォルトの名無しさん (ワッチョイ d968-2U8j)
2019/08/19(月) 22:54:50.46ID:aQCsW5pK0 doubleって整数のほうに偏りがあったら
小数部分は短い精度になるんですが、これ何とかなりませんか?
doubleは精度高いから小数点第5位とか精度余裕だろwwwwwwwwwww
989〜〜〜132.1235212596 算出結果
989〜〜〜132.1235312314 正解
え???????????
ちょwwwwww
助けてください
小数部分は短い精度になるんですが、これ何とかなりませんか?
doubleは精度高いから小数点第5位とか精度余裕だろwwwwwwwwwww
989〜〜〜132.1235212596 算出結果
989〜〜〜132.1235312314 正解
え???????????
ちょwwwwww
助けてください
385デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/19(月) 23:06:59.10ID:eDOlyF+5a >>384
何を言ってるか人に分かるように書かないと誰も答えようがないよw
一般論として、演算誤差を累積させずに
演算可能かどうかはどういう演算をしてるかによるので、
具体的な処理が分からないと何とも言えん
何を言ってるか人に分かるように書かないと誰も答えようがないよw
一般論として、演算誤差を累積させずに
演算可能かどうかはどういう演算をしてるかによるので、
具体的な処理が分からないと何とも言えん
386デフォルトの名無しさん (スププ Sd33-x+FD)
2019/08/19(月) 23:27:14.16ID:9Ob07fGvd decimal型使えば
387デフォルトの名無しさん (ワッチョイ 8163-Lgl9)
2019/08/19(月) 23:36:21.05ID:0KlGy2IO0388デフォルトの名無しさん (ワッチョイ 1361-F6B6)
2019/08/19(月) 23:57:36.54ID:0eZQgVij0 分数型クラスを自分で作ってとっとけ
389デフォルトの名無しさん (ワッチョイ 937d-g2bq)
2019/08/19(月) 23:59:07.58ID:HKOIeNMl0 Seleniumを極めよう
390デフォルトの名無しさん (スププ Sd33-/7bP)
2019/08/20(火) 00:07:25.79ID:VMXKYR4od Form1, Form2, CounterForm があります。
CounterForm にカウントを表示して、0 になったら、Form1 か Form2 のメソッドを実行するにはどうしたら良いでしょうか?
やりたいこと
5. 4. 3. 2. 1. 0 と表示 → form1.DoSomething();
CounterForm と Form1 の部分はできているのですが、
複数class間で通知する方法がよくわかりません。
CounterForm にカウントを表示して、0 になったら、Form1 か Form2 のメソッドを実行するにはどうしたら良いでしょうか?
やりたいこと
5. 4. 3. 2. 1. 0 と表示 → form1.DoSomething();
CounterForm と Form1 の部分はできているのですが、
複数class間で通知する方法がよくわかりません。
391デフォルトの名無しさん (ワッチョイ 0bda-dCD9)
2019/08/20(火) 00:22:58.41ID:sL7gwS880 >>390
var f1 = new Form1();
var f2 = new From2();
foreach(var i in Enumerable.Range(0, 5).Reverse())
{
await Task.Delay(1*1000);
if(0 == i)
f1.DoDomething();
// f2?
}
Form1とForm2のメソッド呼び分け条件を提示して。
あと
>複数class間で通知する方法がよくわかりません。
の意味が分からないんでもう少し詳しく
var f1 = new Form1();
var f2 = new From2();
foreach(var i in Enumerable.Range(0, 5).Reverse())
{
await Task.Delay(1*1000);
if(0 == i)
f1.DoDomething();
// f2?
}
Form1とForm2のメソッド呼び分け条件を提示して。
あと
>複数class間で通知する方法がよくわかりません。
の意味が分からないんでもう少し詳しく
392デフォルトの名無しさん (ワッチョイ 13ad-gVUp)
2019/08/20(火) 01:06:30.58ID:yjnOK/Bv0 「通知」…もし表示済みのフォームをあとからいじりたい場合、
public static class static1 {
public static form1 form1; //スタティッククラスのフィールドを用意して、
-------------------------------------
public partial class form1 : Form {
public form1() {
static1.form1 = this; //各自のインスタンスを各自のコンストラクタで設定しておく
-------------------------------------
public partial class CounterForm : Form {
public void hoge() {
try {
Exception er = null;
this.Invoke( (MethodInvoker)delegate { //デリゲートせずに外からフォームをいじるとエラーになることがある
try {
static1.form1.DoSomething(); //スタティッククラスのフィールドを経由すると表示済のものがいじれる
} catch( Exception e ) { er = e; } //ちなみにデリゲート内のエラーは外側でキャッチできないので、
} );
if( er != null ) { throw er; } //変数を経由して外側でスローする
public static class static1 {
public static form1 form1; //スタティッククラスのフィールドを用意して、
-------------------------------------
public partial class form1 : Form {
public form1() {
static1.form1 = this; //各自のインスタンスを各自のコンストラクタで設定しておく
-------------------------------------
public partial class CounterForm : Form {
public void hoge() {
try {
Exception er = null;
this.Invoke( (MethodInvoker)delegate { //デリゲートせずに外からフォームをいじるとエラーになることがある
try {
static1.form1.DoSomething(); //スタティッククラスのフィールドを経由すると表示済のものがいじれる
} catch( Exception e ) { er = e; } //ちなみにデリゲート内のエラーは外側でキャッチできないので、
} );
if( er != null ) { throw er; } //変数を経由して外側でスローする
393デフォルトの名無しさん (アウアウウー Sa5d-woyF)
2019/08/20(火) 01:15:05.72ID:zheL5RcIa >>390
Formだろうが何だろうが、操作したい側が操作対象の参照を握れば良いだけだけど、
親子関係が成立しているとか特殊な前提がなければ、Formが別のFormの参照を
握るのはあんまり良くない。
原則論を言えばそもそもFormにUIと無関係の処理を書く時点で間違っている。
Formだろうが何だろうが、操作したい側が操作対象の参照を握れば良いだけだけど、
親子関係が成立しているとか特殊な前提がなければ、Formが別のFormの参照を
握るのはあんまり良くない。
原則論を言えばそもそもFormにUIと無関係の処理を書く時点で間違っている。
394デフォルトの名無しさん (ワッチョイ 13ad-gVUp)
2019/08/20(火) 07:52:56.91ID:yjnOK/Bv0 UIと関係あるからフォームなんだろうけど…
非同期処理中にポップアップが出て、その間もメインは触れるが、終わるとメインが変更される
なんてことはよくある
書式設定的なのも別フォームから別フォームをいじるわけだし
前のいじり方を残すために、閉じても隠すだけで、同じインスタンスを再表示したい場合とか
非同期処理中にポップアップが出て、その間もメインは触れるが、終わるとメインが変更される
なんてことはよくある
書式設定的なのも別フォームから別フォームをいじるわけだし
前のいじり方を残すために、閉じても隠すだけで、同じインスタンスを再表示したい場合とか
395デフォルトの名無しさん (オイコラミネオ MM55-/tGK)
2019/08/20(火) 09:26:58.30ID:+NAZ1HN+M フォームと無関係な〜って書いてあるぞ
そんなことより全角半角がきもい
そんなことより全角半角がきもい
396デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/20(火) 12:03:48.15ID:NghMzgaN0 対象のフレームワーク:Framework 4.0 でコンパイルした自作 DLL があります。
この DLL を 対象のフレームワーク:Framework 4.8 なプロジェクトから参照して使用したとき、
DLL の中はどっちで動くのでしょうか?
たとえば自作DLL内で、DataGridView から継承した DataGridViewEx を作ってあったとして
これを 4.8 なプロジェクトで利用したとき、DataGridViewEx 内で
4.0 の DataGridView が使われるのか、4.8 の DataGridView が使われるのか、って意味です。
この DLL を 対象のフレームワーク:Framework 4.8 なプロジェクトから参照して使用したとき、
DLL の中はどっちで動くのでしょうか?
たとえば自作DLL内で、DataGridView から継承した DataGridViewEx を作ってあったとして
これを 4.8 なプロジェクトで利用したとき、DataGridViewEx 内で
4.0 の DataGridView が使われるのか、4.8 の DataGridView が使われるのか、って意味です。
397デフォルトの名無しさん (スププ Sd33-RZ8Y)
2019/08/20(火) 12:10:21.33ID:mC8iPjWhd 自作DLL内でDataGridViewの参照を特定バージョンにしておけば4.0になるしそうじゃなければ4.8
398デフォルトの名無しさん (ワッチョイ b32d-bnMF)
2019/08/20(火) 12:17:12.47ID:NghMzgaN0 自作DLL 側の System.Windows.Forms を見たら
特定バージョン:false
になっていたので、呼ばれる側のバージョンの System.Windows.Forms.dll が使われるってことですね。
Framework 4.8 用に新たに作らないといけないかと思ったのですが、その心配ないみたいで安心しました。
特定バージョン:false
になっていたので、呼ばれる側のバージョンの System.Windows.Forms.dll が使われるってことですね。
Framework 4.8 用に新たに作らないといけないかと思ったのですが、その心配ないみたいで安心しました。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】中国、水産物輸入停止と通達 日本政府に ★2 [おっさん友の会★]
- 中国側が首相答弁の撤回要求、日本側拒否★6 [夜のけいちゃん★]
- 「厚かましい挑発的発言だ」中国国連大使が高市首相発言に強く反発 日本の常任理事国入りに明確に反対 [ぐれ★]
- 【速報】 米大使「はっきりさせておこう、米国は尖閣諸島含め日本の防衛に全面コミット、中国がどうしようが変わらない」 [お断り★]
- 自民、経済対策で子ども1人に2万円給付へ 児童手当に上乗せ 所要額は約4000億円 [ぐれ★]
- 債券・円・株「トリプル安」に…長期金利1.755%まで上昇、円は対ユーロで史上最安値 ★3 [蚤の市★]
- 米タイム紙、日中の台湾問題を全力解説で中国の高市早苗批判を全力で拡散。ネトウヨは英語で反論がんばって! [792931474]
- 【高市訃報】ホタテ業者、死亡😇😇😇 [573041775]
- 【終国悲報】高市早苗、たったの10日で莫大な経済的損失を叩き出す [165981677]
- 日中の協議の写真を巡り日本側が頭を下げているというデマが流されてしまう...実際は通訳の方に耳を傾けただけと主張!高市早苗がんばれ [856698234]
- 【緊急】高市早苗 月内辞任か [695089791]
- 【悲報】近衛文麿「国民政府を相手とせず😤」高市早苗「共産政府を相手とせず😤」 [616817505]
