[過去ログ] ふらっと C#,C♯,C#(初心者用) Part138 (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
653: (ワッチョイ 79d3-LQig) 2018/07/16(月)22:12 ID:Fqt7znsC0(1) AAS
ランタイムがLoadLibraryなりで動的にロードしてよろしくやってるだけやで
ネイティブ側を書いたことないとイメージしづらいのかもしらんが
654
(1): (ワントンキン MM7a-ZTCE) 2018/07/16(月)22:24 ID:fVJkfJ21M(2/3) AAS
>>651
バッティングどうこうよりもファイル操作と図形操作を同じファイル内に実装してる時点で最悪だね
誰が悪いかというとそんな設計書を書いたバカが最悪だ
655: (ワッチョイ 5d75-PdR6) 2018/07/16(月)22:25 ID:N67OeEDm0(2/2) AAS
アホかな?
656: (ワッチョイ 59e3-RMv+) 2018/07/16(月)22:32 ID:PnkuF1BZ0(2/2) AAS
>>654
いや、別だよ
でもたまたま引っ張ってきたusingにPathが入っててバッティングしちゃったんだ
.netframeworkにはじめから入ってるPathも入ってかなり手強かったよ
657
(1): (ワッチョイ 6db5-p+0f) 2018/07/16(月)22:50 ID:MLoWNAtR0(4/4) AAS
いやいや、それは例えが悪いだけで、マイクロソフト様ですら同じ名前のクラス名付けてて、たまにどっちだボケって聞いて来るからなぁ
658
(1): (ワッチョイ 6ad2-zHc1) 2018/07/16(月)23:09 ID:m2D0dvJF0(1/2) AAS
>>638
JSFときたかwww
具体的に何が足りないと?
659
(1): (ワントンキン MM7a-ZTCE) 2018/07/16(月)23:16 ID:fVJkfJ21M(3/3) AAS
>>658
足りないってほどじゃないんだけどねー
直感的に挙動を理解しやすいJSFと比べてこっちはちょっと推測しにくい感じ
これを変えたいなら多分こうだろってのが閃きにくい
ドキュメントみれば解決するけど見ないでなんとなくで解決したいんだよね
660: (ワッチョイ 6ad2-zHc1) 2018/07/16(月)23:17 ID:m2D0dvJF0(2/2) AAS
>>659
具体的に
661: (アウアウウー Sa21-FUtQ) 2018/07/16(月)23:23 ID:tD8bNggya(1) AAS
>>657
Managed DirectXは酷かった
嫌がらせレベル
662
(3): (ワッチョイ ea8a-Y7YF) 2018/07/17(火)04:59 ID:KftlrzGo0(1) AAS
blockingcollectionを使ってキューを作ろうと思ってます
そのキューの中にデータを取り出すのではなく、データがあるかないかを確認したいのだけども
それってどうやって実現できるでしょうか?
663
(2): (アウアウウー Sa21-FUtQ) 2018/07/17(火)07:44 ID:xIcozahsa(1) AAS
>>662
できない
BlockingCollection.GetEnumeratorで取得した列挙子は既にコレクションから削除された要素を返す可能性があるから、要素の存在確認には使用できない
それが必要なら普通のQueueをロックして使おう
BlockingCollectionはProducer-Consumerパターンを実装するための特殊なコレクションで、取得と消費は基本的に分離不可能な操作として扱う
664: (ワッチョイ 6db5-p+0f) 2018/07/17(火)08:21 ID:9WzYNMpJ0(1) AAS
なぜキューを使わず違うものでキューみたいなものを作るのか?
665: (ワッチョイ 25d2-qJjT) 2018/07/17(火)09:13 ID:JRPSvXt/0(1) AAS
【毒素ためる、?制汗″】 Ban、Ag、 8×4が <乳癌> <鼻炎> <ワキガ> の原因になっている!?
2chスレ:liveplus

くさいくさい
666
(1): (ラクッペ MM6d-/VsX) 2018/07/17(火)09:57 ID:ZMugNBvxM(1) AAS
>>662
Count
667
(2): (ワッチョイ 59e3-LQig) 2018/07/17(火)11:05 ID:we+kZK/d0(1) AAS
>>662
Any()はだめ?
668: (JP 0H7a-ZAMG) 2018/07/17(火)12:01 ID:5aCAbGPrH(1/2) AAS
>>633
ランダム、つまり白い悪魔と異名を取ったモビルスーツの事だ

