X



ふらっと C#,C♯,C#(初心者用) Part147
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん (エムゾネ FF9f-HF0o)
垢版 |
2020/02/19(水) 17:25:41.55ID:IsrGexiaF
!extend:checked:vvvvv:1000:512
次スレを立てる時は↑を2行冒頭に書くこと(1行分は消えて表示されない為)

「どんなにくだらないC#プログラミングやVisual C#の使い方に関する質問でも誰かが優しくレスをしてくれるスレッド」です。
他のスレッドでは書き込めないような低レベルな質問、質問者自身なんだか意味がよく分からない質問、
ググろうにもキーワードが分からないなど、勇気をもって書き込んでください。
内容に応じて他スレ・他板へ行くことを勧められることがあります。ご了承下さい。
なお、テンプレが読めない回答者、議論をしたいだけの人は邪魔なので後述のC#相談室に移動して下さい。
C#に関係の無い話題や荒らしの相手や罵倒レスや酔っぱらいレスはやめてください
>>980を踏んだ人は新スレを建てて下さい。>>980が無理な場合、話し合って新スレを建てる人を決めて下さい。

■前スレ
ふらっと C#,C♯,C#(初心者用) Part146
https://mevius.5ch.net/test/read.cgi/tech/1576069931/
■関連スレ
C#, C♯, C#相談室 Part95
https://mevius.5ch.net/test/read.cgi/tech/1508168482/
■コードを貼る場合は↓を使いましょう。
http://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/index
https://docs.microsoft.com/en-us/dotnet/standard/class-libraries
http://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
0674デフォルトの名無しさん (ワッチョイ ff01-vB/y)
垢版 |
2020/05/15(金) 14:08:20.97ID:zOp0aFPX0
>>669
WPFだと表示位置を調整可能だけどWinFormだとデフォルトでは設定できないので
デフォルトのToolTipをオフにして自分でマウスイベント使ってToolTipを表示する
設定するToolTipのShow()メソッドで位置調整可能
0676デフォルトの名無しさん (テテンテンテン MM17-/iGY)
垢版 |
2020/05/15(金) 15:54:49.38ID:kU/eypzIM
ない
ICloneableがまさにコピー方法等の規定がなく役に立たないために非推奨となったが、特に代替となるインターフェイスはない
MSとしてはコンストラクタ引数にコピー元オブジェクトを渡すことによるコピーを推奨しており、
シャローコピーなのかディープコピーなのかはそのコンストラクタのドキュメントに書くのがよいと思われる
0677デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/15(金) 16:02:55.82ID:TSXqI5G8a
あったとして使い道を思いつかないw
0690デフォルトの名無しさん (ドコグロ MM7b-cWUa)
垢版 |
2020/05/16(土) 10:36:14.33ID:brzmqlgbM
>>687
この程度ならたいして変わらなくね?
て言うか
> このエラーを回避するには、ローカル変数を使用するか、別のコンストラクトを使用します。
を理解 {でき|しようとし} ない奴が
> To avoid this error, use a local variable or some other construct.
を理解できるとは思えないけど…
0691デフォルトの名無しさん (ワッチョイ ff01-vB/y)
垢版 |
2020/05/16(土) 10:50:18.03ID:5tLRWKNk0
こんな日本語を理解しようとするのは時間の無駄

Ref または out パラメーター 'parameter' 匿名メソッド、ラムダ式、またはクエリ式の内部を使用することはできません。使用する場合、このエラーが発生した、 in、 ref、またはout匿名メソッド ブロックの内部でパラメーター。
0692デフォルトの名無しさん (ワッチョイ 97ad-SWFu)
垢版 |
2020/05/16(土) 11:26:30.30ID:GaPEU8I00
>>689
docsか、すまん。

>>690
よく読めば一瞬で謎に陥る。
>>691
の部分が一番やばい。

