[過去ログ] ふらっと C#,C♯,C#(初心者用) Part137 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
233(1): (ワッチョイ 0bb3-x/V4) 2018/04/25(水)18:36 ID:Y4/R4Zt40(1) AAS
>俺が1人で小規模な開発してるだけだから
>いまいちオブジェクト指向のメリットを感じる場面が少ないのかな
まあこれだな
>>212の言ってる事は、OOPの「思想」としては間違いなく正しい
但し、単独での小規模開発という状況を前提にするなら「現実的なメリット」は無いに等しい
234: (ワッチョイ 1a1e-fvqh) 2018/04/25(水)18:37 ID:EO6K8yEq0(6/6) AAS
>>227
うん。君のケースだとダメだね。それだと、クラスの内部状態JudgFlagが誰でも自由に書き換えられちゃう。
だから、まずは君は基本、>>220のようなC#とか言語関係ない一般的なカプセル化について勉強しよう。
で、君のケースだと自分で書いてるが
>・引数付きのコンストラクタを使って、フラグの状態をインスタンス化
>・そのフラグのプロパティはgetのみ設定
ってやるか、
省1
235: (ワッチョイ 4703-AlOi) 2018/04/25(水)18:47 ID:yqUO4I2d0(1) AAS
おまえら変数は公開しちゃだめだけど、プロパティやgetter/setterなら公開してもいいって思っとるやろw
236(1): (アウアウエー Sa52-PKj8) 2018/04/25(水)18:48 ID:ClmIY1xNa(5/7) AAS
>>231
どこの世界でも教条的(思い込みが激しいともいう)人はいるからねw
外部から取得/設定してもらう必要がある値をフィールドではなくプロパティにしたからって
ヒューマンエラーを減らす効果なんかないのは事実
ただ機能がより少ないフィールドをあえて使うことないでしょってだけの話
オブジェクトの公開するデータは必ずしもいつも変数に入っているわけではなく、
何らかの処理の結果を返す場合もあって、その場合はプロパティになるから、
省1
237: (ワンミングク MM8a-Pnzf) 2018/04/25(水)18:49 ID:s99z6Kr1M(1) AAS
>>233
嘘おしえるなよ
238: (ワッチョイ 9a98-9jjH) 2018/04/25(水)19:04 ID:lzwohvOS0(7/7) AAS
まとめると
「1人で小規模なコード書いてるだけなら
public bool JudgFlag = true
を書き換えたらダメなことぐらい自明だから、フィールドに1行書いて終わりでいい
若干雑だけど楽」
って考え方と
「いや、自分で決めたルールを自分で忘れることもあるから
省9
239(1): (スップ Sdba-BoQL) 2018/04/25(水)19:24 ID:q/XXvHKQd(1/2) AAS
>>236
処理の結果を返すならメソッドにしろよ
240(1): (アウアウエー Sa52-PKj8) 2018/04/25(水)20:11 ID:ClmIY1xNa(6/7) AAS
>>239
具体例
外部リンク[aspx]:msdn.microsoft.com
241(1): (ワッチョイ 3bc3-9jjH) 2018/04/25(水)20:30 ID:XWOG1WtT0(1/3) AAS
フォーム間のデータ受け渡しのやり方について教えてください
プログラムを起動して、最初にForm1でパラメータなどを設定、次にForm2で設定した
パラメータを元にデータを編集したいとします
(Form1で編集済みのデータをForm2に表示する、でもいいです)
このときにデータを受け渡すのは、program.cs で Application.Run(new Form1()); と
呼び出す前に
1. Form2 のインスタンスを作っておいて、それを Form1 の引数として与えてやる
省6
242: (ワッチョイ 5bd2-8E8L) 2018/04/25(水)20:44 ID:3+niHUT+0(1) AAS
【マイトLーヤとPS4】 FFとDQの最新作、VR開発は危険、プレーヤーの日常感覚を損なうおそれ
2chスレ:liveplus
243(1): (スップ Sdba-BoQL) 2018/04/25(水)21:00 ID:q/XXvHKQd(2/2) AAS
>>240
それは右座標を計算して返しただけであって処理を実行するのとは違う
面倒だからここ読んで
外部リンク[aspx]:msdn.microsoft.com
244(1): (ワッチョイ e717-9jjH) 2018/04/25(水)21:06 ID:XHhjs7vi0(1) AAS
>>241
Form2にプロパティを追加
Form1の該当メソッド内でForm2を宣言&インスタンス化してプロパティにパラメータをセット
Show(Dialog)メソッドで呼び出し
245: (ワッチョイ 23ab-9jjH) 2018/04/25(水)21:09 ID:ckNZ5jJB0(1) AAS
メッセージキューを勉強中なんですが、
MSMQとMessageQueueクラスって何が違うんでしょうか?
246: (ワッチョイ 3bc3-9jjH) 2018/04/25(水)21:17 ID:XWOG1WtT0(2/3) AAS
>>244
ありがとうございます
この場合、もう二度と Form1 を使わないという状況であれば、Form2 の ShowDialog を
呼び出す前に this.Hide(); で隠しておいて、戻ってきたら this.Dispose(); でしょうか
Hide() だけで処理を抜けるコードを書き忘れて、いつまでもプログラムが残り続けるバグを
やったので、二度と戻ってこないフォームは Dispose() したいのです
247: (ワッチョイ 3bc3-9jjH) 2018/04/25(水)21:18 ID:XWOG1WtT0(3/3) AAS
今思ったのですが、そういう使い方だとむしろ Form2 を非表示で実行しておいて、
その中で Form1 を呼び出すべき?
で、Form1 を抜けたら this.Show(); とか
248: (アウアウエー Sa52-PKj8) 2018/04/25(水)21:20 ID:ClmIY1xNa(7/7) AAS
>>243
頭悪そうだけど、単にバッキングフィールドの値をそのまま返すのではないケースを
「何らかの処理の結果を返す」と言っている。
処理 = 高価な処理ではない。
重かろうが単なる足し算だろうが処理は処理だ
249: (スププ Sdba-TcdZ) 2018/04/25(水)22:11 ID:jHFwiJ5Yd(1) AAS
Applicationに共通のパラメータ持って、Form1とForm2で共有しちゃダメなんか
250: (アウアウウー Sa47-Mp6C) 2018/04/25(水)22:17 ID:fPsUNFh1a(1) AAS
使い方次第じゃないかなとは思う
双方で同時に書き換えたりするならやめたほうがいい
それ以前にタダクソダサイと思う
251: (ワッチョイ b7e3-i2qG) 2018/04/25(水)22:41 ID:TqrgnB+10(1) AAS
シングルトンの出番だ
252: (ワッチョイ 1ad2-0snq) 2018/04/25(水)23:10 ID:Kx9WW2Xx0(1) AAS
>>216
これやろ
253: (アウアウカー Sa43-AqIk) 2018/04/25(水)23:38 ID:8cfef6Y0a(1) AAS
もう親フォーム作れば?
254(1): (ワッチョイ a1d6-c97c) 2018/04/26(木)14:36 ID:ooZK6FZP0(1) AAS
自作ツールをソースコード付きで公開したいのですが、
パブリックドメインソフトにするのが最善ですか?
255(3): (ワントンキン MMd3-qfDI) 2018/04/26(木)15:37 ID:s8t3AsxEM(1) AAS
.netで簡単に実現できる機能(メールや圧縮、画像処理等)をネイティブCのアプリで利用したいです。VC++6.0の(C++ではなく)C言語で作るコンソールアプリでです。
C#で作っでdllを作って、C++のdllでそれをコールする関数を公開すれば実現可能ですが、もっといいやり方ないでしょうか?
256: (ブーイモ MMab-fo8q) 2018/04/26(木)15:39 ID:B934JXdmM(1/2) AAS
>>254
今のOSSはMITライセンスでGithubに晒すのが主流
257: (ブーイモ MM85-MzrX) [sage釣] 2018/04/26(木)16:34 ID:+C2ovlRwM(1) AAS
>>255
つ C++/CLI
258: (ブーイモ MMab-fo8q) 2018/04/26(木)17:05 ID:B934JXdmM(2/2) AAS
>>255
別プロセスにする
Win10のアプリなら WinRT のコンポーネントにすれば言語をまたがって普通に使える
259: (ワッチョイ a1d7-WE9q) 2018/04/26(木)19:19 ID:leQJqI/Q0(1) AAS
>>255
標準入出力のリダイレクト。
古典的でダサいけどね
260: 241 (ワッチョイ 11c3-luqG) 2018/04/26(木)20:39 ID:8i3JVbEw0(1/2) AAS
皆様ありがとうございました
決まりきった定番の書き方はない、と理解すれば良さそうですね
自分で色々試してみます
261: (ワッチョイ 11c3-luqG) 2018/04/26(木)21:03 ID:8i3JVbEw0(2/2) AAS
今度はインデクサについて教えてください
外部リンク:ideone.com
例として上記のようなコードを書いてみました
これで、インデクサを使って例えば anml["whale"] とすれば1が返ってくるような、
そういうものを作りたいと思います
(classified, lifeの各プロパティはユニークではなく、specificのみユニークとします)
本を紐解きながら書こうとしたのですが、animalsクラスの中ではリストになっていないので
省4
262(1): (ワッチョイ b917-luqG) 2018/04/26(木)21:18 ID:i4ujFDqn0(1) AAS
ListじゃなくてDictionaryを使えばOK
263(3): (ワッチョイ 19e3-luqG) 2018/04/26(木)21:54 ID:IFgymZMf0(1) AAS
anml.FindIndex(_ => _.specific == "whale")でよくね?
264(2): (ワッチョイ 19e3-Im5u) 2018/04/27(金)03:52 ID:3sBZO5RI0(1/2) AAS
インデクサてのは自作のクラスにつけるプロパティみたいなものだから、List<animals>を内蔵するクラス作って
public int this[string p]{
get{ /* ここに検索して結果を返すコード書く */ }
}
でおkなんじゃねか?知らんけど。
265: (ワッチョイ 11c3-luqG) 2018/04/27(金)07:42 ID:vWqu6ayt0(1) AAS
>>262
すいません、理解のレベルが低いので、具体的にどう実装すればよいのかわかりませんでした
var anml = new Dictionary<animals, string>;
としてディクショナリは実装できたとして、要素追加の際 Add メソッドをどう書くのか、理解が
追いついていないようです
>>263
この書き方で、求めている操作は実現できそうです
省6
266(1): (アウアウウー Sa45-fo8q) 2018/04/27(金)07:59 ID:Ek6IpJbsa(1) AAS
>>264は良くないよ
インデクサはループ内で使用されることを想定しておかないといけない
毎回線形検索が走るのは非効率すぎる
267(1): (ワッチョイ 19e3-luqG) 2018/04/27(金)08:18 ID:3sBZO5RI0(2/2) AAS
番号が欲しいのかanimalsオブジェクトが欲しいのか
268: (オッペケ Sr0d-oETR) 2018/04/27(金)12:24 ID:/0qPzcyMr(1) AAS
>>266
今回の用途では速度は重要でなく、またそもそも実現方法がわからなかったので、アルゴリズムはまだまだ先の話ですね
>>267
今回欲しいのは数字です
269: (ワッチョイ 93e3-cUH7) 2018/04/27(金)23:13 ID:9YiDAi7f0(1/2) AAS
Index番号が欲しいなら>>263で十分じゃないか?
見つからなかったとき例外吐くらしいから気をつけろい
270: (ワッチョイ 93e3-cUH7) 2018/04/27(金)23:15 ID:9YiDAi7f0(2/2) AAS
まちがえた。例外じゃなくて-1だ。すんまそ。回線で首吊ってくる
271: (ワッチョイ 93d2-SiOx) 2018/04/28(土)01:50 ID:E8vnEfND0(1/3) AAS
>>263
アンダーバーはやめとけ
272(2): (ワッチョイ b3eb-cUH7) 2018/04/28(土)01:50 ID:fiFvLr6Y0(1/2) AAS
XAMLファイルからボタンを削除した場合、CSコードの方に呼び出されることのないコールバック関数の宣言が残ってしまます
こういうのを効率よく削除する方法ってないのでしょうか?
273(1): (ワッチョイ 93d2-SiOx) 2018/04/28(土)01:54 ID:E8vnEfND0(2/3) AAS
>>272
WPF?
274: (ワッチョイ b3eb-cUH7) 2018/04/28(土)02:32 ID:fiFvLr6Y0(2/2) AAS
>>273
Xamarin.Formsで使っています
275: (ワントンキン MMad-kOUo) 2018/04/28(土)07:22 ID:bL+b5OsrM(1) AAS
>>272
XML解析とリフレクション
276(1): (ワッチョイ 112d-c97c) 2018/04/28(土)12:46 ID:5pWODy2i0(1) AAS
ここでいいのかわかりませんが、質問させてください。
C#でフレームワーク ASP.Net MVCで作っています。
テーブルのフォームをPOSTしたいのですが、
動的に作成した行をどのようにサーバー側で受け取ればよいのかわかりません。
<td>
<input class="form-control" id="no1" name="no2" type="text" value="" />
</td>
省12
277: (ワッチョイ 93d2-/ky+) 2018/04/28(土)13:53 ID:Jn+S73+O0(1) AAS
>>276
namaに添字をつければList<T>でバインディングできるはず
外部リンク:qiita.com
278: (アウアウウー Sa45-fo8q) 2018/04/28(土)14:50 ID:X/1aPQ6Ma(1) AAS
どうせJavaScript書いてるんならJavaScript側でJSONの配列に纏めてからAJAXでポストするのもアリ
279: (ワッチョイ 71b3-luqG) 2018/04/28(土)21:58 ID:4vnB69wL0(1) AAS
[[[ ][ ]]]\[[]] [[[]]]],[[[ [][] ]
280(1): (ワッチョイ 419f-YWv5) 2018/04/28(土)22:36 ID:vp8gWtwG0(1/2) AAS
Entity FrameworkでDBへのselectとかのリトライしたい場合ってどのようにすべきでしょうか
一時的なエラーだったりしたらもう一回トライとかしたいのです
例外全キャッチするのも無駄なのかなぁと思いまして
281: (ブーイモ MMb3-fo8q) 2018/04/28(土)23:02 ID:8LDPRSMfM(1) AAS
普通のRDBなら一時的なエラーなんか滅多にないだろ
400でいいよそんなもん
282: (ワッチョイ 2bc9-luqG) 2018/04/28(土)23:05 ID:yGhXA9la0(1) AAS
Azure相手だと普通にあるで
283(1): (ワッチョイ 93d2-SiOx) 2018/04/28(土)23:08 ID:E8vnEfND0(3/3) AAS
>>280
DbExecutionStrategy
284: (ワッチョイ 419f-YWv5) 2018/04/28(土)23:33 ID:vp8gWtwG0(2/2) AAS
>>283
ありがとうございます
試してみます
285: (ワッチョイ 71b3-luqG) 2018/04/29(日)20:34 ID:My7UiDyw0(1) AAS
[[[ []]]]*[[ [][] ][] } } {} [[[
286: (ワッチョイ a1d7-AYWH) 2018/05/02(水)19:00 ID:As5kU4Fr0(1) AAS
とりあえず、連休ぐらいゆっくりな
オマエラ
287: (アウアウウー Sacf-pRpi) 2018/05/03(木)10:44 ID:9ar3mEaia(1) AAS
連休は機械学習でずっと計算させる予定
人間は休む
288(1): (ブーイモ MMef-+yEv) [sage釣] 2018/05/03(木)13:02 ID:Nqnp2049M(1/2) AAS
人間はILコードを覚えてハンドアセンブル出きるようになるべき
289: (ワッチョイ bf9e-DJjQ) 2018/05/03(木)13:26 ID:YEWKmWCr0(1) AAS
winformの左辺や上辺をドラッグするとフォームのサイズが変わらずにフォームが移動してしまいますが
サイズを変更するように設定するプロパティなどはありますでしょうか
コードを書く必要がありますか?
290(1): (ワッチョイ aa60-pRpi) 2018/05/03(木)14:32 ID:hvfEvXXP0(1/8) AAS
>>288
古い脳の感覚でいえば、IL なんてハードウェアの裏づけのない、空想上の約束にしか過ぎないので、覚える気が起きない
x86-64 でおなかいっぱい
291(1): (ブーイモ MMef-+yEv) [sage釣] 2018/05/03(木)14:41 ID:Nqnp2049M(2/2) AAS
>>290
情報処理試験のCASLとかも?
292: (ワッチョイ aa60-pRpi) 2018/05/03(木)14:46 ID:hvfEvXXP0(2/8) AAS
>>291
CASL くらいはやったよ、8080、z80/6809/80x86/z8000/r3000、まだ若かったからどんどん覚えることができたんだ…
でも、もうおなかいっぱいだ…
293(1): (ブーイモ MMef-hPxN) 2018/05/03(木)14:47 ID:1IvMgmqBM(1) AAS
次元が違うだろ
ILは高級なオブジェクト指向言語
そもそも機械語に似せることを意図されていない
294(1): (ワッチョイ aa60-pRpi) 2018/05/03(木)14:51 ID:hvfEvXXP0(3/8) AAS
>>293
ハードウェアマシン語とプログラム言語との間に、なぜ仮想マシンと仮想的な言語(IL/JVM)が採用されるようになったのか?そこが今でも判然としないのです…
295(1): (ワッチョイ 53b3-EG9I) 2018/05/03(木)15:42 ID:+UDEH62l0(1/3) AAS
>>294
ドライバは何故存在するの?つってる様なもんだぞそれ
296: (ワッチョイ aa60-pRpi) 2018/05/03(木)15:45 ID:hvfEvXXP0(4/8) AAS
>>295
いえいえ、階層性を全否定するわけではありません
「仮想マシンと中間コード」の必要性を問うているのです…
297(1): (ワッチョイ 53b3-EG9I) 2018/05/03(木)16:06 ID:+UDEH62l0(2/3) AAS
仮想マシンに焦点を絞るなら、ハードウェアの差異を吸収する為では
(.netはJavaVMほどあちこちに移植されてないというだけで)
ILに関して言えば、複数の言語(C#、VB.net、F#、他)を共通のフレームワーク上で動かせる様にする為
298(1): (ワッチョイ 0a5d-N4mI) 2018/05/03(木)16:13 ID:ioUmuI6x0(1) AAS
>>297
それならハードウェアや言語の統一を目指したほうが建設的なのでは?
299: (ワッチョイ 53b3-EG9I) 2018/05/03(木)16:19 ID:+UDEH62l0(3/3) AAS
>>298
不可能だろう
収斂進化により表面上似た様な機能を搭載する事はあっても、内部構造は特許なり権利なり絡んで来るから同じに出来ないし
JavaScript+CSS3ですらブラウザベンダ間で足並み揃えられないのに、言語の統一なんて出来る訳が無い
300(1): (ワッチョイ aa60-pRpi) 2018/05/03(木)16:37 ID:hvfEvXXP0(5/8) AAS
現状、中間言語側でも少なくとも JVM/.net framework にわかれちゃっているからねえ…
301(1): (ワッチョイ bb65-f8tT) 2018/05/03(木)18:59 ID:OyWVOyw+0(1/3) AAS
>>300
LLVMの中間コードをご存知でない?
302(1): (ワッチョイ aa60-pRpi) 2018/05/03(木)19:06 ID:hvfEvXXP0(6/8) AAS
>>301
LLVM はコンパイラの中で完結しているのではないかな?
303: (ワッチョイ 03c3-m5Zl) 2018/05/03(木)19:12 ID:R63QgqLH0(1/2) AAS
?
304(1): (ワッチョイ bb65-f8tT) 2018/05/03(木)19:15 ID:OyWVOyw+0(2/3) AAS
>>302
コンパイラ開発者はとりあえずLLVM-IRに変換すればいいし最終段で機械語に変換するか直接実行するか他の言語のコードに変換するかは自由
というか最初と最後だけ作ればいいわけだから寧ろLLVM-IRが中心
305: (ワッチョイ aa60-pRpi) 2018/05/03(木)19:22 ID:hvfEvXXP0(7/8) AAS
>>304
うん、それはよくわかる
すべての「構造化」を全否定するわけではないんだよ
306: (ワッチョイ 03c3-m5Zl) 2018/05/03(木)19:24 ID:R63QgqLH0(2/2) AAS
すまん、途中から意味分からん
307(1): (アウアウウー Sacf-pRpi) 2018/05/03(木)19:27 ID:kS9rU1V5a(1/2) AAS
.netは仮想マシンなんかつかってないじゃん
308(1): (ワッチョイ aa60-pRpi) 2018/05/03(木)19:42 ID:hvfEvXXP0(8/8) AAS
>>307
外部リンク:ja.wikipedia.org
仮想マシン VES は定義されているようだ
309: (ワッチョイ 1e81-fCfW) 2018/05/03(木)19:45 ID:Vq5AVdhm0(1) AAS
おい!初心者の内容じゃねーぞw
310: (アウアウウー Sacf-pRpi) 2018/05/03(木)20:04 ID:kS9rU1V5a(2/2) AAS
>>308
VESは最終段階のコンパイラだよ
311: (ワッチョイ bb65-f8tT) 2018/05/03(木)20:12 ID:OyWVOyw+0(3/3) AAS
JITコンパイルはVMとしては認めない派閥が存在することは認める
312(4): (アウアウエー Sa82-oFLj) 2018/05/03(木)20:31 ID:GKu15pasa(1/2) AAS
外部リンク:www.slideshare.net
このスライドの67枚目の「良い例」のコードってこれで本当にいいの?
MSDNのParallel.Forの解説には
---
localFinally デリゲートはスレッドごとに 1 回呼び出され、各スレッドのローカル状態に対して最後の操作を行います。 このデリゲートは、同時に複数のスレッドで呼び出される可能性があります。したがって、共有変数へのアクセスを同期する必要があります。
---
と書いてあるから、countはアトミックに操作しないとまずい気がするんだけど
省1
313(1): (ワッチョイ 1ec9-XJxX) 2018/05/03(木)21:13 ID:L6Rknns90(1/2) AAS
>>312
MSDNの使用例にも
localState => Interlocked.Add(ref result, localState)
とあるしそれで正しいと思うよ
上下前次1-新書関写板覧索設栞歴
あと 689 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.023s