常識なので覚えるように
669: (JP 0H7a-ZAMG) 2018/07/17(火)12:04 ID:5aCAbGPrH(2/2) AAS
>>633
ランダム、つまり疑似乱数を生成するクラスだ
疑似乱数は自前で作るのも簡単だから適当にに作ってみるのも一興だな
670
(1): (アウアウエー Sa52-4Kub) 2018/07/17(火)12:10 ID:G5IVIkIla(1) AAS
>>667
食べるが側が自分だけじゃないなら>>663の言うととおりだめなんでしょう

その場合もコレクションに出し入れがあったことを検出する簡単な方法があれば
スキャンしている間に出し入れが行われなくなるまでリトライすることで実現できそうだけど、
そういう簡単な方法はないっぽい。

もっとも、仮に実現できたところで排他制御できないなら検査の後の状態は保証できないわけで、
どんだけ意味があるのか疑問ではある
671: (スップ Sd0a-Y7YF) 2018/07/17(火)17:47 ID:bja0VNMZd(1) AAS
>>663
>>666
>>667
レスくれた方ありがとう
やりたいこととしてはcountとpeekを駆使することでなんとか実現できそうだという結論になりました
キューに対してpeekすると、じゃあ今度はいつ削除するの?とかなりそうだけどもpeekでなんとかします
672
(4): (オイコラミネオ MM92-xqu7) 2018/07/17(火)19:12 ID:TPR76IZRM(1) AAS
この本読み込めば中級者って本ないん?
独習C#新版と
実戦で役立つc#プログラミング
あたりですか?
673: (ワッチョイ 66c9-LQig) 2018/07/17(火)19:14 ID:LTVxWI1Y0(1) AAS
BlockingCollectionはコレクションの要素が取れるまでブロックし続けるから、peekとか削除とか考えずに済むから楽なのにな
まあ>>670の通り他と連動してコレクションにとどめておく必要があるんだろうけどさ
674
(2): (ブーイモ MMc9-Y8gp) 2018/07/17(火)21:31 ID:k6KsTxhHM(1) AAS
>>672
プログラムは本を読んだから中級者みたいな世界じゃないと思う
年間に1000行程度のアプリを10本ぐらい作って3年ぐらいしたら中級かなって思う
675: (ワッチョイ 6917-LQig) 2018/07/17(火)21:58 ID:0bp3oS7H0(1) AAS
コピペを繰り返していたら3年やろうが10年やろうが初心者のままだぞ気をつけろ
676: (ワッチョイ 59e3-RMv+) 2018/07/17(火)21:59 ID:JBBJUfmR0(1/2) AAS
いや、今ならVRエロゲ一本作れば中級者
677: (ワントンキン MM7a-ZTCE) 2018/07/17(火)22:03 ID:vVWTH+iBM(1) AAS
むやみに書くより良書を読んだほうがいい
読んだ内容を実践して身につける
678: (ワッチョイ 59e3-RMv+) 2018/07/17(火)22:10 ID:JBBJUfmR0(2/2) AAS
俺は〜の作り方的な
作り進めていく形式のがオススメ
679: (ブーイモ MMc9-FUtQ) 2018/07/17(火)22:19 ID:8FZ8qVPxM(1) AAS
〜の作り方的な本は、言語が分かってない段階だと本当に手順を追うだけになってしまって何一つ頭に残らないからお勧めできない
まあ頭使わずに何かやってる気にはなれるから勉強が苦手でどうしてもモチベーションが続かない人にはいいのかもね
680: (ワッチョイ 66e8-LQig) 2018/07/17(火)22:28 ID:A75xOI8y0(1/3) AAS
おらにも良書おしえい
681: ◆QZaw55cn4c (ワッチョイ 4a60-Y8gp) 2018/07/17(火)22:28 ID:cS4zRgZd0(1/2) AAS
>>674
結構ハードルが高いですね…
682: (ワッチョイ 5d1e-EBXJ) 2018/07/17(火)22:58 ID:s7VdXjPi0(1) AAS
一番いいのは作りたいアプリがあってそれを作る。アプリ作りを通して色々考えることがでてきだろう。最初は一人よがりなプログラムになるかもしれんがそれが第一歩だな。
683: (ワッチョイ de1b-xorT) 2018/07/17(火)23:18 ID:JTS2mYBv0(1) AAS
>>672
MSの公式ドキュメント
684: (ワッチョイ 66e8-LQig) 2018/07/17(火)23:27 ID:A75xOI8y0(2/3) AAS
ここまで0冊
685: (ワッチョイ 66e8-LQig) 2018/07/17(火)23:32 ID:A75xOI8y0(3/3) AAS
>>672
まずは独習でいいと思う
これで基本機能が理解できたら
Linqや非同期、マルチコア専門の教本もあるから気になったら読めばいい
これらは重要だし独習が終わればよく理解できると思う