俺Xamarin最近いろいろやってるからドキュメントに当たるんだけど、もう少しなんとかならんかなあれ。
MVPあたりに音頭取らせて翻訳をみんなに手伝ってもらえばいいのに。コントリビューション記載してくれるなら権利放棄して喜んでやってくれるだろうに。
0693デフォルトの名無しさん (ワッチョイ 97ad-SWFu)
垢版 |
2020/05/16(土) 11:31:27.82ID:GaPEU8I00
安易にgithubのイシュー切れて、好き勝手文句を書いたように見えたから前回は問題になったんだし、githubでやるより、翻訳するにあたって当たり前のツールで対訳は作るべきだと思うんだがなぁ。
何もTradosを買えって言うわけじゃないけど、何か機械翻訳ではなくてメモリ翻訳+人間でやってほしい感じがするわ。
0695デフォルトの名無しさん (ドコグロ MM51-cWUa)
垢版 |
2020/05/16(土) 12:16:10.04ID:Xg9MPSsRM
>>691
これ元の英文もおかしいと思う

Cannot use in ref or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression

の 'in' がキーワードと認識できないからわかりにくい訳になってる
in, ref, outを列挙するならカンマでつないで

Cannot use in, ref, or out parameter 'parameter' inside an anonymous method, lambda expression, or query expression

とするのが普通だと思う
これならGoogle翻訳でも

匿名メソッド、ラムダ式、またはクエリ式内では、in、ref、またはoutパラメーター 'parameter'を使用できません

とそれなりの訳文になる
0696デフォルトの名無しさん (ワッチョイ ff01-vB/y)
垢版 |
2020/05/16(土) 14:19:19.88ID:5tLRWKNk0
Cannot use ref or out parameter … だったところに
新機能でinが追加されて修正したやつがミスったんだろ

実際のエラーメッセージはカンマ入りでちゃんと修正されてる
CS1628: Cannot use ref, out, or in parameter 'x' inside an anonymous method…
0699デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
垢版 |
2020/05/16(土) 17:58:30.18ID:gofaxmB+0
練習がてらWindowsフォームでカレンダーを作っています
アプリが選択されていない時でも、例えば特定のラベルに
マウスポインタをかざすだけでイベントを発生させることはできますか?
0703デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/16(土) 20:00:39.55ID:9bKV5hlVa
ワイルドだろぉ〜?
まで読んだ
0704デフォルトの名無しさん (ワッチョイ a963-9scZ)
垢版 |
2020/05/17(日) 09:17:29.91ID:cGtEzJ7q0
WinFormsでWndProcとかフックしてて思ったんだけど
C++でデスクトップGUI作る場合ってGetMessageループするスレッド立ててWMをswitchさせてって感じでチマチマやってんの?
0705デフォルトの名無しさん (ワッチョイ c3de-071a)
垢版 |
2020/05/17(日) 09:26:02.95ID:qz8+t6v/0
C++もMFCで組む場合はなんかよくわからんイベントで処理されてること考えないとあかんで
c#に移植するときは対応するイベントやメソッドがどれか当てはめるだけで移植できるかもしれんほど似てる

ぶっちゃけこの周りはwin32api時代のが一番見通し良かった
0707デフォルトの名無しさん (アウアウエー Sa93-yXYh)
垢版 |
2020/05/17(日) 10:20:04.65ID:c3b5r+2ta
Win32API が見透し良いのは同意
MFC は糞(ただのラッパーをクラスライブラリと称するとかアホかと)
0708デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
垢版 |
2020/05/17(日) 10:38:34.08ID:WidHY7hL0
>>702
はい

独学だと基本がだめですね
読まないといけない本がたくさんあります

カレンダーは一旦完成したんですけど、また組み直してます
Form1にメソッドが集中するのもどうかと思い、カプセル化の勉強がてらクラスに分けたりしています

あと、デザイナでエラーが起きるのが怖いです
カレンダーの日付が表示される42個の部品をユーザーコントロールで作っているのですが
これのプロパティをいじるとデザイナでよくエラーが起きます
ソリューションのクリーンなどをしてると直るんですけど、それでよかったのかよくわかりません
ちなみにここで言ってるプロパティとは、セッターゲッターのある自分で入力するプロパティです
このプロパティと、プロパティウィンドウでのプロパティはどういう関係にあるのかもよくわからないんですけど。Designer.csをみるとただのフィールドのように見えるので。
0709デフォルトの名無しさん (ワッチョイ eb7c-ahgx)
垢版 |
2020/05/17(日) 10:42:17.99ID:A0b/Dj9R0
馬鹿はいつもあさっての方向に努力するよな
0713デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
垢版 |
2020/05/17(日) 12:52:02.62ID:WidHY7hL0
>>712
大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われてるようで
はずかしすぎてとても無理っす