実践で役立つ〜はちょっとわからない
686
(1): (スッップ Sd0a-+P7Y) 2018/07/17(火)23:39 ID:JKMrilxjd(1) AAS
書籍なんて最近手出してないけどeffectiveって無いの?
C+やstlでは結構お世話になったけど
687: (ワッチョイ 7983-Y8gp) 2018/07/17(火)23:41 ID:ofYg0nnt0(1) AAS
>>674
10万行の間違いだろ。
688
(1): (ワッチョイ 2a7f-L1xz) 2018/07/17(火)23:47 ID:WCI1fetR0(1) AAS
>>686
昔からあるぞ。
最近のだと、More Effective C# 6.0/7.0が既に出てて、Effective C# 6.0/7.0ももうすぐ出る予定。
689: ◆QZaw55cn4c (ワッチョイ 4a60-Y8gp) 2018/07/17(火)23:52 ID:cS4zRgZd0(2/2) AAS
>>672
独習C#新版が終わったらレポートよろしくね
690: (ワッチョイ b69f-rNvr) 2018/07/18(水)00:21 ID:WfV71rrt0(1) AAS
dotnet aspnet-codegeneratorってwindowsでしかうごかんの?
691: (ワッチョイ 6681-+P7Y) 2018/07/18(水)02:04 ID:ohWLsVDp0(1/2) AAS
>>688
やっぱあるよね
感覚的にはeffectiveに書いてある内容がとりあえず理解できて実践しだしたら中級者なイメージ
上級者っていうとmvpクラスと同等の知識レベルとかになるのかなぁ
mvpもいろいろあって基準としては曖昧かもしれんが
692
(1): (ワッチョイ 6681-+P7Y) 2018/07/18(水)02:09 ID:ohWLsVDp0(2/2) AAS
1000行なんて時には1日で書く程度のアプリ10本作ったところで…
だからって10万行のアプリなんて、それほんとに10万行必要だったの?プラグイン1個居れたら数万行不要になるんじゃない?って気もする
そもそも行数で語る時点でおかしい訳だけど
プログラム未経験は別として経験者なら一言語の中級者になるのに3年もかけてたら上級者になる頃にはその言語消えてんじゃね?って思う
693
(2): (スップ Sdea-Y7YF) 2018/07/18(水)07:35 ID:604NWUGLd(1/2) AAS
一時的にスリープのように任意のスレッドの処理を停止させて
別スレッドがある処理をしたら停止スレッドが動き始めるような形を作りたいです
waitforsingleobject以外に実現方法ありますか
694
(1): (スッップ Sd0a-zHc1) 2018/07/18(水)07:37 ID:gGGdDmmqd(1/2) AAS
>>693
なぜそんなことしたいの?
695
(2): (スップ Sdea-Y7YF) 2018/07/18(水)07:40 ID:604NWUGLd(2/2) AAS
>>694
Aスレッド、Bスレッドがあって
Aスレッドはたまっているリクエストを非同期で投げ続けています
リクエストは一つずつ送らないといけない制約があるため
その応答が来るまでAスレッドを停止させたいです
応答というのがBスレッドの処理です
696
(1): (スッップ Sd0a-zHc1) 2018/07/18(水)07:51 ID:gGGdDmmqd(2/2) AAS
>>695
普通にasync/awaitじゃだめなの?
697: (ワッチョイ 6a11-w0lO) 2018/07/18(水)09:20 ID:W2UhJLr+0(1) AAS
待機するAスレッドがUIスレッドとかいう状態でもなければ
それこそ関数直接コールでも良さそうなもんだけど
698: (ササクッテロル Spbd-p+0f) 2018/07/18(水)10:14 ID:IWAo5nUlp(1) AAS
じゃあセマホ使えよ。
699: (アウアウエー Sa52-4Kub) 2018/07/18(水)12:17 ID:TKyRL/+ma(1) AAS
A案:リクエストのキューを投げる側ではなく受ける側に持たせる

B案:リクエストを投げるメソッドのデリゲートのキューをリクエストを受ける側に持たせる
700: (ワッチョイ 8954-nsuX) 2018/07/18(水)13:53 ID:imuZ+lX20(1) AAS
会社クラスを作りインナークラスで部署クラスを作ったのですが、インナークラスの使い方として間違っていないでしょうか