落ち着いていろんなことを実験したり調べてみると理解できるようになるんで頑張ってみます
0714デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
垢版 |
2020/05/17(日) 13:26:59.78ID:oJIHh9Jk0
>>713
逆に大学卒業したての美人の女医さんに
はい、パンツ脱いでおちんちん見せなさいって言われる体験をしたいのですが
どうすればいいですか?そんな例えを思いつくくらいだから方法はあるのでしょうね
0716デフォルトの名無しさん (ワッチョイ 17f1-8kLo)
垢版 |
2020/05/17(日) 14:39:23.29ID:oJIHh9Jk0
>>715
0717デフォルトの名無しさん (JP 0H13-2td9)
垢版 |
2020/05/17(日) 15:21:16.64ID:BOpWVUpQH
IT掲示板群 ttp://x0000.net/forum.aspx?id=15

学術の巨大掲示板群 - アルファ・ラボ ttp://x0000.net
数学 物理学 化学 生物学 天文学 地理地学
IT 電子 工学 言語学 国語 方言 など

simulationライブラリで純粋な関数式プログラミングをする
ttp://x0000.net/topic.aspx?id=3631-0
UIライブラリ (C#, 2D) を作ったよ
ttp://x0000.net/topic.aspx?id=3688-0
連続と離散を統一した!
ttp://x0000.net/topic.aspx?id=3709-0
4Dエンジン
ttp://x0000.net/topic.aspx?id=3677-0
matrixのライブラリ
ttp://x0000.net/topic.aspx?id=3711-0
ある強力なFor関数
ttp://x0000.net/topic.aspx?id=3630-0
SQLライブラリ
ttp://x0000.net/topic.aspx?id=3675-0
0718デフォルトの名無しさん (ワッチョイ 1384-57Gp)
垢版 |
2020/05/17(日) 15:59:31.45ID:bUEaT9ex0
>>708
使い方とか設定でなにかあるのかもしれないけど、挙動からみるとデザイナはリアル
タイムにクラスのコードを解釈しているのではなく、キャッシュされたコードを使って
描画を行っているっぽい

DataGridViewクラスはhogeColumnクラスとhogeCellクラスを作るとユーザ定義の
セルを作れて、デザイナで作ったセル用のクラスをコントロールできるようになる
けど、作成直後はコードを保存してもリビルドしてもデザイナには反映されない
一旦コードをデバッグ実行すると、次からはデザイナでコントロール可能になるけど
プロパティを増やすとデザイナーに反映されないし、削除するとプロパティがないって
デザイナのコンパイラ(?)がエラーを吐いたりする

一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
使ってるけど

.NetFrameworkのソース見ると何か色々、実際のコードとは関係なさそうな指示
コードがたくさん書いてあるので、デザイナで使用するにはこの辺も記述する
必要があるのかもしれないけどよくわからない

デザイナで表示されるプロパティウィンドウに表示されるのは、単純にクラスで定義
されているプロパティなので別に違いはないはずだけどなぁ
0719デフォルトの名無しさん (ワッチョイ 6b01-VOoi)
垢版 |
2020/05/17(日) 17:21:28.05ID:WidHY7hL0
>>718
とても参考になりました
ありがとうございます

デザイナのエラーで元に戻らなくなると怖いので
ソリューションフォルダごとバックアップのためコピーしてるんです。
でも、エラーが起きるはずのないフォルダから起動しても
エラーが一時的に起きたことがあったんで疑問に思ってました。
キャッシュが残ってたからなんですね

>一応デザイナ画面を表示させない状態でバイナリのビルドに成功した状態で実行
>してフォームが表示されれば、次からはデザイナで操作できるので気にしないで
>使ってるけど

これ意識してなかったんですけど、そう言われればその手順でやるとエラー消えてました

プロパティについては理解が浅くて、いろいろ間違えていました。
山田先生の独習を読み直して教科書通りに書き直してみたらエラーが起きないようになりました
setterにいろいろ書きすぎてました。一応動いちゃうので大して気にせずに。

あと、自分で書いたプロパティとの違いですけど、これも勘違いしてました。
例えばForm1はFormクラスを継承してるので、プロパティはFormクラスや
さらにその先のクラスで定義されてるということですね
Designer.csやForm1.csでそれらしきのが書かれていなかったので早合点してました
0720デフォルトの名無しさん (ワッチョイ 2b2c-2D9n)
垢版 |
2020/05/17(日) 18:05:02.43ID:kGA4FYso0
本題とは関係ないけど
> デザイナのエラーで元に戻らなくなると怖いので
> ソリューションフォルダごとバックアップのためコピーしてるんです。
Git導入してみてはどうだろう 一人開発でも十分役に立つぞ
今どきはVSにも組み込まれてるんだし
0721デフォルトの名無しさん (アウアウウー Sa1d-/iGY)
垢版 |
2020/05/17(日) 18:12:17.37ID:T4/b/bLZa
初心者の勉強にGitなんか要らんよ
俺も初心者の頃は意識高い情報に踊らされてバージョン管理しながら勉強してたが、前のバージョンに戻すなんて一度たりともやった覚えがない
もっと言えば、初心者時代に書いたコードなんてはっきり言って何の価値もないゴミだ
後から見返したことは一度もない
0722デフォルトの名無しさん (ワッチョイ d390-6tiU)
垢版 |
2020/05/17(日) 18:27:33.37ID:NeE1Esak0
後々取っておくとこんなのもあったなあ…って懐古しながら成長したことを実感できるよ
0724デフォルトの名無しさん (アウアウウー Sa31-L7FI)
垢版 |
2020/05/17(日) 18:42:33.53ID:sPeeGmAVa
ZIPで固めて丸ごと保存最高だよねw
一瞬で出来るし何の準備もいらん
0728◆QZaw55cn4c (NZ 0H13-RpJK)
垢版 |
2020/05/17(日) 20:03:25.43ID:US7auhKkH
私も昔は CVS のレポジトリを dropbox に置いてお気楽に、ああ便利だ、とやってましたが…
ある日突然レポジトリが死んでしまったのにショックを受けて以来、今も躊躇しているのです
0729デフォルトの名無しさん
垢版 |
2020/05/17(日) 20:22:56.77
>>724
これ
0731デフォルトの名無しさん (ワッチョイ 178e-LqUT)
垢版 |
2020/05/17(日) 20:35:22.45ID:dvSHUyYR0
比較なんてエディタでもできるし
そもそも一人なんだからローカルリポジトリでいいだろ
0736デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
垢版 |
2020/05/17(日) 21:50:04.36ID:jYDn0xup0
>>732
SourceTree仕事でもメッチャ使ってる
でもAtlasianのアカウント作れって言われるようになって面倒
最近は Git Extensions のUIも頑張ってるからそっちに乗り換えようかとおもってる
0739デフォルトの名無しさん (ワッチョイ 4da7-071a)
垢版 |
2020/05/17(日) 23:11:20.91ID:wfhyoR0J0
>>736
アレさ
フォルダの中のファイル変えるじゃん
現在アクティブなブランチはフォルダ見ただけじゃわからないし
すべての操作が気軽にしてはいけないくせに右クリックのメニューとか
ドラッグ・アンド・ドロップでやらせようとするのがゴミ

操作前に操作後の結果がビジュアル的に見えないといけないツールのくせに
何もしてないし
いらなくね?
普通にtortoiseGitでできる範囲の操作しかしないほうがいい
0740デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
垢版 |
2020/05/17(日) 23:29:14.84ID:jYDn0xup0
>>739
なんの操作のこと言ってるかわかんないけど何でも楽にできていいけどなあ
間違えたら元に戻せばいいだけだし
そんなに間違えないし
0743デフォルトの名無しさん (ワッチョイ 3f6a-gIXh)
垢版 |
2020/05/18(月) 00:04:19.65ID:g/ITMYKi0
コミット失敗の意味がわからん
間違いコミットなんか別に問題ないし戻りたければ戻れるだろ
pushしてからミスに気付いたのは面倒だけど
それはツールかどうか関係ないしな
0746デフォルトの名無しさん (ワッチョイ 178e-LqUT)
垢版 |
2020/05/18(月) 01:35:24.95ID:gGxx/ysn0
>>745
SQLServerのデータだから何とでもなるだろ
サーバのバックアップも取っていなかったアホの類い?
0749デフォルトの名無しさん (ワッチョイ 4d1d-RHMD)
垢版 |
2020/05/18(月) 02:16:56.43ID:dAzYDVZg0
未経験から半年でフリーエンジニアになれる人の特徴
https://www.youtube.com/watch?v=YCxu0jn52Qw
フリーランスか会社員かどっちが簡単かについての最終回答
https://www.youtube.com/watch?v=JA4JNSmIdxI
【エンジニア】正社員/派遣社員/フリーランスのメリット・デメリットについて
https://www.youtube.com/watch?v=fTG-eMpwhCg
月収1000万円オンラインサロンオーナーの日常【飲み過ぎ】
https://www.youtube.com/watch?v=lPfWZLatYus&;t=107s
借金400万円から人生逆転するまでの軌跡
https://www.youtube.com/watch?v=fXdHlFFUjGY
0752デフォルトの名無しさん (アウアウエー Sa93-jstM)
垢版 |
2020/05/18(月) 09:32:08.05ID:vuzvZUyca
ループ中にList<string>へAddして追加していった文字列があります
Listの中身は仮にABCD, ABCD, EFGH, IJKL, IJKL, IJKLとします
これを集計してMessageBox.Showにて下記のように出力したいのですがどのような方法がありますか?
---------------
ABCD 2件
EFGH 1件
IJKL 3件
---------------

集計部分の方法について教えていただきたいです
二重ループにてひとつずつカウントするのは思いつくのですがもっと無駄の無い方法があるのではないかと質問させていただきました
ループの回数、Addされる文字列は決まっていないためListに格納してみました
ループ1回の中で条件に合致するとListへAddします(1回のループで追加なし or 1回だけAddの必ずどちらかです)
質問の前提条件が足りませんでしたら指摘お願いします
よろしくお願いします
0756デフォルトの名無しさん (アウアウエー Sa93-jstM)
垢版 |
2020/05/18(月) 10:54:25.11ID:vuzvZUyca
>>753-755
ありがとうございます

>>753,754
Dictionaryを使う場合、stringに文字列、intに件数
追加する際にContainsKeyで重複確認
存在しなければ[ABCD, 1]で追加、存在すればintを+1
こんな感じでしょうか?

>>754
ListでGroupBy()、Count()を使用したい場合、List追加時に
{ no = 1, name = "A", grade = 3 }のような形式で追加する必要があると思っているのですが
単純なList.Add(str)でもGroupBy()等が使えるのでしょうか?
ググった中では上記の例しか見つけられずここに質問に参りました

>>755
SQLなら良かったんですが、テキストファイルをDB取込用に変換する時点のお話なんです…
0762760 (ワッチョイ 7f2c-JcAG)
垢版 |
2020/05/18(月) 15:54:33.15ID:MslK9QoT0
Ruby なら、x => x
などのラムダ式も、

&:itself などのメソッド名を渡すだけで良い
0770デフォルトの名無しさん (ワッチョイ ff01-vB/y)
垢版 |
2020/05/19(火) 01:21:07.22ID:1Pn0Xhkl0
var groups = list.GroupBy(x => x); のgroupsはIEnumerable<IGrouping<string, string>>
foreach (var g in groups) のgはIGrouping<string, string>
IGrouping<T>に対するCount()はEnumerable.Count()が呼ばれる

IGrouping<T>にICollection<T>やICollectionは実装されてないから
Enumerable.Count()が呼ばれるとGetEnumerator()使って数えるんじゃないかな
(各グループごとにグループ内の要素数分だけMoveNext()が呼ばれるイメージ)
0772デフォルトの名無しさん (ワッチョイ afad-uRPb)
垢版 |
2020/05/19(火) 01:50:25.74ID:PNm9d/ci0
await Task.Factory.StartNew(
() => {
for (int i = 0; i < imageList.Count; i++)
{
Clipboard.SetImage(imageList[i]);
}
},
CancellationToken.None,
TaskCreationOptions.None,
TaskScheduler.FromCurrentSynchronizationContext()
);

こんな感じで画像のリストを1つ1つクリップボードにコピーさせていくのですが
タスクでSTAスレッドで処理をするとUIのメインスレッドがフリーズするのですがフリーズ回避はどうしたらいいですか?
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況