なんかMS意図と違う使い方をしてる気がしておりまして
701: (ワンミングク MM7a-ZTCE) 2018/07/18(水)14:21 ID:JHZwBCBgM(1) AAS
間違いです
702: (ワッチョイ 7983-Y8gp) 2018/07/18(水)14:39 ID:zONoZYnW0(1) AAS
IT業界は部署ごと社外に出向させられるとか日常茶飯事ですからね。
703: (ワッチョイ 6dbb-Qvid) 2018/07/18(水)19:00 ID:9N0yBnKk0(1) AAS
listviewを使って画像をドラッグした位置に挿入できるようなものを作りましたが、サムネイル表示(ViewプロパティをView.LargeIconに設定)だと移動後に一番後ろに来てしまいます
、どうすれば自由に画像を入れ替えれるのでしょうか?
704
(1): (ワッチョイ 1181-L1xz) 2018/07/18(水)19:50 ID:yFSY1wbO0(1) AAS
>>692
>1000行なんて時には1日で書く程度のアプリ10本作ったところで…

これも内容によるけどな
10本作る間に誰に見られても恥ずかしくないコードが書けるようになれば…
705: (ワッチョイ 3dd2-9zcR) 2018/07/18(水)21:41 ID:ojmeEx4e0(1) AAS
>>704
内容にもよるんだろうけれど、きちんと動くプログラムを10本完成させたっていうのであれば、それなりに評価してよいと思う。
706
(2): (ワッチョイ 66c9-LQig) 2018/07/18(水)21:49 ID:GTM6kR3M0(1) AAS
仕事の山越えたからと社内文章読んでたら我が社のコーディング規約にvarとLINQ禁止とデカデカと書いてあってて笑ったwww
707: (ワッチョイ 6917-LQig) 2018/07/18(水)21:53 ID:iepCQJFn0(1) AAS
就職ガチャ失敗おめでとうございます
708: (スププ Sd0a-C8NM) 2018/07/18(水)22:21 ID:ptS24Bkdd(1) AAS
>>706
LINQ禁止ってラムダ式使ったらだめってこと?
709: (ワッチョイ 3633-CB8p) 2018/07/18(水)22:30 ID:MKYFu03e0(1) AAS
varだめってリテラシーならラムダもダメだろうね
710: (アウアウウー Sa21-Y8gp) 2018/07/18(水)22:41 ID:62X+9Moaa(1) AAS
短いコードのアプリでもちゃんと一般人の使用に耐えうるようになってるならいいだろう
機能的には十分でも無秩序にボタンが並んでるアプリは見ててつらい
711: (アウアウカー Sa55-eTBu) 2018/07/18(水)23:09 ID:/cNHsX3ta(1) AAS
コントロールそこそこおいたまともなアプリなら1000行じゃおさまらんやろ
712: (ワッチョイ 6ad2-zHc1) 2018/07/18(水)23:29 ID:p8keSf810(1) AAS
>>706
C#の公式コーディング規約に真っ向から対立www
713: (ワッチョイ 5e3b-C8NM) 2018/07/18(水)23:39 ID:rt2OOdjJ0(1) AAS
ラムダ式禁止とかC#使う価値半減だな
714: (ワントンキン MM7a-ZTCE) 2018/07/18(水)23:43 ID:dMzTHkZAM(1) AAS
λ縛りはBダッシュ縛りマリオぐらいキツイ
715: (ワッチョイ 69d2-w0lO) 2018/07/18(水)23:46 ID:L7ofGWBt0(1) AAS

716
(1): (ワッチョイ ffe8-H0hI) 2018/07/19(木)00:18 ID:mgU85F4C0(1/2) AAS
varってスコープが決まってたりよく使うもんだと思ってるんだけど
違うん?

あとコンパイル時に推論されるから実行速度には影響ないって考えていいの?
717
(1): (ワッチョイ 9fd2-4ryk) 2018/07/19(木)00:29 ID:iwebbGhU0(1) AAS
>>716
明示的に型を示しても実行速度は変わりません
718: (ワッチョイ ffe8-H0hI) 2018/07/19(木)00:29 ID:mgU85F4C0(2/2) AAS
>>717
ありがとうございます
719
(2): (ワッチョイ ff8a-H0hI) 2018/07/19(木)00:34 ID:4jMcHp760(1/2) AAS
var myTable = new Dictionary<string, string>();
myTable.Add("Hokkaido", "Sapporo");
myTable.Add("Iwate", "Morioka");
myTable.Add("Miyagi", "Sendai");

//*1
var b = myTable.ContainsKey("Iwate");

if (b == true)
省7
720: (ワッチョイ f7d2-zNEp) 2018/07/19(木)00:38 ID:5TJBBc7u0(1) AAS
継承について
スーパークラスAに始まり
class B : A
class C : B
class D : C
となった場合、
Dクラス内でAやBのクラスのフィールドやメソッドをを使いたくなった場合には
省9
721
(1): (アウアウウー Sadb-4GkJ) 2018/07/19(木)00:46 ID:9fGOJ2HHa(1) AAS
コンポジション

ZのフィールドやプロパティにAをもたせるだけ
722
(1): (ワッチョイ ffd3-H0hI) 2018/07/19(木)00:56 ID:OslD0F820(1) AAS
>>719
LINQ は集合に対して使うものなので、その例だと必要ない

if (myTable.TryGetValue("Iwate", out var s))
{
 MessageBox.Show(s);
}

対象が複数あるならこう
省8
723
(1): (アウアウウー Sadb-glQ9) 2018/07/19(木)01:05 ID:EPnya5cJa(1/2) AAS
>>719
LINQ全く関係ないけど比較的新しいC#ならこう書ける
if (myTable.TryGetValue("Iwate", out var s)) MessageBox.Show(s);
どうしても単一ステートメントにしたいなら
myTable.TryGetValue("Iwate", out var s) ? MessageBox.Show(s) : DialogResult.None; とか
(myTable.TryGetValue("Iwate", out var s) ? (Action<string>)(x => MessageBox.Show(x)) : (Action<string>)(_ => {}))();
とか書けなくはないけど俺ならこんなの書いてきやがったらコードレビューで突き返す
724
(2): (スプッッ Sd3f-/JJK) 2018/07/19(木)07:22 ID:Y653MTcJd(1) AAS
>>696
awaitでは上手く実現できなさそうな構造でした

外部リンク[aspx]:msdn.microsoft.com
monitorクラスを使って実現できそうだなとなりました
ただこれのシグナルを投げるpulseとpulseallの違いがよくわかりません
pulseは変数で渡したオブジェクトのスレッドを、pulseallは渡すオブジェクトとか関係なくwaitで止まってるすべてのスレッドを動かす?
725: (スッップ Sdbf-4ryk) 2018/07/19(木)07:52 ID:pmdFJ8GPd(1) AAS
>>724
>awaitでは上手く実現できなさそうな構造
なぜ?
726: (アウアウウー Sadb-rtlg) 2018/07/19(木)07:53 ID:EPnya5cJa(2/2) AAS
>>724
つまりProducer-Consumerだろ?
まさにBlockingCollectionのユースケース
727: (ワッチョイ 9f9d-yhN8) 2018/07/19(木)10:16 ID:cAPUq0O30(1) AAS
Aそのものは非同期(バックグラウンド)で動く必要があるとして
そもそもBが非同期で動く必要性がわからん
かならず応答きてから次をよぶんだろ?
728
(1): (アウアウエー Sadf-0r7x) 2018/07/19(木)11:39 ID:wWZN809Va(1/2) AAS
むしろ一番の疑問は、
>リクエストは一つずつ送らないといけない制約がある

のであれば、キューを持つべきなのはリクエストを送る側ではなく受ける側なんじゃないか、
なぜリクエストを送る側に受ける側の都合に合わせる負担をさせるのか、
ってことだと思うけど、まあ話が曖昧過ぎてよくわからんね。
729: 719 (ワッチョイ ff8a-H0hI) 2018/07/19(木)12:02 ID:4jMcHp760(2/2) AAS
>>722
自分のコードだと野暮ったくて古い感じがしたんですが
out var なるものを使ってすっきりさせるんですね

>>723
最近、ラムダ式やLINQを始めたんで↓みたいにメソッドチェーンで繋げたかったんですが
これだとやりすぎなんですねw

>> myTable.TryGetValue("Iwate", out var s) ? MessageBox.Show(s) : DialogResult.None; とか
省3
730: (スプッッ Sd3f-FUqr) 2018/07/19(木)12:23 ID:apArmWopd(1) AAS
見やすくしたり行数減らす為の機能なのに一文に無理やり詰めたら見づらいだろうしな
LINQ使わなくても
;で終わらせた文を一列にずっと書き続けてたらなんだこいつってなるだろうし
731: (ブーイモ MM7b-klHS) 2018/07/19(木)12:45 ID:7c8TqsUTM(1) AAS
MQ使えよ
732
(1): (オッペケ Sr4b-Kbv3) 2018/07/19(木)13:14 ID:kD3lyTPJr(1) AAS
varのメリットってなに?
733: (スフッ Sdbf-6Gsv) 2018/07/19(木)14:01 ID:goaSBPuMd(1) AAS
>>732
定期的にこのスレを荒らすメリットがある。
1-
あと 269 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.026s