15/05/10 10:25:19.54 tTHPKmpl.net
>>338
毎回nullチェック面倒くさ
351:デフォルトの名無しさん
15/05/10 10:29:30.71 udhumyro.net
nullチェックで済む場面で例外飛ばされるのも面倒だけどな
352:デフォルトの名無しさん
15/05/10 10:31:47.37 MYiGE0x7.net
あるかないかの2択の場合はどういう形であれ結局分岐が必要になるケースが多いが
バッチ処理に代表されるように1~複数と0は特に区別しなくてもそのまま問題なく動作するケースが多い
もちろん例外も多いが、程度問題だね
353:デフォルトの名無しさん
15/05/10 10:35:47.53 Nckfwhlg.net
ちょい教えてください ファイルの一括処理+プログレスバーとの同期についての質問です
FileSystemクラス(Microsoft.VisualBasic.FileIO)使うと、
ファイル操作とか、プログレスバー付きでやってくれるので便利ですが
複数のファイルコピーとかでも、個別のファイルごとプログレバーが変わってしまう仕様ですが
一括して、処理できるクラスも確かあったはず(比較的新しいバージョンから)
ですが、探しても見当たりませんので、教えてほしいです。
確か、やりたいファイル操作をsetしていって、全てsetし終わった後、一連の処理をやる�
354:チて 感じだったかと思います
355:デフォルトの名無しさん
15/05/10 10:36:39.99 DPD1uiF2.net
こうして世界にまた新たな宗教論が生まれたのであった
俺的には入力でnullを許すならnull返せば良いんじゃないかなと思う
引数nullで例外吐くなら結果0個でもnull返すなよと
356:デフォルトの名無しさん
15/05/10 10:55:04.15 MYiGE0x7.net
>>343
SHFileOperationを直接呼べばいい
pFromには複数のパスをヌル文字区切りで入れる
357:デフォルトの名無しさん
15/05/10 10:57:44.51 QU/8PEPh.net
非同期プログレスバーは2012以降awaitasyncで簡単に実装できるようになったから、自分で適当に実装するといい
358:341
15/05/10 12:00:51.03 Nckfwhlg.net
>>345 >>346
Thx
MSから提供されている新規クラスであったように思ってたけど
多分、 IFileOperation使うって下の記事見たんだと思います
SHFileOperationからぐぐって見つけました
URLリンク(msdn.microsoft.com)
359:デフォルトの名無しさん
15/05/10 12:01:39.86 az6sSAuA.net
>>344
宗教関係ない。
必用もないのに質問者が主張するような意味不明な理由でnullを返すなんてただの愚行。馬鹿丸出し。
360:デフォルトの名無しさん
15/05/10 12:26:48.78 KQSGu01u.net
>>334
すでにあるよ
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
361:デフォルトの名無しさん
15/05/10 12:35:19.87 oWOtV+Q7.net
ごもっともだな。
不要な煽りが尻についているのは馬鹿丸出しだが。
362:デフォルトの名無しさん
15/05/10 12:44:46.76 az6sSAuA.net
>>350
煽ったつもりはなかったけど、誤解を招く表現ですまんね。
馬鹿丸出しってのは直前の愚行を同じ意味の言葉を反復しただけで>>344のことを
指して言う意図はなかったが、そう取られても仕方がない。
363:デフォルトの名無しさん
15/05/10 12:46:59.37 VLWBs9Y0.net
自分が理解できないものは悪って考えの人なんでしょ
自分には必要ない=他人にも必要ないってやつ
>>349
それIEnumerable<T>じゃん
364:デフォルトの名無しさん
15/05/10 13:09:30.76 oAYzH7be.net
ヌルポ
365:デフォルトの名無しさん
15/05/10 13:26:32.01 2LKVHReQ.net
ga
366:デフォルトの名無しさん
15/05/10 15:17:01.74 IbpGInWc.net
ヘルスバーグも、もしc#を作り直すならnull非許容型を入れたいとか言ってたな。
stringとかコレクションなんて空のインスタンス返してくれりゃいいのによ
367:デフォルトの名無しさん
15/05/10 18:49:18.72 07Tq/7H4.net
>>352
倒錯してるねお宅w
nullを返さないメリットがあるのか、っていう問題設定も倒錯してるが、
自分が他人に聞く耳を持ってない(もしくは絶望的に頭が悪い、あるいはその両方)故に
他人が「自分が理解できないものは悪って考え」を持ってるように見える倒錯の自覚がないんだから笑える。
368:デフォルトの名無しさん
15/05/10 20:30:33.45 H2aT+UyF.net
他でやれよキチガイ
369:デフォルトの名無しさん
15/05/10 23:25:30.25 2LKVHReQ.net
自分の倒錯がない、か
ふ
370:デフォルトの名無しさん
15/05/11 05:59:09.93 THA85e4W.net
しょぼい質問すいません。
public class Boy{
public static enum Status{
Idle = 0,
Run,
Jump
}
public void SetStatus(Status s){
switch(s){
case Status.Idle{
//アイドル時の処理
・・・
}
}
・・・
上記のクラスを別クラスから
boy.SetStatus(Boy.Status.Idle);
としようとすると、
The modifier 'static' is not valid for this item
というエラーメッセージがでます。何が問題でしょうか。
371:デフォルトの名無しさん
15/05/11 06:12:49.50 /d3x1RZ5.net
Java経験者か?
C#のネスト型は全てJavaのstatic相当だからstaticは要らん
372:デフォルトの名無しさん
15/05/11 07:01:02.44 THA85e4W.net
>>360
早速のレス有難うございました。static 相当なんですか、知らなかった
staticを消し去ったらエラーでなくなりました。
373:デフォルトの名無しさん
15/05/11 15:31:57.10 3W1OriMV.net
あやまることないぞ
なごむ
374:デフォルトの名無しさん
15/05/11 22:42:18.74 UCBUcqC1.net
unityでゲームを作りたくて独習c#(全16章)を見ながらc#を学習中なんだけど
これって初心者が半月ほどでマスターできるもんなの?
前に1日1章づつ進めるみたいなことが2chで書いてあったのを見て心配になってきた
約4ヶ月で500ページほど進めたんだがこれって遅い?
課題のプログラムを打ったり 内容を定着させるだけでもかなり時間がかかるんだが
375:デフォルトの名無しさん
15/05/11 22:45:25.36 /d3x1RZ5.net
全くの未経験ならそんなもんだろ
C#はC++やJavaからの移行がメインターゲットだけど、
そういう人なら2,3日でいける
376:デフォルトの名無しさん
15/05/11 22:54:34.18 fag+eL45.net
独習C#はいい本だけど、全部やる必要ないよ。
ある程度進めばプログラム書けるようになってるし、後は目次でも眺めて、この機能はああいう場面で使うんだなって想像できるようになったら、そこをやってみたらいいよ。
377:デフォルトの名無しさん
15/05/11 23:04:23.59 HvlWSqoB.net
WinFormsのことで質問させていただきます
あるフォームで受け取った情報を元に子フォームを新たに表示させ、ユーザーに通知するアプリを書いてます
子フォームの方をどうしてもアクティブにしたくないのでCreateParamsをオーバーライドしてWS_EX_NOACTIVATEを付与しています
(また、通知を目的としているのでWS_EX_TOPMOSTも付与しました)
この時、子フォームの方でコンテキストメニューのアイテムをクリックするとアクティブになろうとし、親フォームも前面に表示されてしまいます
見た目がお粗末なので、アクティブにしたくない(≒親フォームを前面に表示したくない)のですがどうすればいいでしょうか?
コンテキストメニューはContextMenuStripを使用しています
メニューを表示した時点では何も起こらず、アイテムにカーソルを合わせて(左,中,右いずれも)クリックを押下した時点で現象が発生します
アイテム自体はToolStripMenuItemクラスのものを動的に生成したものをToolStripItemCollection.Add()で追加しています
ToolStripMenuItemクラスのPerformClick()が「マウスでクリックされたときに、ToolStripItem をアクティブにします。」という不穏なものだったので、アイテムを継承して隠蔽してみても同様に押下時点でアクティブになってしまいました
親フォームにもWS_EX_NOACTIVATEを付与してみても変わらず、クリックに関するあらゆるイベントを一旦外してみても変わりませんでした
378:デフォルトの名無しさん
15/05/11 23:09:43.62 2taC8jHT.net
>>364
よく2,3日で、なんて言うヤツが居るがC++やJavaを知っていたとしても
それなりに使いこなせるようになるのには最低、半月は掛かるだよ
379:デフォルトの名無しさん
15/05/11 23:14:04.83 UCBUcqC1.net
>>364
>>365
サンクス 学習方法が悪いのかといろいろ気になってたんだけど安心した
ここまでやって最後までやらないのは気持ち悪いのでがんばるよ
380:デフォルトの名無しさん
15/05/11 23:14:45.87 /d3x1RZ5.net
>>367
それはライブラリとかその言語ならではの慣習とかの習得も含めてだな
独習で学べるような「言語だけ」なら2,3日あれば十分
本当にJavaやC++を理解していればの話だが
381:デフォルトの名無しさん
15/05/11 23:19:40.45 2taC8jHT.net
>>366
アクティブにならないウィンドウ
ぐぐれ
382:デフォルトの名無しさん
15/05/11 23:24:44.59 VfSmB2Zt.net
>>366
問題がよく
383:理解できんけど、だったら親子関係を持たせる必要がそもそもないのでは?
384:デフォルトの名無しさん
15/05/11 23:31:57.34 fag+eL45.net
2 3日なんて読んで終わりがいいとこだろ。
見栄っ張りだなぁー
385:デフォルトの名無しさん
15/05/11 23:38:20.79 VfSmB2Zt.net
LINQ後回しにしても良ければそんなものかなって気もするけど、
LINQも入れてだと普通の人は2,3日じゃ無理だと思う
386:デフォルトの名無しさん
15/05/11 23:39:34.20 HvlWSqoB.net
>>370
上に挙げた操作以外ではアクティブになりません
WM_MOUSEACTIVATEを受け取りメッセージのResultをWA_NOACTIVATEを代入して返すのも既に試してダメでした
他にあるかどうか調べてます
>>371
言葉不足ですみません、
説明上便宜的に親と子という単語を使っただけで特別何かしらの関係があるわけではありません
387:デフォルトの名無しさん
15/05/11 23:40:10.94 MSFIVlYt.net
言語よりクラスライブラリ使いこなすほうが大変だわ
388:デフォルトの名無しさん
15/05/12 00:03:56.80 5JIVc8IU.net
便利なクラスライブラリまとめたサイト教えてください!
389:デフォルトの名無しさん
15/05/12 00:20:00.74 2qj2FgYQ.net
URLリンク(msdn.microsoft.com)
390:363
15/05/12 00:55:00.81 JgIyYEkS.net
URLリンク(www1.axfc.net)
簡単に状況を再現したものを上げてみました
391:デフォルトの名無しさん
15/05/12 06:59:08.70 UBEH/BOo.net
>>376
URLリンク(www.codeplex.com)
392:デフォルトの名無しさん
15/05/12 10:28:46.17 WZh54/Cu.net
>>378
サブスレッドを作ってそこから子フォームを開けばいいよ(適当
393:デフォルトの名無しさん
15/05/12 11:07:31.23 2Epq5Vrl.net
元フォームを透明にしっぱなしにして
表示したいフォームはTOPMOST以外の物も別に作る、とか
394:363
15/05/13 02:56:15.35 rmCMDYJ8.net
>>380さんのやり方で無事目的が達成できました。ありがとうございました
めぼしいメッセージを潰そうがお構いなしにアクティブにしてくるので、
もうめんどくさくなってメッセージループごと全部別スレッドに押し付けました
>>381
1行目: 説明不足ですみません。元フォームの方でも操作を行う設計なので不可視にするのは選択肢としてありませんでした
2行目: 同じアプリケーションのフォームであればアクティブ化時に全てのウィンドウが前面に表示されるみたいなので、
ダミーのウィンドウを挟むとかは確かに一度考えましたがおそらく意味ないですね
395:デフォルトの名無しさん
15/05/13 07:33:28.31 CyrL7tq4.net
usingって、#includeと同じような意味合いですか?
396:デフォルトの名無しさん
15/05/13 07:45:43.57 q1XSy79m.net
色々違うけどまぁ似たようなもん
397:デフォルトの名無しさん
15/05/13 07:46:48.44 S9DNZdjl.net
全く違う
usingは名前空間を省略できるようになるだけ
Cではファイルごとにコンパイルが独立して走るので#includeしないとコンパイラが他のファイルにあるものを認識できないが、
C#ではコンパイラがもともと全体を認識しているので別にusingしなくても他のファイルにあるものを参照できる
398:デフォルトの名無しさん
15/05/13 09:12:20.60 3R4cfA9+.net
>>382
>>380だけど、こういう発想ができる俺すごいよなw
天才と凡人の違いを感じる
399:デフォルトの名無しさん
15/05/13 09:52:09.19 nqIuSKm+.net
>>382
経験者がうまくいった方法を書いてるのに
おそらく意味ないとか失礼な奴だな
内容もよくわかってないみたいだし
400:デフォルトの名無しさん
15/05/13 13:47:03.30 rmCMDYJ8.net
>>386
残念ながら1フォーム1スレッド使うので正式には採用できませんでした、すみません
ただ、こういうしのぎ方もある、と参考にはなりました。ありがたいです
>>387
理解が足りてなくて378さんにも申し訳ないです
仮に元フォームを透明にしていい前提
401:だとして、具体的にどんな設計にできますか? 僕では自分で言った379の他に何も思いつけないので、アドバイスの内容が理解できてる384さんから聞きたいです
402:デフォルトの名無しさん
15/05/15 08:30:43.78 WGbVmF0r.net
しょぼい質問すみません。
C#でaspxのプログラムをしています。
phpのrequireみたいにクラスの定義を外出しにできますか?
<%@ Page Language="C#" %>
<%
// Step1 ファイルからデータをdataに読み込む
// Step2 読み込んだデータを整形して画面に表示する
%>
という処理をさせたいのですが、Step2のコードが長くなりそうなので別ファイルにしたいです。
phpだと
<?php
require seikei.php; ←ここに整形するクラス(seikei)を記載する
// Step1 ファイルからデータをdataに読み込む
// Step2 読み込んだデータを整形して画面に表示する
$text=new seikei($data);
print $text;
?>
って書けばいいと思うんですが、c#でrequreに相当する関数が見つかりません。
403:デフォルトの名無しさん
15/05/15 08:34:24.50 wMYXsmJE.net
どうぞ
URLリンク(msdn.microsoft.com)
404:デフォルトの名無しさん
15/05/15 08:37:28.36 wMYXsmJE.net
reactの開発者はコードとマークアップの分離は関心の分離ではなく技術の分離だから
一緒に書いてあるべきだって言ってたな
審美眼おかしいんじゃねえの
javascriptなんか書いてるからだ
405:デフォルトの名無しさん
15/05/15 08:41:00.97 GMFmYUBa.net
所詮クライアントなんだからどっちもビューにすぎない
406:デフォルトの名無しさん
15/05/15 20:03:27.36 7/UU3fpq.net
>>389
asp.netのwebformのひな形はコードビハインドがデフォじゃないのけ?
407:デフォルトの名無しさん
15/05/15 20:12:16.06 HpsIRK8w.net
>>389
visual studioで作ってるか?
408:デフォルトの名無しさん
15/05/15 20:38:53.67 KQDgGchW.net
外部プログラムから引数を受け取り実行するプログラムを組んでいます。
そこでデバッグ実行する為に
Debug* > Start Options > Command line arguments: の中に
AAA\r\nBBB\r\nCCC ・・・①
と入力しプログラムを走らせたところ
Enterを押しても改行を入れてのコマンドライン指定が出来ません。
str_arrangement[0]の値は
AAA
BBB
CCC
となっていることを想定(期待)していたのですが①となっていました。
[STAThread]
static void Main(string[] str_arrangement)
{
// str_arrangement[0]
}
どうすればコマンドライン引数に改行を入れる事が出来ますか?
409:デフォルトの名無しさん
15/05/15 20:44:05.54 LbB40UU3.net
そもそもコマンドラインは改行できないでしょ
410:デフォルトの名無しさん
15/05/15 20:50:10.21 P6TE8e/2.net
string str = str_arrangement[1];
strarg = str.replace("\\n","\n");
411:デフォルトの名無しさん
15/05/15 20:50:19.10 VrkjESyN.net
出来るみたいだよ
URLリンク(d.hatena.ne.jp)
ただ一般的じゃないからVSでは無理だろ
起動用プロジェクトを別に作ってみたら?
412:デフォルトの名無しさん
15/05/15 21:24:16.34 WPCuHu1g.net
>>>397
うーん、やっぱりそういう迂回作を使わないとダメなんですね。。。
>>398
面倒なので >>397 でいきます。
413:デフォルトの名無しさん
15/05/15 22:03:53.95 4m+4Cz6q.net
エディタ等からコピペで改行コード挿入できたぞ
414:デフォルトの名無しさん
15/05/15 22:46:46.75 HpsIRK8w.net
デバッグ実行のために>>397にするのはどうかと…
エスケープ入れると「\n」リテラル入力する時の問題が出てくるし
415:デフォルトの名無しさん
15/05/16 04:23:25.38 ljsNYmv9.net
>>400
416:普通Enterで入れられるべきでしょ。
417:デフォルトの名無しさん
15/05/16 04:37:46.33 2fYxSmep.net
コマンドラインって何かわかってる?
418:デフォルトの名無しさん
15/05/16 08:01:48.69 4tUTPQEQ.net
edlinはエディタに使えますか?
419:デフォルトの名無しさん
15/05/16 09:36:15.35 808i7u12.net
>>400
C# はそれでできるんだな
C++ は直接 *.vcxproj.user 書き換えないとダメだった
420:デフォルトの名無しさん
15/05/17 10:43:25.16 Qa54Pmnu.net
label1
label2
label3
for(int i=1;i<3;i++){
label(i ).text = 文字
}
みたいにやりたいんですが、ラベルとか、テキストボックスの配列化?は出来ますか?
421:デフォルトの名無しさん
15/05/17 10:50:08.98 PEgsZgRL.net
自分で配列作ればいいじゃない
422:デフォルトの名無しさん
15/05/17 10:50:09.87 MUnfOjBK.net
まとめてPanelに入れてpanel.Controls
もしくは単にControls[“text” + i]
手で配列に入れるのはミスの元なのでお勧めしない
423:デフォルトの名無しさん
15/05/17 11:37:20.22 3k/uCjkF.net
>>406
こういうことだろ?
label[] labelArray = new label[]{
label1,
label2,
label3
}
for(int i=1;i<3;i++){
labelArray[i].text = "label"+i;
}
424:デフォルトの名無しさん
15/05/17 11:41:53.73 3k/uCjkF.net
それか要素名を直接、動的にリフレクションで扱う手もあるけど
全くおススメできない
425:デフォルトの名無しさん
15/05/17 11:42:56.47 Qa54Pmnu.net
>>407
>>408
>>409
そのように出来るのですね、ありがとうございます!
426:デフォルトの名無しさん
15/05/17 12:03:54.78 3ILPbA+F.net
>>410
最近リフレクションを覚えたのかな?
427:デフォルトの名無しさん
15/05/17 12:16:21.11 3k/uCjkF.net
>>412
C#当初から知ってるが
リフレクションを知らない人?
428:デフォルトの名無しさん
15/05/17 12:23:34.47 gBt4eqGA.net
リフレクションを使うべき場面でもないのにリフレクションするのはたいてい初心者
429:デフォルトの名無しさん
15/05/17 12:29:38.93 55duNRiS.net
何のこっちゃw
430:デフォルトの名無しさん
15/05/17 12:30:17.37 A/2J8g9j.net
>>414
409は使う必要もない所でリフレクション使って
糞コードを量産している初心者なんだろう
431:デフォルトの名無しさん
15/05/17 13:11:18.36 fqCMYSmn.net
コントロール配列欲しい人たまにくるから簡単に作っといた
URLリンク(ideone.com)
432:デフォルトの名無しさん
15/05/17 15:20:34.54 Vz8/wQyv.net
コントロール配列が欲しいってのは低能VB厨だろ?
433:デフォルトの名無しさん
15/05/17 17:07:55.32 a+o15yPS.net
コントロール配列が必要な場面に遭遇したこともないようなやつは
ほとんど実務経験がない初心者だろうな
434:デフォルトの名無しさん
15/05/17 17:15:09.76 azDp/x2p.net
実務はクソコードで溢れてるような言い方止めてくんない?
お前が代表面すんな
435:デフォルトの名無しさん
15/05/17 17:22:33.01 oXL/1QJX.net
状況に合わせて適切な実装が選択出来ることが一番重要じゃね?
417みたいに何やってもダメな奴もいるけど
436:デフォルトの名無しさん
15/05/17 17:26:58.87 gfkqninw.net
VB6のようなベタなコントロール配列なんて使わないだろ
437:デフォルトの名無しさん
15/05/17 17:27:22.12 wvzPz3Ba.net
社会に出たら病コピペと似てるわ
よほど酷い仕事でストレス溜めてんのね
438:デフォルトの名無しさん
15/05/17 17:27:48.35 6hGp8vWg.net
>>419
むしろコントロールをインデックスで指定しなきゃならんようなら
普通はバカみたいに同じ機能のコントロールを配置しなくて良いようにUIを見直すよ。
万が一必用でもコードで明示的にList<T>なり何なりに突っ込む。
439:デフォルトの名無しさん
15/05/17 17:31:33.29 fqCMYSmn.net
静的なデザインに動的なアクセスは出来ればやりたくないが、保守性や可読性を考えた場合にそういう選択になる事もあると思うよ
作りゃいい話だがせめてForm.AllControlsとか欲しかったな
440:デフォルトの名無しさん
15/05/17 17:34:29.31 MUnfOjBK.net
コントロールをインデックスで指定しなきゃいけないようなUIはそもそもWindows的におかしいので
どう足掻いてもクソコードになるが、業務では必要とされることが多いのは事実であるから
実務がクソコードで溢れているというのは必然だ
そのへんWebならわりと綺麗に作れるんだけどね
441:デフォルトの名無しさん
15/05/17 17:36:05.00 fqCMYSmn.net
>>424
これ>>419を肯定しちゃってるよね
List<T>がコントロール配列そのものだから
442:デフォルトの名無しさん
15/05/17 17:49:59.53 KGZ6ijCa.net
>>425
>作りゃいい話だがせめてForm.AllControlsとか欲しかったな
これを作ってもアクセス方法が動的アクセスしかなく実用性がほとんどない
よって実装されていないんだろう
配列やリストは静的アクセスするためのもの
443:デフォルトの名無しさん
15/05/17 17:56:08.58 ygZMD/3a.net
GetMembersでとれるんじゃない?
444:デフォルトの名無しさん
15/05/17 17:57:35.80 PEgsZgRL.net
話が噛み合ってない気がする
445:デフォルトの名無しさん
15/05/17 18:20:19.82 fqCMYSmn.net
>>428
状況に応じてVisible切り替えるような時、その切り替え仕様をTagに定義しておきたいとか
446:デフォルトの名無しさん
15/05/17 18:21:08.75 6hGp8vWg.net
>>427
どういう読解力だよ
447:デフォルトの名無しさん
15/05/17 18:30:11.42 Vz8/wQyv.net
コンテナコントロールがある以上ツリー状なデータなわけだから
配列っていわれるとモヤモヤする
448:デフォルトの名無しさん
15/05/17 18:35:05.73 dM0pmF2t.net
>>432
424じゃないけど
お前が自分でリスト使うってって書いてるだろ
アホ
>万が一必用でもコードで明示的にList<T>なり何なりに突っ込む。
449:デフォルトの名無しさん
15/05/17 18:38:19.14 EwfTb6QO.net
>>433
アクセス方法が配列そのものだろバカか?
450:デフォルトの名無しさん
15/05/17 18:52:00.43 gfkqninw.net
ところで、WPFだと動的なコントロールの作成は楽なのけ?
451:デフォルトの名無しさん
15/05/17 19:11:41.72 azDp/x2p.net
お、荒れてるね
452:デフォルトの名無しさん
15/05/17 19:14:19.96 MUnfOjBK.net
WPFならItemTemplateを使えばコード書かずに楽勝
でもXAMLは学習コスト高めなので今時コントロール配列とか言ってる子には厳しいだろうな
453:デフォルトの名無しさん
15/05/17 19:31:50.11 6hGp8vWg.net
>>434
馬鹿かお前。
システムが暗黙的に作成するコントロール配列なんか使わずに
ユーザーコード上に明示的に宣言したList<T>を使うって言ってるのにどんな馬鹿だよ本当。
っていうか前の文節で
---
むしろコントロールをインデックスで指定しなきゃならんようなら
普通はバカみたいに同じ機能のコントロールを配置しなくて良いようにUIを見直すよ。
---
こう書いてるのにそっちは完全無視か馬鹿。
っていうか馬鹿は鳥頭だから2行以上前に書いてあることは覚えてないんだろうな
454:デフォルトの名無しさん
15/05/17 19:36:36.38 Dosz5ijJ.net
>>439
>システムが暗黙的に作成するコントロール配列なんか使わずに
>ユーザーコード上に明示的に宣言したList<T>を使う
自分が書いてる意味もわからない正真正銘の知的障害者
何を言っても無駄な社会のゴミ
早く自殺してね
455:デフォルトの名無しさん
15/05/17 20:11:47.34 gfkqninw.net
>>438
WPF流行ってないよね。
MSも新技術色々出してハードドル上げてどうするつもりなんだろ?
トンデモな勘違い野郎が間違った使い方するよ。
456:デフォルトの名無しさん
15/05/17 20:12:28.97 gfkqninw.net
ハードドルって何やねんw
457:デフォルトの名無しさん
15/05/17 20:19:21.52 TC+xegdR.net
M$が密かに開発しているソフトドルの機密を漏らした罪により >>442 は消される
458:デフォルトの名無しさん
15/05/17 21:26:36.50 3k/uCjkF.net
WPFはマイクロソフトが事実上捨ててるからその内silverlightみたいにサポート終了になるだろうね
459:デフォルトの名無しさん
15/05/17 21:29:26.73 MUnfOjBK.net
ビジネスアプリケーション向けの.NETの次世代UI技術は結局ASP.NET MVCに落ち着いたよ
極めて普通なWeb MVCアーキテクチャだからもう>>441のような批判は当たらない
XAMLなんかより遥かに分かりやすいから今からやるんならASP.NET MVCがいいよ
460:デフォルトの名無しさん
15/05/17 21:37:26.12 6hGp8vWg.net
またいつものwebに夢みてる時�
461:纃�な人か
462:デフォルトの名無しさん
15/05/17 21:40:48.22 MUnfOjBK.net
>>446
MSが最近出したVisual Studio CodeはHTML5とJavaScriptで作られてるんだぜ
463:デフォルトの名無しさん
15/05/17 21:51:40.01 3k/uCjkF.net
HTML5とjavascriptは標準技術だからね
XAMLやASP.NET MVCみたいなローカル技術とは分けが違うよ
464:デフォルトの名無しさん
15/05/17 22:03:39.45 MUnfOjBK.net
>>448
ASP.NET MVCはサーバー側の技術で、クライアントに使うのは当然HTML5だ
実際使うかどうかはともかく、今時Web MVCを全く知らないって
さすがに開発者としてヤバいぞ
465:デフォルトの名無しさん
15/05/17 22:04:37.23 CzRQDZeG.net
>>447
操作感がsublime textやatomそっくりな件。
466:デフォルトの名無しさん
15/05/17 22:13:53.35 gfkqninw.net
>>445
別にasp.net mvcをdisってる分けじゃないんだが。
467:デフォルトの名無しさん
15/05/17 22:27:59.00 3k/uCjkF.net
>>449
MVCを全くしらないとかどこに書いてあるんだ?
おまえ頭おかしいぞ?
自分が知ってる狭い知識で語ってんじゃねえよ
身の程を知れ井の中の蛙
468:デフォルトの名無しさん
15/05/17 22:36:25.53 azDp/x2p.net
WebはどうでもいいけどXAMLは100万年掛けても流行らないから
MSはアプリ輸入の準備だけしててちょーだい
469:デフォルトの名無しさん
15/05/17 23:02:16.91 B6Xc4iyU.net
リファクタリングしたらxamlも更新されるようにせんか!手動バインドとか恐ろしいわ
470:デフォルトの名無しさん
15/05/17 23:47:12.71 fg7/jRp/.net
MVCとASP.NET MVCの区別もつかないアホに構ってはいけない
471:デフォルトの名無しさん
15/05/17 23:57:17.18 8oOUPadZ.net
>>449
恥ずかしいゴミめw
472:デフォルトの名無しさん
15/05/18 00:12:02.48 rY8mv9pb.net
>>456
ローカル技術をクライアントサイド技術だと勘違いしてるって事かw
473:デフォルトの名無しさん
15/05/18 02:48:52.06 iGSkgNue.net
結局WindowsアプリのGUI作るのには何が一番いいの?
474:デフォルトの名無しさん
15/05/18 03:00:38.81 tQ5Dyqi2.net
Windows Forms
475:デフォルトの名無しさん
15/05/18 06:25:04.78 rY8mv9pb.net
高dipのディスプレイが普及したらXAMLなんだろうけど。
476:デフォルトの名無しさん
15/05/18 06:27:21.84 4bXcOge2.net
WinFormsでいいよ
わざわざXAMLやるくらいならそれこそHTMLの方がいい
VSCodeみたいにラップすることもできるし、ストアアプリでもHTML使えるんだし
477:457
15/05/18 06:28:53.40 rY8mv9pb.net
dip → dpi の間違い
478:デフォルトの名無しさん
15/05/18 07:06:37.40 jdBOVrH8.net
なんか、おれのくだらない質問から荒れてしまったみたいでなんかすみませんw
479:デフォルトの名無しさん
15/05/18 07:19:24.34 92QLSF+E.net
誰だテメーは
いきなり現れて
480:デフォルトの名無しさん
15/05/18 07:42:22.46 jdBOVrH8.net
>>406
こいつです
481:デフォルトの名無しさん
15/05/18 07:51:13.98 oJXHJ+WI.net
気にすんな
最近ふらっとスレには煽りたいだけの低能が集まってるみたい
482:デフォルトの名無しさん
15/05/18 08:07:17.02 3eEkTQ9y.net
いるね
レスのケツに必ず煽りがついてる人とか
483:デフォルトの名無しさん
15/05/18 08:27:22.37 R6NuXwMZ.net
集まってるって言うか、まともなやつらがいなくなっただけかと...
484:デフォルトの名無しさん
15/05/18 08:29:14.79 wiNRRdg2.net
5月の何時もの風景。
485:デフォルトの名無しさん
15/05/18 08:29:37.73 7BvZDlvH.net
>>1
486:デフォルトの名無しさん
15/05/18 17:38:21.87 LZCCaXsh.net
C# でIEを操作しているのですが
ie.Quit(); をしてもブラウザが閉じないことがよくあります。
これを回避する方法はありますか?
もしくは、無理やりプロセス削除をするしか方法はないのでしょうか?
487:デフォルトの名無しさん
15/05/18 18:11:13.71 oJXHJ+WI.net
COMオブジェクトがリークしてんじゃねーの?
Marshal.ReleaseComObjectし忘れ。
488:例えば var hoge = ie.Document.getHogeHoge(); ↑ ie.DocumentのところでHTMLDocumentClassオブジェクトがリーク
489:デフォルトの名無しさん
15/05/18 20:09:01.46 IFcmf4XH.net
まぁそれはよくある話だがIE自体がクソ
なんでわざわざIE向けのCode書きたくもない。
490:デフォルトの名無しさん
15/05/19 12:09:18.52 KlK4atyI.net
他のスレで書くとC++やJavaを進められるので、あえてここで聞いてみます
VSのC#が慣れた人がAndroidのビジネスアプリを作成する場合、何が一番良いのでしょう?
外部機器と通信して数値やグラフ表示する程度ですが
491:デフォルトの名無しさん
15/05/19 12:24:11.27 Px7Puw/x.net
そんな前置きを書くとC++とJava勧める奴がでるぞ
492:デフォルトの名無しさん
15/05/19 12:24:17.97 Ll/HpEwU.net
そんなもんASP.NET MVCで作ってブラウザで表示すりゃいいよ
ビジネスアプリならどのみち裏でサーバー動いてるんだろ?
わざわざAndroid固有の技術を覚える必要なんかない
もしどうしてもネイティヴの体裁にしたいならWebView貼って終わり
493:デフォルトの名無しさん
15/05/19 12:45:54.61 Ll/HpEwU.net
あと言語の問題だけじゃなくてデプロイやアップデートをどうするのかとか
紛失時のセキュリティとか、あらゆる面でWebの方が楽だ
JSから使えない端末側の機能が必要とかオフラインでも使えるようにしたいとか、
よほど強い理由がなければサーバ側に何を使うかともかくWebベースがいい
494:デフォルトの名無しさん
15/05/19 13:25:28.98 BpuPofZt.net
>>474
Javaでいいんじゃね。C#使えるならちょっと勉強すればJavaの文法は難しくないだろ
ライブラリやAPIはどっちにしろ覚えないとしょうがないだろうから
>>476-477
外部機器と通信というくだりをどう考えてるのか聞かせて欲しいもんだ
495:デフォルトの名無しさん
15/05/19 13:39:06.72 D6hTeVWg.net
なんでもそうだけど一番メジャーなもので作るのがいいよ。
だからJava
496:デフォルトの名無しさん
15/05/19 14:26:18.58 Ll/HpEwU.net
>>478
外部機器と通信というのが端末と機器の間で直接通信するという意味であるなら、
そもそも選択の余地はないだろうしそんなテクニカルな話で一般論の答えを求めても仕方ないと思うんだが
497:デフォルトの名無しさん
15/05/19 14:33:43.23 D6hTeVWg.net
通信だけ側でやって表示はWebViewでやればいい
498:デフォルトの名無しさん
15/05/19 20:28:32.62 Ye3mIF4/.net
>>472
対策としてはどーすればいいの?
499:デフォルトの名無しさん
15/05/19 20:53:01.44 7GmTMJUE.net
リストを2つ用意してMVCモデルで設計するって
簡単に言ってどういう感じになるんでしょうか?
list1とlist2があったとすると、list2にlist1の参照を入れる?って事ですよね?
500:デフォルトの名無しさん
15/05/19 21:17:45.49 baIIPGtU.net
何言ってるんだかさっぱり分からん
誰がそうしろって言った?
そいつにMVCとはなんですかと聞け
たぶん一般的な意味とは違うんだろ
501:デフォルトの名無しさん
15/05/19 21:23:26.04 DIo0U3oL.net
>>482
いちおう変数で受けておいて使い終わったらMarshal.ReleaseComObjectする
効果ないかもしれない上に非常に面倒くさいけど。
var doc = ie.Document;
try
{
var hoge = doc.getHogeHoge();
try
{
...
}
finally
{
Marshal.ReleaseComObject( hoge );
}
}
finally
{
Marshal.ReleaseComObject( doc );
}
IEとかってプロセスが再利用されるの期待して、すぐに死なないとかない?
502:デフォルトの名無しさん
15/05/19 21:35:43.77 q3WQijmv.net
>>485
なんか諸説あって何が正しいのかよく分からんけど、
少なくともExcelオートメーションに関する限り経験的には
ちゃんと変数に入れるだけで十分でReleaseComObjectは必要ない気が。
503:デフォルトの名無しさん
15/05/19
504:21:47:37.66 ID:0y3JMzOX.net
505:デフォルトの名無しさん
15/05/19 22:21:44.93 WbxBVd4k.net
>>486
Interop.Excelから使う分にはReleaseComObjectは不要だと思う。
CreateObjectでレイトバインディングする場合は、ドット1つ以上使わないようにして
オブジェクトを全部変数に入れて順番にReleaseComObjectする必要がある。
506:デフォルトの名無しさん
15/05/19 22:51:14.36 q3WQijmv.net
>>488
なるほどそういうものですか。
507:デフォルトの名無しさん
15/05/20 00:38:14.58 gX6G9tdz.net
>>485
試しにやってみましたが、効果ありませんでした。。。
508:デフォルトの名無しさん
15/05/20 00:49:51.58 03XLPVPu.net
それC++でやっても残ったな。quitできないタイミングがあったはず。プロセス落とすのがいいと思う
509:デフォルトの名無しさん
15/05/20 02:42:40.81 gX6G9tdz.net
>>491
ループ処理させながらieのプロセスを落としまくるとPCが不安定になりませんか?
510:デフォルトの名無しさん
15/05/20 06:31:47.64 f7NgOdgI.net
>>490
それは、プロセスが残ったままになる場合の対応だからね。
Quitの前にSleepやDoEvents的なものでウエイトさせると出来たりしないか?
511:デフォルトの名無しさん
15/05/20 08:33:09.09 KFMNcacm.net
IEの操作はvbsでやるに限る
512:デフォルトの名無しさん
15/05/21 07:07:47.85 5AlY38lu.net
初心者がLinq,ラムダ式に手出すのは早いですか?
513:デフォルトの名無しさん
15/05/21 07:28:51.30 01TMmBFS.net
文法も網羅してないのにもう中級者です!ってのもおかしい気がするが
個人的には
514:デフォルトの名無しさん
15/05/21 07:47:19.36 MBfknsBq.net
これらを理解できてたら手を出していい
・デリゲート
・オーバーライド、多態性
・Template Methodパターン、Observerパターン
・IEnumerable<T>の仕組み
・yieldの使い方
これだけわかってりゃLINQやラムダが何やってるのかはだいたい想像がつくはず
515:デフォルトの名無しさん
15/05/21 08:34:54.41 /hDcy/Cl.net
キャプチャの仕組み理解すれば普通に使っていいだろ
516:デフォルトの名無しさん
15/05/21 08:45:38.96 il658Xe0.net
LINQは使うと読み易くなることがあるが
壮大なオナニーLINQは害悪
517:デフォルトの名無しさん
15/05/21 09:16:37.76 Tg0bXDwp.net
なんでや、オナニーに使われるのはLINQに限ったことじゃないやろ
…関数型言語がポエム書きやオナニーに使われるのと同じで
ドヤりたい人を引きつける何かを備えてることは否定しないが
518:デフォルトの名無しさん
15/05/21 12:14:00.62 NNS76vjx.net
コントロールをドラッグして仮の枠を表示して、ドロップ先に線を描くのってどうやってやるの?
一時的にパネルを表示して仮の枠を描いて、ドロップ先もパネルを表示して線を描いておく感じですか?
519:デフォルトの名無しさん
15/05/21 13:12:17.42 9WVVlPPq.net
>>501
何を言ってるのか分かるように書かないと回答来ないよ
520:デフォルトの名無しさん
15/05/21 14:27:40.35 /hDcy/Cl.net
なんとなく分かった
コントロールをドラッグして他のコントロールの場所に挿入するみたいな感じかな
んでドラッグ中はinsertion markを描画すると
ドラッグでコントロールの場所をリアルタイムで変化させちゃうというベタな方法のつもりなのかな?
それだと移動先にマークを書くのが難しくなるわな
ToolStripのAllowItemReorderの実装のようにOLEドラッグ&ドロップでやるのが楽っぽいけど
マークもコンテナ描画イベントで描けるし
かなり凝ればドラッグ中のコントロールを半透明で描画したりも出来るし
521:デフォルトの名無しさん
15/05/21 14:55:03.12 MBfknsBq.net
枠を付けたい場所に最初からPanelを入れまくっておいて枠を非表示にしとくだけでよくね
それなら描画しやすいだけでなくイベントも簡単に拾える�
522:オ
523:デフォルトの名無しさん
15/05/21 16:21:42.63 Md4oOCiG.net
ItemsControlクラスのItemsとItemsSourceの違いがよく分かりません。
型とアクセサを見るにItemsSourceは新しく割り当てるとき用で、
Itemsはいま割り当てられているオブジェクトの取得用ってことでしょうか?
ItemsSourceを直接getすると何かマズいんでしょうか
524:デフォルトの名無しさん
15/05/21 16:35:02.91 9WVVlPPq.net
>>505
MSDNライブラリの説明を読んで分からなければサンプルを見る。
普通それで分かる。
525:デフォルトの名無しさん
15/05/21 20:29:48.64 MBfknsBq.net
>>505
ItemsSourceはコレクションをバインドするのに使う。
バインドするコレクションの要素はコントロールではなくて任意の型のオブジェクトで、
そのオブジェクトからどうやってコントロールを作るかをItemTemplateで定義する。
ItemsはItemsSourceの要素から生成されたコントロールのコレクション。
低レベルな制御をする場合以外は基本的にItemsは使わない。
526:デフォルトの名無しさん
15/05/21 21:55:00.16 Ps6etXnO.net
下のようなプログラム
string[,] test = {{ "a","b" }};
ArrayList data = new ArrayList();
data.Add(test);
から、どのようにすれば
ArrayList に格納された string[,] test を取り出すことが出来るでしょうか?
foreach (string[,] func in data) {
Console.Write(data);
}
と書けば取り出せたのですが、
インデックスが0にも関わらず
foreach を使うのは、冗長な気がしており。。。
なお、ArrayList は使うべきでは無いのは解っておりますが、
扱いたい関数の返り値がArrayList のため、
やむなく使っております。
よろしくお願いします。
527:デフォルトの名無しさん
15/05/21 22:01:36.60 MBfknsBq.net
(string[,])data[0]
または data.Cast<string[,]>().FIrst()
dataが空の場合でもコケないようにしたければ上記Firstの代わりにFirstOrDefault
528:デフォルトの名無しさん
15/05/21 22:51:04.66 VDw572dB.net
見た目にエラーが無ければ結果の正しさなどどうでもいい
とはすごい発想ですね
529:デフォルトの名無しさん
15/05/21 22:55:00.04 Ps6etXnO.net
>data.Cast<string[,]>().FIrst()
取り出すことが出来ました。
こんな取り出し方があるのですね。
勉強になります。
ありがとうございます。
530:デフォルトの名無しさん
15/05/21 23:07:34.12 d30eeU2g.net
え?
(string[,])data[0]
でよくないか?
531:デフォルトの名無しさん
15/05/22 09:59:36.37 tJUwDPLO.net
System.timers.timer動作中にRadioButtonを押すと、
有効ではないスレッド間の操作: コントロールが作成されたスレッド以外のスレッドからコントロール 'Button1' がアクセスされました。
と、表示されてしまいます。
timer動作中の中どころかソリューション全体の中でもButton1を使用したり関連付ける部分は書いていないのですが・・・。
何か対応方法等ありますでしょうか?
よろしくお願いします。
532:デフォルトの名無しさん
15/05/22 10:06:46.74 AYYhXMHp.net
Nameプロパティが"Button1"ななんかのコントロールがあんじゃねーの?
あとSystem.Timers.Timerは分かってて使ってんだよね?
533:デフォルトの名無しさん
15/05/22 10:50:15.90 tJUwDPLO.net
>>514
Form1.Designers.csも検索してみましたが、"Button1"が他で使われている形跡はありませんでした。
見た目的には安定するSystem.Windows.Forms.Timerを使用してみたところ、
今度はtimerの中のParallel Forで止まる様になってしまいました。
534:デフォルトの名無しさん
15/05/22 11:35:09.17 Eq73D2cp.net
ユーザーコントロール操作しててその中で使われてるとかそんなんじゃね?
Button1にこだわらずにタイマのイベントハンドラ内でコントロール触ってるかどうかをとにかく確認
535:デフォルトの名無しさん
15/05/22 12:04:17.52 tJUwDPLO.net
とりあえず動作としては解決しました。
Button1を消したら今度はButton2でエラーが発生したので特定のコントロールは関係無かったです。
タイマーの中で余計な動きを見せない為にthis.SuspendLayout() とthis.ResumeLayout() を使っていたので、
こちらで引っかかっていました。
これらのメソッドについて、詳しく調べてみます。
ありがとうございました。
536:デフォルトの名無しさん
15/05/22 13:13:12.96 JBwzRzqV.net
あまり把握出来てないのでデバッグのヒントになりそうなやつ
1.例外ブレークポイント
2.スレッドウィンドウ
これでなんか分かるかも
537:デフォルトの名無しさん
15/05/22 13:16:00.51 JBwzRzqV.net
あととりあえず動かしたいならタイマーでやる事をthis.Invokeに変更
538:デフォルトの名無しさん
15/05/22 14:59:32.83 G62CPnRd.net
基本的な
コントロールは別スレッドから操作してはいけない
と言う事が理解できていない気がする
あとは勝手に別スレッドで実行される状況も理解できてない気も
539:デフォルトの名無しさん
15/05/22 16:29:40.04 1VpTopWF.net
>>513
SynchronizingObject
つ URLリンク(www.cactussoft.co.jp)
540:デフォルトの名無しさん
15/05/24 20:08:10.21 KArwiYHk.net
VS2013です。
pictureBoxにLoadする画像の上にグリッドを描画したいです。
DrawLineで線分を描画することはできたのですが、破線を描画するにはどうすれば良いでしょうか?
MSDNでGraphicsクラスのメソッドを見てきたのですが、該当するものが無いようです。
541:デフォルトの名無しさん
15/05/24 20:27:32.93 KArwiYHk.net
すみません解決しました
542:デフォルトの名無しさん
15/05/25 04:35:31.71 v33s9jMH.net
質問です
Javaのsynchronized付きのメソッドを含むクラスをC#に移植しようとしているのですが、
GuardedSuspensionパターンで
Task.Run(() => new Task(ClientThread));
Task.Run(() => new Task(ServerThread));
とやるとすぐにプログラムが終了してしまいます
これを
Thread cl = new Thread(new ThreadStart(Client));
new Thread(new ThreadStart(Server));
とやると正常動作します
Taskはすぐに終了してしまうのでしょうか?
543:デフォルトの名無しさん
15/05/25 07:41:03.83 R3oTKNZR.net
プロセスにフォアグラウンドスレッドが存在しなくなると
バックグラウンドスレッドがまだ処理中でもプロセスは終了してしまう
これが原因ではないか
Taskは内部でスレッドプールを使っているが
スレッドプールのスレッドは全てバックグラウンドスレッドだ
フォアグラウンドスレッドが欲しいなら、自分でThreadを作成するべきだ
以下参考資料
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
544:デフォルトの名無しさん
15/05/25 13:34:14.87 tMcWag84.net
>>525
ありがとうございます
疑問がすっきり解決しました
Taskももう少し改良して欲しいですね・・・
545:デフォルトの名無しさん
15/05/25 13:48:49.67 63j168JE.net
改良?
546:デフォルトの名無しさん
15/05/25 13:51:40.44 rowGmHFY.net
Threadのようにいろいろ機能はあるけどThreadよりも使い勝手が良い、みたいな
547:デフォルトの名無しさん
15/05/25 13:54:40.42 5Xzz88z5.net
TaskScheduler自前で作りゃいいだけだけど
そもそもメインスレッドで待てばいいだろハゲ
548:デフォルトの名無しさん
15/05/25 14:34:51.52 buubow6H.net
.NET3.5ベースで開発しています
あるabstractクラス内のstaticメソッドを動的に舐めて
Dictionary<"メソッド名", メソッド型>に突っ込んでいく処理でつまづいております
URLリンク(codepad.org)
取得したメンバを実行するのはInvokeMemberすればいいのですが
今回のケースで探してもなかなか出てきませんでした
よろしくおねがいします
549:デフォルトの名無しさん
15/05/25 14:52:20.57 wGou5fq6.net
Task[] tsk = new Task[] {Task.Factory.StartNew(new Client),
Task.Factory.StartNew(new Server)
};
Task.WaitAll(tsk);
こういう風に書くと正常に動きました
お騒がせしました
そりゃMainに書いてりゃMainが終了すれば呼びだされたTaskも強制停止されて
終了してしまう事を忘れていました
550:デフォルトの名無しさん
15/05/25 15:19:52.31 MKPJRGG4.net
>>530
MethodInfo.CreateDelegate
551:デフォルトの名無しさん
15/05/25 15:31:25.76 uOKH4JiO.net
>>530みたいなことやるならMEF使えばいいのに
552:527
15/05/25 15:44:28.52 buubow6H.net
>>532,530
リプライありがとうございます
ご提案いただきましたMethodInfo.CreateDelegate、MEFは、残念ながら.NET 4からの機能です
URLリンク(msdn.microsoft.com)
URLリンク(msdn.microsoft.com)
553:デフォルトの名無しさん
15/05/25 16:54:45.18 MKPJRGG4.net
ああ、そうだったか
じゃあDelegate.CreateDelegateのほうで
554:527
15/05/25 17:09:02.90 buubow6H.net
>>535
ありがとうございます!
Delegate.CreateDelegateでいけました!
foreach (MemberInfo m in typeof(Module).GetMembers(BindingFlags.Static | BindingFlags.Public)) {
var del = System.Delegate.CreateDelegate(typeof(method_type), m as MethodInfo);
methods.Add(m.Name, del as method_type);
}
555:デフォルトの名無しさん
15/05/25 23:04:17.52 +UFfY2ty.net
Windowsアプリケーションを作成しているのですが、
private void button_Click(object sender , EventArgs e){ ~~~ }
button.Click += new EventHandler(this.button_Click);
と記述してあるのですが、内部的にどのような処理が行われているのでしょうか。
556:デフォルトの名無しさん
15/05/25 23:26:51.92 uOKH4JiO.net
>>537
button.Click += new EventHandler(…)は
button.add_Click(new EventHandler(…))と同じ
new EventHandler(this.button_Click)はJavaなら
new EventHandler {
public void Invoke(object sender, EventArgs e) { this.button_Click(sender, e); }
}
に相当する
だからといって何がしたいのかは分からないだろうけど、それはObserverパターンを勉強しろ
557:デフォルトの名無しさん
15/05/26 03:24:56.20 fbPfP2jD.net
TrackBarで、つまみをつかんでいる(つまみの色が変わっている)
かどうかの判定ってできませんか?
558:デフォルトの名無しさん
15/05/26 03:30:46.44 fbPfP2jD.net
あと、チェックボックス付のListViewで、1行選択の解除をやりたいんだけど、
ListViewHitTestInfoでクリックしたサブアイテムのindexを取る方法ってありますか
559:デフォルトの名無しさん
15/05/26 04:12:33.48 Ihaek877.net
>>539
MouseDownとMouseUpのイベントを発生させるといいかも
>>540
こんなのは?
private void listView1_MouseDown(object sender, MouseEventArgs e)
{
ListViewHitTestInfo info = listView1.HitTest(new Point(e.X, e.Y));
int row = info.Item.Index;
int col = info.Item.SubItems.IndexOf(info.SubItem);
label1.Text = "row = " + row + ", col = " + col;
}
560:デフォルトの名無しさん
15/05/27 21:58:33.29 XkW9VjQH.net
WebClientで作成したインスタンスって破棄しないと影響でかいですか?
数秒毎にループでインスタンス作成しては読み取る処理してるんですが、同期処理のせいか重いです。非同期処理はこれから実装を検討してるんですが。
561:デフォルトの名無しさん
15/05/27 22:21:23.93 ihueyhra.net
>>542
放置プレイで何の問題も起きてないが。
562:デフォルトの名無しさん
15/05/27 22:35:44.05 aznGlafD.net
数秒毎って、攻撃と思われないように気をつけろよ
563:デフォルトの名無しさん
15/05/27 22:40:12.30 1SVgoR5i.net
相談室でやってろよ阿呆君
564:デフォルトの名無しさん
15/05/27 22:53:17.63 ihueyhra.net
>>542
毎回disposeするとHTTP Keep Alive効かないか
565:デフォルトの名無しさん
15/05/29 14:16:08.87 SHzqDeqo.net
>>546
効くだろ。
566:デフォルトの名無しさん
15/05/29 19:10:07.05 d869LRaF.net
>>547
Disposeでコネクション切断されるだろ。
567:デフォルトの名無しさん
15/05/29 20:02:27.61 QF6UrsQ/.net
544のコンピューターでは切断されたんだろうな
568:デフォルトの名無しさん
15/05/29 20:48:57.06 kXESabcL.net
で、結局gc任せでいいの?
569:デフォルトの名無しさん
15/05/29 21:01:06.10 +zWW11JT.net
Disposeによって内部のコネクションプールに戻されるとかじゃねぇの?
Disposeはしといた方が良いと思う
570:デフォルトの名無しさん
15/05/29 21:34:23.34 1xJgnWA+.net
ソース読むとWebClientはただのファクトリーで
Disposeは何もやってないように見える
571:デフォルトの名無しさん
15/05/30 14:56:19.16 DRtbRWlm.net
IDisposeを解放しないバカは死ね
ただしasync/awaitは除く
572:デフォルトの名無しさん
15/05/30 17:06:27.61 UmMhJR2/.net
開放しないとどのような弊害が起きるんでしょう。
573:デフォルトの名無しさん
15/05/30 18:10:40.93 C+IOxaVu.net
設計上意図されないタイミングで開放するバカもいる
574:デフォルトの名無しさん
15/05/30 18:15:33.23 49aSQ4HZ.net
一般的なIDisposable実装ではファイナライザでリソース解放するようになっているのでパフォーマンスが低下する
575:デフォルトの名無しさん
15/05/30 18:28:02.76 2+UGB+5g.net
>>556
適当なこと言うなよ
576:デフォルトの名無しさん
15/05/30 18:55:49.49 y5cl7Y1T.net
ファイナライザを持つオブジェクトは2回GCしないと消えないので、
GCにかかる時間や頻度、そしてメモリ使用量を増加させる原因になる
Disposeが明示的に呼ばれた場合はSuppressFinalizeでファイナライザを無効化することが推奨されてるから
明示的にDisposすることで結果としてパフォーマンスの向上につながる
577:デフォルトの名無しさん
15/05/30 19:37:57.72 vFEdwQTI.net
IDisposable実装してるクラスは明示的にdisposeした方が良いのが多いが
コネクションプール使ってるヤツは物理的にクローズされてパフォーマンスが落ちるのでものによるな。
578:デフォルトの名無しさん
15/05/30 19:45:22.76 u87GwTIT.net
>>559
例えば?w
579:デフォルトの名無しさん
15/05/30 19:53:15.04 zOKa2SxY.net
常にConnectionと一体になってるような粒度のオブジェクトしか設計したことないんやろ
580:デフォルトの名無しさん
15/05/30 20:57:24.50 vFEdwQTI.net
>>560
SqlConnection クラスとか
581:デフォルトの名無しさん
15/05/30 20:58:45.95 d5Z165ny.net
Disposeしたのに繋がってたら嫌じゃね?
582:デフォルトの名無しさん
15/05/30 20:58:57.87 vFEdwQTI.net
>>561
どういう意味?
583:デフォルトの名無しさん
15/05/30 21:03:22.68 mQMhglYl.net
SqlConnectionは Dispose = プールに返却 だからDisposeは必須だぞ
使い終わりを検知する方法がないのにどうやって使い回してると思ってたんだ
584:デフォルトの名無しさん
15/05/30 21:26:23.97 zOKa2SxY.net
落ちもついたところで今日はお開き
585:デフォルトの名無しさん
15/05/30 21:43:46.63 d5Z165ny.net
おやすみ~
586:デフォルトの名無しさん
15/05/30 22:55:48.95 vFEdwQTI.net
>>565
コネクションクローズしとくだけで良いだろ。
どうせプロセスが終ればプロセス毎解放されるし。
587:デフォルトの名無しさん
15/05/30 23:13:09.23 nd5twrZx.net
>>558
>ファイナライザを持つオブジェクトは2回GCしないと消えない
その珍妙な説のソースは?
588:デフォルトの名無しさん
15/05/30 23:46:38.97 T/VeDaq5.net
>>569
「ソースはMSDN」くらい省略させてくれよ、常識だろ?
URLリンク(msdn.microsoft.com)
589:デフォルトの名無しさん
15/05/30 23:56:09.15 oQYe81Za.net
ソースが出せない人の常套句「ソースはMSDN」
もちろんリンク先にはソ書かれていない
590:デフォルトの名無しさん
15/05/31 00:36:38.12 9foGZIMb.net
MSDNって言われても初心者的にMSDNはわかりにくいんだよなぁ
591:デフォルトの名無しさん
15/05/31 00:55:02.32 QGRYrQik.net
参照型プロパティの初期化について質問です。
■実装方針
1.プロパティのnewは1度きりで、インスタンスは引き継ぐ。
(初期化しても引き継ぎたい値のコピーやnew処理コスト、コード量増加抑止を目的)
2.プロパティのInitializeは毎回実行。
3.Initializeの引数は�
592:Nラス毎に異なる。 ■実装例 http://ideone.com/nQJ6VZ ■質問内容 1.Initialize内部では例外が無い前提で実装するのは、多人数開発においてアリか。 2.Initializeの成否でなく、thisを戻り値にする設計は、多人数開発においてアリか。 3.「m1 =(m1 ?? new M1()).Initialize」の部分が定形的なので、もっと省略したり単純化する方法はあるか。 4.実装方針に問題点はあるか? 以上、部分的にでもご意見いただければと思います。
593:デフォルトの名無しさん
15/05/31 01:29:44.63 MabpreS8.net
>>573
何のために、このような回りくどいやり方をするのでしょうか?
594:デフォルトの名無しさん
15/05/31 02:01:48.74 rnPMXZrB.net
>Initializeは毎回実行
初期化を複数回呼び出すことがおかしい。
何でInitializeがコンストラクターと別なの?
595:デフォルトの名無しさん
15/05/31 06:45:17.54 EczZHdOg.net
>>569
ごめんなさいは?
596:デフォルトの名無しさん
15/05/31 07:03:44.63 EczZHdOg.net
>>573
1. 例外がスローされる可能性を排除しては「いけない」し、そもそも「できない」。多人数だろうが個人だろうが。
2.
インスタンスを返すこのようなメソッドは静的にしたくなる。
成否と言ってるけどそもそもInitializeは失敗するのか? 失敗したインスタンスはどうするのか?
Initializeという名前だけど、毎回実行なら初期化というより単に情報を与えているだけな気が。
3. そういうレベルじゃなくね? m1, m2は初期化前に触られたらどうなんの?
4. なんか筋が悪いコードに見える
597:デフォルトの名無しさん
15/05/31 07:13:17.54 crGWWGGX.net
コンストラクタで例外投げたくないという話なら分からないでもないが、
Initializeでも投げないとなると、初期化に失敗してる可能性をプロパティ使用時に考慮しなければならない
Initialize呼び忘れのリスクもあるし、ミスを非常に生みやすいクソ設計といえるね
598:デフォルトの名無しさん
15/05/31 08:24:58.82 HdJipRY3.net
ビルダーパターンとメソッドチェーンに妙な感化でもされたのか
599:デフォルトの名無しさん
15/05/31 08:26:31.55 E4eD717b.net
初期化がメソッドチェーンに含まれる設計がクソ
初期化はコンストラクターでやれ
600:570
15/05/31 13:31:30.99 QGRYrQik.net
皆さん、ご意見ご指摘ありがとうございます。
後出しになってすみませんが、まず質問時の補足をさせていただきます。
■状況
現在WPFを勉強中です。
もともと初期化を以下のイメージで実装していました。
これでは、インスタンスの作成とモデル毎に異なる初期化の判別が冗長だと感じたのが今回の質問のきっかけです。
m1 = m1 ?? new M1();
m1.Initialize(hoge,"foo");
m2 = m2 ?? new M2();
m3 = m3 ?? new M3();
if (m3.IsInitialize) {
m3.Reset(dst);
}
else
{
m3.Initialize(dst);
}
■考え方
質問時のコードは、次の考え方を含んでいました。
・コンストラクタでの初期化が適当でないモデルを想定。(継承、シリアル化、バインディング、非同期、他)
・初期化⊃リセットと考え、Initializeにリセットの意味合いを持たせる。
・処理の抽象化とコード量を短縮することを目的に、Initializeをメソッドチェーンにする。
・初期化(リセット)が失敗した場合、エラー度合(処理を進めるのか終了するのか)は、タイミングや他モデルの状態に依存し、
初期化時に例外スローはせずにプロパティ参照時にエラー度合をチェックすべき。
続きます。
601:デフォルトの名無しさん
15/05/31 13:34:53.01 QGRYrQik.net
>>581の続きです。
今回私の考え方に誤りがあることが分かり、勉強になりました。
■反省
ご指摘を受けて、次の是正が必要だと認識しました。
・コンストラクタでの初期化が適当でないものだけ、Initializeを作成する。
・初期化とリセットを混同せず、別々に定義する。
・初期化でのメソッドチェーンはやめる。
・初期化失敗時に例外を投げて問題ない、エラー度合を判断できるクラス設計にすべき。
■お願い
反省点を認識したものの、具体的な実装が浮かびません。
上記コードのようなさまざまな参照型プロパティの初期化が必要な場合、どう効率的に実装するかご提示いただけないでしょうか?
Initializeを作らないというアプローチでもかまいません。
抽象的なお願いとなりますが、ご助力ください。
602:デフォルトの名無しさん
15/05/31 15:14:08.09 HdJipRY3.net
このモデルは本当にコンストラクタでの初期化が適当でないんだろうか
603:デフォルトの名無しさん
15/05/31 22:23:16.53 GgyUUQ/3.net
C#を使うなら諦めろということだ。どうしてもいやならC++を使えばよい。
placement newがある
604:デフォルトの名無しさん
15/05/31 22:36:02.70 DItVGOoj.net
プロパティを普通に作って??は消せよ
605:デフォルトの名無しさん
15/06/01 13:53:32.03 ZLkEb6tw.net
一つのクラスに色々詰め込みすぎだろ
一緒に初期化できないなら別のクラスにするのが筋
例えば永続化層は単なるデータとして分離しろ
606:デフォルトの名無しさん
15/06/02 10:57:10.02 +73WPJDz.net
バックグラウンドで文字列の置換を行っているのですが
DoWorkの引数を複数にした場合の書き方が分からず困っております。
どうすれば正常に動くのか教えてください。
URLリンク(ideone.com)
607:デフォルトの名無しさん
15/06/02 11:50:01.20 3K9K5nvj.net
this.backgroundWorker1.RunWorkerAsync(new object[] { this.workerArgument, this.workerArgument2 });
↓
と引数を設定したんなら
↓
object[] obj = (object[])e.Argument;
string str = (string)obj[0];
string str2 = (string)obj[1];
じゃね?
しかしFormがBackgroundWorkerを公開しちゃってるしよろしくないね
BackgroundWorkerなんて投げ捨ててTask使おうぜTask
608:デフォルトの名無しさん
15/06/02 12:42:25.68 +73WPJDz.net
>>588
教えていただいたとおりにしたところ正常に動作しました。
難しそうですがTaskというものも調べてみようと思います。
どうもありがとうございました。
609:デフォルトの名無しさん
15/06/02 20:50:03.01 pCEddnCf.net
ソレでもいいけど、Tuple使うのが常套手段じゃね?
URLリンク(www.atmarkit.co.jp)
610:デフォルトの名無しさん
15/06/02 21:18:24.64 16XnEFNb.net
>>590
これってメソッドとかに渡す時、受け側はどう宣言するの?
611:デフォルトの名無しさん
15/06/02 21:29:11.90 Km0g2dva.net
asyncじゃあかんの?
612:デフォルトの名無しさん
15/06/02 23:36:06.84 Xy74cFV6.net
まだTupleとか言ってるバカがいるのか
タプルってのは var name, age = GetNameAndAge(); のようにして使うもんであり、
間違ってもitem1とかいう意味不明な名前でコードを暗号化するためのものではない
言語レベルでのサポートがない言語で使うべきではない
613:デフォルトの名無しさん
15/06/03 01:02:06.86 N6yD348L.net
dynamicはアカンの
614:デフォルトの名無しさん
15/06/03 04:04:12.25 +cwo1qGY.net
item1とか適当な名前でも問題ないぐらいの処理だからTuple使うわけで
ちゃんとした処理ならちゃんとしたクラス作るか匿名クラスかでやるわ
615:デフォルトの名無しさん
15/06/03 07:15:25.31 Wh0ON4xv.net
もう質問は解決してますよ
思想の話がしたければ電車に飛び込んだ後、地獄でゆっくりやれよクソカス
616:デフォルトの名無しさん
15/06/03 07:15:29.90 amqoRlyA.net
ほうほう
では匿名クラスを使ったサンプルとやらを見せて貰おうか
617:デフォルトの名無しさん
2015/0
618:6/03(水) 07:27:33.67 ID:Wh0ON4xv.net
619:デフォルトの名無しさん
15/06/03 07:40:18.45 QMuypoEX.net
TupleはF#のために追加されただけだよ
C#も言語レベルでサポートしてほしい派だけど、
Tuple.CreateやらItem1やらを喜んで使うのはセンスを疑うわ
620:デフォルトの名無しさん
15/06/03 07:42:09.25 u1dB80rd.net
ウンコはトイレでしてもらえますか?臭いですよ
621:デフォルトの名無しさん
15/06/03 17:26:40.68 o7sLDqXU.net
Tupleは内部の隠ぺいされた範囲内でテンポラリーとして仕方なく使うものじゃないの?
622:デフォルトの名無しさん
15/06/03 18:57:18.34 QadS+ygN.net
型と順序だけ決まっていればいいならTuple
メンバーに名前を付けたいならクラスを定義する
名前を付けたいけど取り出すコードが近くにあるテンポラリなら匿名オブジェクト
名前をつけたいけどクラスを定義するのがダルいならdynamic
タプル型は変数に名前が欲しいかどうかであって、チンポラリとか関係無い
623:デフォルトの名無しさん
15/06/03 21:16:51.33 90whoNkH.net
>>601
クラス内部で使うデータ構造としてお手軽便利に使っておりますが。
624:デフォルトの名無しさん
15/06/03 22:09:17.51 RjLZjXm6.net
IComparerとかIEqualityComparerを実装するのに class と struct のどっちがお勧め?
継承する必要がないなら struct の方がいいんじゃないかと思うんだが
625:デフォルトの名無しさん
15/06/03 22:15:57.39 tAqP6WbY.net
>>604
その問題設定そのものが変
626:デフォルトの名無しさん
15/06/03 22:17:10.12 QMuypoEX.net
本当にそれだけの条件しか考慮しないならclassだろう
CompareやEqualsの呼ばれる頻度が高いならstructはコピーで遅くなる可能性があるし
struct+interfaceはボックス化避けるためにジェネリック多用しなきゃいけなくて不便だし
特殊化でメモリも食う
627:デフォルトの名無しさん
15/06/04 01:05:37.04 hSX2tQGq.net
ソートメソッド内でIComparerを引数にするメソッドが呼ばれてるからコピーが発生しまくるってこと?
Array.Sortの実装見ただけだけど
628:デフォルトの名無しさん
15/06/04 01:17:57.75 nTFCM4h6.net
それだけの条件って言うけど
どういう条件下ならstructを選ぶの?
選ぶ理由が全くない気がする
継承云々は問題に聞こえないし(sealedしとけよ)
629:デフォルトの名無しさん
15/06/04 01:21:11.61 pwnhvS/Q.net
だから問題設定がそもそも変なんだってw
そうとしか言いようがない。
630:デフォルトの名無しさん
15/06/04 08:12:26.92 hSX2tQGq.net
structの方がインスタンス化が早いので
でもソートメソッド内でコピーが発生する実装になってたらデメリットになるなと
631:デフォルトの名無しさん
15/06/04 08:32:19.38 xuWz3vjX.net
何か達成したい目的があって、IComparerを実装するのはその手段だろ?
IComparerを実装するのにどっちがいいかとか意味不明すぎる
Q. 新しい礼服を買ったので週末着ていきたいです。どこに行けばいいですか?
A. 葬式
みたいな質問
632:デフォルトの名無しさん
15/06/04 08:46:15.14 bfstKBEm.net
話の内容が理解できないなら無理してレスしなくてもいいんだよ?
633:デフォルトの名無しさん
15/06/04 10:20:31.70 xy19AX+E.net
条件提示してんだからそれについて解答すりゃええやん
どういう条件に変わればこっちを選ぶとか蛇足もいいとこ
答えられないから自分の答えられる実装の方がいいとかも論外
634:デフォルトの名無しさん
15/06/04 10:36:35.29 SACPq2eU.net
御託並べていい気に浸ってんじゃねえよ無職ハゲが
635:デフォルトの名無しさん
15/06/04 11:09:16.46 xuWz3vjX.net
そもそも条件なんか提示されてないに等しいだろ
俺は>>606だが、インターフェイスを強調するからには使用頻度が高いのだろうとか
恐らくパフォーマンスを重視しているのだろうとか
多くの勝手な想像を基にした回答だ
こういう意味不明な質問はまず目的を訊くのが一番手っ取り早くて確実なんだよ
636:デフォルトの名無しさん
15/06/04 11:45:56.80 xy19AX+E.net
classとstructのどっちがいいかと聞かれたらclassと答えとけばいいんじゃないかね
理由
コピーにかかるパフォーマンスとか計算できるぐらいなら質問してこないと判断
637:デフォルトの名無しさん
15/06/04 12:13:28.56 03L4l+Cb.net
理由になってないな。
質問者の質問がトンチンカンなら答える方もトンチンカンときてる
638:デフォルトの名無しさん
15/06/04 12:16:51.46 6LXNtE4C.net
/j
/__/ ‘,
// ヽ ', 、
// ‘
/イ ', l ’ …わかった この話はやめよう
iヘヘ, l | ’
| nヘヘ _ | | l ハイ!! やめやめ
| l_| | | ゝ ̄`ヽ | |〈 ̄ノ
ゝソノノ `ー‐' l ! ¨/
n/7./7 ∧ j/ / iヽiヽn
|! |///7/:::ゝ r===オ | ! | |/~7
i~| | | ,' '/:::::::::::ゝ、 l_こ./ヾ.. nl l .||/
| | | | l {':j`i::::::::::::::::`ーr ' ||ー---{
| '" ̄ ̄iノ .l::::::::::::::::::::::∧ | ゝ ',
, 一 r‐‐l γ /、::::::::::::::::::::::::〉ー= ___ ヘ ヽ }
/ o |!:::::} / o` ー 、::::::::::::i o ,':::::::{`ヽ ヘ ノ
/ o ノ:::::∧ /ヽ o ヽ::::::::| o i::::::::ヽ、 / /
/ ノ::::::/ /::::::::ヽ o ヽ:::| o {::::::::::::::Υ /
639:デフォルトの名無しさん
15/06/04 13:00:46.81 +mmsYIdN.net
マンガ脳の恐怖、まで読んだ。
640:デフォルトの名無しさん
15/06/04 14:25:28.39 18shCTe3.net
お前らVSはいくつつかってる?オラは2010だべ
641:デフォルトの名無しさん
15/06/04 15:17:58.42 ualL+iXH.net
2013 Community
Gitも使えるんで
642:デフォルトの名無しさん
15/06/04 16:04:23.30 ziyE/dl1.net
2010個もVS使うのかー
643:デフォルトの名無しさん
15/06/04 16:42:30.85 9wvQs+dO.net
典型的コミュ障
644:デフォルトの名無しさん
15/06/04 17:18:29.15 d0k9FDEW.net
2013ExpressアンインストせずCommunity入れたら、テンポラリにゴミが徐々に溜まってく不具合にあって
きちんとインストールし直すのに大変だった。
645:デフォルトの名無しさん
15/06/05 00:09:26.15 TGIdieIs.net
インターフェースからのメソッド呼び出しの質問
structをキャストしたインターフェースからのメソッド呼び出しが、classをキャストしたインターフェースからのメソッド呼び出しより遅いのは何故?
structのキャストはボックス化なので遅いのは分かるけど、メソッド呼び出しも?
>>604だが、IComparerをstructで実装するとソートが遅いのは分かった
くだらん質問してすまんかった
URLリンク(ideone.com)
646:デフォルトの名無しさん
15/06/05 12:14:41.11 ArINQc3s.net
メソッドに隠し引数としてインスタンスが渡るときにアンボクシングが発生するからだろ
滅多に使わないから最適化も甘いんだろうな
structのときは代わりにジェネリックのwhere使うとボックス化を回避できるしメソッド呼び出しも速いよ
647:デフォルトの名無しさん
15/06/06 01:11:05.16 04NM/uA4.net
3つの値を保持できるコレクションクラスとか・・・ないですよね・・・?
KEY, val1, val2 みたいな・・・
648:デフォルトの名無しさん
15/06/06 04:49:06.42 F9D1Moux.net
Dictionary<TKey, TValue>のTValueを自前クラスもしくはTupleにするとか、KeyedCollection<T>を実装するとかいくらでも
KEYが特別な意味を持たないならList<T>でも
649:デフォルトの名無しさん
15/06/06 05:01:52.19 04NM/uA4.net
>>628
あーなるほど・・・
ありがとうございました
650:
651:デフォルトの名無しさん
15/06/06 11:55:17.80 DogIJv+Z.net
C#で作ったFormアプリの画面デザインが
そのままhtmlに変換できてWebページに
簡単に作り変えられるような方法やツールは無いですか?
今、初めてhtml書いてWebページ作っているんですが難しいので困っています。
C#のformなら簡単に作れるのでそれがそのままhtmlに変換できればいいのですが。
情報お待ちしています。
652:デフォルトの名無しさん
15/06/06 12:03:44.31 j3Nw075S.net
ホームページ作成ソフト使え
653:デフォルトの名無しさん
15/06/06 12:06:50.35 9TAyXKx2.net
なかなか(C#スレとしては)新機軸な質問だな
654:デフォルトの名無しさん
15/06/06 12:19:39.72 JRwr9maH.net
html手書きしてんの?
勉強になるから続けなさい
655:デフォルトの名無しさん
15/06/06 12:37:08.53 jpaAX+4P.net
WebアプリでHTML/CSS/JavaScriptは三種の神器ではないか。
HTMLが手書き出来ないとはプログラム業界も末世じゃのぅ。
656:デフォルトの名無しさん
15/06/06 12:58:01.30 tUGAzLyi.net
そこでWPFの出番!?
657:デフォルトの名無しさん
15/06/06 13:19:53.17 9TAyXKx2.net
お呼びじゃないのよカスWPF
658:デフォルトの名無しさん
15/06/06 18:29:11.73 G9GytojR.net
そろそろWPF出てから10年たつね
659:デフォルトの名無しさん
15/06/06 19:26:53.90 NFG7nQDY.net
WPFは頭良くないと使えないよな
660:デフォルトの名無しさん
15/06/06 19:31:30.44 jpaAX+4P.net
Windows/Web FromがExcelでWPF/HTMLがWordって感じだな。
Wordはバカには使えないw
661:デフォルトの名無しさん
15/06/06 19:42:24.55 zNSHofQv.net
>>639
普通逆だと思うけどw
662:デフォルトの名無しさん
15/06/06 19:42:40.89 NlzRnH5v.net
HTMLというかWeb MVCはWPFに比べりゃバカ向きだぞ
バインディングなんて複雑な概念がなく、コード書いてHTMLをテキストで吐き出すだけという低脳仕様
663:デフォルトの名無しさん
15/06/06 19:53:31.02 9TAyXKx2.net
頭が良かったら壊れたアーキテクチャなんか選びませんわ
664:デフォルトの名無しさん
15/06/06 20:16:44.33 jpaAX+4P.net
>>641
世の中、低脳ばかりだからWPFが流行らないと言いたいのか。
665:デフォルトの名無しさん
15/06/06 20:22:45.51 NlzRnH5v.net
>>643
WPFが流行らないのは単に学習コストを正当化できないからでしょ
業務アプリに高度なビジュアル表現なんて必要ないし、
バインディングを活用して作るような量産型画面はWebで十分な場合が多い
666:デフォルトの名無しさん
15/06/06 21:38:39.71 H1DMvpQ4.net
MSは本質的に違うもものを統合しようとして失敗する癖があるな。
シェル+ブラウザ
デスクトップアプリ+Webアプリ
デスクトップ用OS+タブレットOS
他にも有る?いっぱいあるはず。
667:デフォルトの名無しさん
15/06/06 21:44:11.22 eXSgfOqh.net
企業でwpfの採用が進まず全く普及していない
需要が皆無なので学習者も増えずますます普及が遠のく
こんな悪循環か
668:デフォルトの名無しさん
15/06/06 21:48:12.15 gPTqz+5d.net
>>644
MVVMガーとかもあるけど結局パフォーマンスでしょ。
全てを保持モード一本で押し切るやり方は現実的じゃないのに結局それを中の人が認められなかった。
669:デフォルトの名無しさん
15/06/06 21:59:05.28 F9D1Moux.net
wpfはフォントによって文字が滲むのがな…
670:デフォルトの名無しさん
15/06/06 22:40:15.43 2gM0oTMR.net
>>645
MSに限らんが、Webのモデルをデスクトップに持ち込んでくるようになって
いろいろ使いづらくなったよな。
671:デフォルトの名無しさん
15/06/06 23:05:39.13 jpaAX+4P.net
>>648
高DPI対応にするにはWPFが必要なのに文字が滲むとは?
672:デフォルトの名無しさん
15/06/06 23:21:52.95 9TAyXKx2.net
TextFormattingModeとかTextRenderingModeを指定してないんでは
あとはUseLayoutRoundingとか?
たかがテキストくらいデフォルトでベストなソリューション提供しろよ
間抜けかお前はって思うけど
673:デフォルトの名無しさん
15/06/07 00:01:26.36 41WPBkin.net
WPFが悪いわけではないが
96dpiの糞モニターでクリアタイプは目に良くない
WinFormの糞フォントが最適
674:デフォルトの名無しさん
15/06/07 00:33:29.83 3tKyuKE8.net
クリアタイプはGDI+の機能ですw
675:デフォルトの名無しさん
15/06/07 03:30:23.96 p+QzNCcW.net
wpf+net3.5で文字.や画像が滲んだのは遠い記憶
676:デフォルトの名無しさん
15/06/07 09:20:51.82 bLu9Dp3Q.net
ポストグレスに、データをインサートするため、
下記のようなコードを書いたのですが、
DataRowの"b"に該当する列にnullが出現すると、
「オブジェクトをDBNullから他のタイプにキャストすることはできません。」と
怒られてしまいます。
var com = new NpgsqlCommand(sqlStr, conn);
com.Parameters.Add(new NpgsqlParameter("a", DbType.String) { Value = row.Field<string>("a") });
↓オブジェクトをDBNullから他のタイプにキャストすることはできません。
com.Parameters.Add(new NpgsqlParameter("b", DbType.Double) { Value = Convert.ToDouble(row["b"]) });
どのようにすれば回避出来るでしょうか。
よろしくお願いします。
677:デフォルトの名無しさん
15/06/07 09:31:34.43 8NCQzbFC.net
不具合でも理不尽な仕様でもなく純粋にお前が間違ってるんだから回避という言い方はやめろ
row.Field<double?>(“b”)
678:デフォルトの名無しさん
15/06/07 09:34:38.34 XmKcFN/K.net
>>645
統合=シームレス=先進的!便利!普及!
みたいな思想が根底にあるんだと思うわ
違い(セキュリティの深刻度・UIのレベル)を完全に吸収できればそれもいいんだろうけど
中途半端に終わってるよな
679:デフォルトの名無しさん
15/06/07 14:29:09.63 bLu9Dp3Q.net
>>656
com.Parameters.Add(new NpgsqlParameter("b", DbType.Double?) { Value = row.Field<double>("b") });
という書き方は試していたのですが、DataRow側をキャストしてやらないと
意味が無いんですね。
よくよく考えると、なるほどと思うのですが、
ハマると何がおかしいのかも解らなくなり。
基本をしっかり勉強しようと思います。
ありがとうございます。
680:デフォルトの名無しさん
15/06/07 14:38:28.12 bLu9Dp3Q.net
Silverlightが終わった時点で、
WPFもバッサリ切り捨てて欲しいと思う今日この頃。
WEBアプリと共通化できない時点で、WPFの魅力は
8割くらい消えたと思う。
余計なプラットフォームを増産するくらいなら、
フォームアプリのUIをリッチに進化させてくれるだけで
十分なのになぁ。
681:デフォルトの名無しさん
15/06/07 15:47:59.15 NaIbOULp.net
フォームを切り捨てるべき
682:デフォルトの名無しさん
15/06/07 16:28:11.24 bLu9Dp3Q.net
>フォームを切り捨てるべき
1000件を超えるデータをDataGridに表示したとき、
スクロールが満足に出来なくて、
WPFに未来は無いと思ったけど、
やり方によって早くなるのアレ。
683:デフォルトの名無しさん
15/06/07 16:43:06.02 FHoyYiwS.net
そらそんなの重いに決まってる。仮想ビューにしとけよ
684:デフォルトの名無しさん
15/06/07 16:54:54.38 XmKcFN/K.net
ワロタ
685:デフォルトの名無しさん
15/06/07 17:32:42.45 LuDRIQ04.net
ジェネリックスで特定のインターフェイスを食わせると、
そいつのNullオブジェクトを作って返すメソッドて可能?
686:デフォルトの名無しさん
15/06/07 17:37:36.05 8NCQzbFC.net
Castle DynamicProxyでも使えば
687:デフォルトの名無しさん
15/06/07 17:43:25.91 LuDRIQ04.net
トン
ググってたらRealProxyってのが標準であるっぽいな、使い方調べてみるわ
688:デフォルトの名無しさん
15/06/07 17:52:51.05 LuDRIQ04.net
調べたが、結論から言うとだめだった
後出しですまんが、ポータブルクラスライブラリの中で使いたかったんだ
689:デフォルトの名無しさん
15/06/07 18:12:22.29 8NCQzbFC.net
>>667
ストアアプリ対応を視野に入れるなら動的コード生成は使えないと思う
T4かビルドステップで静的生成するしかないな
690:デフォルトの名無しさん
15/06/10 09:42:27.56 ygS+rXar.net
C#で自身を自動アップデートしたいのですがClickOnce以外で簡単な方法はないでしょうか?
Visual Studio 2013 Communityを使用しています。
691:デフォルトの名無しさん
15/06/10 20:09:37.98 mqs3U/0V.net
更新用のプロセスを起動して更新してもらったら 。
692:デフォルトの名無しさん
15/06/10 22:09:57.35 kk1whmrM.net
自身をリネームしてダウンロード、それを立ち上げたらリネームした古exeを削除でいけるってさ
でもこの方法だと互換性タブの内容とか初期化されそうだけど
693:デフォルトの名無しさん
15/06/10 23:42:51.42 PClQRuuG.net
前作った時は、更新チェック、更新するプログラムを先に起動させて
必要なら本体をダウンロード。なければ本体を実行
更新用のプログラムの更新が面倒だが、とりあえず放置したw
694:デフォルトの名無しさん
15/06/11 00:16:00.76 APPInatq.net
更新用のプログラムの更新は本体がする
695:デフォルトの名無しさん
15/06/11 00:32:40.92 Js1obKtO.net
マニフェスト適切に設定すればProgram Filesの中も書き換えられるんだっけ?
その辺クリアしても、適当にやるとインストーラーの自己修復機能が働いていろいろ
大惨事になりそうな気がw
696:デフォルトの名無しさん
15/06/11 04:32:28.69 /dmUwZL+.net
Blendに期待してやってみたが
なんだこれは
カラムの色を変えるだけでものすごく面倒
カラムの色を変えられると困るの?
普通変えたいだろ?
変えさせたくない理由でもあるのか?
ボタンが星形にできます?
なめんなよカス
誰がそんなのほしいんだよ
何が開発効率あがるだ
色変えられないならWinFormsと一緒だろうが
ふざけんな!
697:デフォルトの名無しさん
15/06/11 06:21:26.51 RSM2GHGx.net
>>674
アドバタイズショートカットを無効にしとけば問題なし。
マニフェスト設定うんぬんって何?
698:デフォルトの名無しさん
15/06/11 06:26:04.61 /LMhdntT.net
>>675
ビルマの星形死体が恵まれた痛みなの
699:デフォルトの名無しさん
15/06/11 12:57:44.67 8v336KOJ.net
>>675
まぁ単純なのだったらWinFormの方がはえーだろう
700:デフォルトの名無しさん
15/06/11 14:00:29.61 7IeLpwzz.net
// 構成
public interface IHoge { event EventHandler Foo; }
internal static class IHogeEx
{
public static void Dispatch(this IHoge hoge) { /*hoge.Foo発火*/ }
}
:
// 使用例
var hoge = provider.GetService<IHoge>();
hoge.Dispatch();
上記のように、IHoge に拡張メソッドを生やして、そこからイベントを発火させたいんだけど、
何かスマートなやり方ないだろうか
701:デフォルトの名無しさん
15/06/11 14:03:09.70 y/M+seZQ.net
MVVMフレームワークは何を使えば一番良いですか?
沢山あってどれを使っていいのかわからないので教えてください
702:デフォルトの名無しさん
15/06/11 14:30:38.84 tam4srza.net
>>679
インターフェイスに発火用のメソッドを追加しないなら、
ダウンキャストかdynamicで直接実装クラスの発火メソッドを呼ぶしかない
703:デフォルトの名無しさん
15/06/11 15:16:11.25 hKCw6BKi.net
スマートも糞もないよねえw
704:デフォルトの名無しさん
15/06/11 20:53:35.21 kfIByvae.net
string src =
705:"abc1"; string dst = "abc2"; この場合"abc"と返してくれる こんな感じで2つの文字列からマッチしたとこだけ 返してくれる関数って存在しますか?
706:デフォルトの名無しさん
15/06/11 21:02:35.81 Rh7nLCb0.net
「こんな感じ」なんて曖昧な要件に疑問を感じないならプログラマ辞めるべき
707:デフォルトの名無しさん
15/06/11 21:14:06.58 0Pxomqre.net
「マッチしたとこだけ」の仕様から詰めていこうか
まあ標準メソッドにはないだろうな
708:デフォルトの名無しさん
15/06/11 21:18:18.91 Ufbw3rnf.net
>>683
積集合でよければ、LINQのIntersect
string src = "abc1";
string dst = "abc2";
var results = src.Intersect(dst);
709:デフォルトの名無しさん
15/06/11 21:19:54.57 tam4srza.net
先頭からだけでいいなら
new string(src.Zip(dst, (x, y) => new[] { x, y }).TakeWhile(xy => xy[0] == xy[1]).Select(xy => x[0]).ToArray())
710:デフォルトの名無しさん
15/06/11 21:23:09.74 Ufbw3rnf.net
そうだよね
普通先頭からだよね
なにやってんだ、俺
711:デフォルトの名無しさん
15/06/11 21:45:19.58 kfIByvae.net
集合演算とかいうのを知らなかったこれ便利ですね
ありがとうございます
712:デフォルトの名無しさん
15/06/12 10:49:10.11 2WRpjnt2.net
684は順序依存だから集合演算というよりリスト演算やシーケンス演算と呼ぶべきだろ
713:デフォルトの名無しさん
15/06/12 16:07:40.50 qBpXFxOz.net
HDD内のすべてのファイル情報を保存したい
どういう形式で保存すればいいの?
新しく作ったプロジェクトからも簡単に読めるような
汎用的なのがあったら教えて
714:デフォルトの名無しさん
15/06/12 16:18:10.66 quZXc/6x.net
VHDにしてマウントすれば最強だろ
715:デフォルトの名無しさん
15/06/12 16:20:08.31 tFsYlsAo.net
>>691
情報なわけだろ?
MongoDBとかSQLite、テキスト的なものならJSONとか色々あるべさ。
716:デフォルトの名無しさん
15/06/12 16:29:40.61 quZXc/6x.net
渾身のギャグ空振り
717:デフォルトの名無しさん
15/06/12 22:44:32.47 lGbqaeoG.net
1つメソッドがあったとします。例 test(int A,int B)
このメソッドは割と多くの場所で呼んでいるのですが、引数を追加したくなりました。
test(int A,int B,string C)
参照を検索して1つ1つ手直しすると結構時間がかかってげんなりするのですが、
例えばCに一番多く使う単語"tarou"をメソッドの修正と一緒にすべての参照元にも追加できたら助かるのですが、
そういったまとめて修正するような方法ってないでしょうか?
718:デフォルトの名無しさん
15/06/12 22:50:30.69 dm5ygxXA.net
正規表現置換で全く問題なく置換できる気がする
719:デフォルトの名無しさん
15/06/12 22:53:12.22 lGbqaeoG.net
なるほど
そういう機能みたいなのはないですよね
正規表現で置換が一般的なのかな
正規表現で置換してみます
ありがとう
720:デフォルトの名無しさん
15/06/12 23:00:46.72 PfZlC01y.net
オーバーロードしたら?
アセンブリ内限定のメンバならオプション引数もアリ
721:デフォルトの名無しさん
15/06/12 23:01:53.04 Kc7Sj0Rn.net
正規表現がカンペキとな。
どれだけ693は頭が悪いんだ。
ところで692は釣り質問でいいんだよな?
722:デフォルトの名無しさん
15/06/12 23:03:55.51 lGbqaeoG.net
釣りじゃなくて割と真面目に困ってますよー
ぱっと調べてもまとめて修正するような方法見当たらなかったので、皆参照一覧にして手打ちしてるのかなと・・・
正規表現だと真ん中に追加するのが大変そうでした
723:デフォルトの名無しさん
15/06/12 23:10:45.98 lGbqaeoG.net
>>698
違う内容のメソッドを書きたいわけではなく、(引数が異なるほぼ空のメソッドでもう片方を呼べということだとは思うのですが)
追加修正のたびにオーバーロードを増やすのもちょっと抵抗あるので、オーバーロードは避けたいかもしれません
オプション引数というのはよく知らんかったので
724:調べてみたら希望に合いそうなものでしたが、途中だけ省略するのは出来ないっぽいんですね もう少し調べてみます ありがとう
725:デフォルトの名無しさん
15/06/12 23:14:10.93 5TqWIrUh.net
オプション引数なんかよりよっぽどいいのに何が抵抗なんだろうな
726:デフォルトの名無しさん
15/06/12 23:19:45.78 lGbqaeoG.net
>>702
引数の修正の度に同じメソッドが大量にできたら分かり辛くありませんか?
修正の度に5個も6個もオーバーロード作って重ねていくのが一般的なのです?
727:デフォルトの名無しさん
15/06/12 23:20:59.14 n696dST6.net
メソッド増やしたくないならオプション引数でOK
いざとなったら名前付き引数もできるし
面倒だからあんまり使わないけど
728:デフォルトの名無しさん
15/06/12 23:29:40.51 GYWzfYC0.net
素直に引数を直した方がいいと思うがな。
729:デフォルトの名無しさん
15/06/12 23:32:47.43 5TqWIrUh.net
>>703
オプション引数出来たの4.0だからそれまでのものはそうだよ
あとはコンパイル時に補完される為外部に公開する場合後で変更できなくなって困る事、定数しか指定できない事から、基本的にオーバーロード使ってる
引数の組み合わせが膨大になるならオプション引数使うかな
730:デフォルトの名無しさん
15/06/13 04:19:23.11 ds8D2Sdy.net
引数が5回も6回も変更されて、そのたびに呼び出し元も全部修正するとか
そんな奴が設計するようなプロジェクトには関わりあいたくないなぁ
731:デフォルトの名無しさん
15/06/13 06:06:42.74 KSn5zbP7.net
>>707
ここふらっとスレですし
皆が皆、プロジェクトwとかに関わってるドカタじゃないわけで
732:デフォルトの名無しさん
15/06/13 08:00:57.79 KmHyJDy9.net
ドカタを馬鹿にしたな
埋めたろか
733:デフォルトの名無しさん
15/06/13 08:16:10.09 CvpFt6eB.net
ドカタが馬鹿にされるんじゃない
馬鹿だからドカタと呼ばれるんだ
734:デフォルトの名無しさん
15/06/13 10:25:20.60 54ObALVU.net
引数がお互いに関連の強いものだったら
クラスにまとめてそのオブジェクトで渡すようにしておけばいいし
735:デフォルトの名無しさん
15/06/13 11:47:39.05 xsEqCEFL.net
総務部長からドカタになったサラリーマンもいますけどなにか
736:デフォルトの名無しさん
15/06/13 12:02:19.55 LG1+98Ox.net
オブジェクトで渡します!
その結果↓
Show(new ShowArg("タイトル","内容",3,5,Beep.Short,Color.Red,640,480,5,5,5,5));
737:デフォルトの名無しさん
15/06/13 12:06:21.98 Rkh+1gQ3.net
>>712
総務って一番無能やん
738:デフォルトの名無しさん
15/06/13 12:18:07.18 KSn5zbP7.net
>>713
コンストラクタにもクラスでまとめてオブジェクトで渡すんだよ
739:デフォルトの名無しさん
15/06/13 14:58:17.94 ds8D2Sdy.net
>>715
そのコンストラクタに渡すオブジェクトのコンストラクタにもクラスでまとめて渡すわけですね
740:デフォルトの名無しさん
15/06/13 15:06:40.87 AmgidL1k.net
誰かゾフィー呼んでこい
741:デフォルトの名無しさん
15/06/16 01:47:38.73 jDZvQ/PE.net
.NET4.5で追加されたHttpClientを使って、何を通信しようとしても通信せずに
HelloWorldだけ返すダミークライアントを作りたい
HttpClientのコンストラクタに空っぽのHttpResponseMessageを返す
ダミーのHttpMessageHandlerを食わせてリクエスト投げると
全く応答が帰ってこなくなるんだが、どう修正すればいいんだろう
742:デフォルトの名無しさん
15/06/16 03:46:48.21 IOmyN/sL.net
>>717
私は命を2つ持ってきた
743:デフォルトの名無しさん
15/06/16 13:03:42.49 tzCZhzEY.net
>>718
自己レス。
なんか原因はっきりしないけど、TaskCompletionSource<HttpResponseMessage>使わずに
Task<HttpResponseMessage>使ってて、何らかの要因でデッドロック起こしてたのが原因ぽい。
TaskCompletionSource<HttpResponseMessage>使ったらうまいことHttpClientをジャックすることができたぽい
744:デフォルトの名無しさん
15/06/16 22:05:41.35 P66hsbhM.net
MVCで、コントローラ側での処理の正否を
ビュー側でメッセージ出力するため、
苦し紛れにViewBagをフラグ代わりに使ったのですが、
アンチパターンをしている気がしてなりません。
もっと王道的なやり方はあるでしょうか?
@if(ViewBag.Flag){
<script type="text/javascript">
$(function () {
メッセージ出力処理
};
});
</script>
}
よろしくお願いします。
745:デフォルトの名無しさん
15/06/16 22:22:55.39 y+ZRno0+.net
>>721
flash messageってやつだな
リダイレクトを挟む場合が多いからそのままビューに返すんじゃなくてCookieに突っ込め
746:デフォルトの名無しさん
15/06/17 07:12:44.06 /9CY7bHI.net
>Cookieに突っ込め
HTTPの仕組みぐらい理解しろ
747:デフォルトの名無しさん
15/06/17 07:19:59.36 F0xlXNRF.net
>>723
一時的なメッセージにcookieを使うのは普通にあるぞ
もしくはセッション使う
748:デフォルトの名無しさん
15/06/17 07:29:54.96 83TxfKRo.net
そもそもHTTPの仕組みと何の関係が
749:デフォルトの名無しさん
15/06/17 16:14:47.37 yetVKz/D.net
こんな簡単なのでうまいこと非同期で動くのか?
URLリンク(qa.atmarkit.co.jp)
750:デフォルトの名無しさん
15/06/18 01:52:24.13 8P85rytq.net
プログラミング始めようと練習問題やってて
これは難解な問題だぞ・・・と複雑に作っちゃって悩みまくってやっとできたと思って答えみたらクソ単純だったこの怒りをどうすればいいですか
751:デフォルトの名無しさん
15/06/18 06:01:23.61 Zk4Vy/pu.net
ネンネしな
752:デフォルトの名無しさん
15/06/18 06:31:34.35 luyYzeTf.net
>>727
そこでこんなに簡素化できるんだと喜べないなら向いてない
753:デフォルトの名無しさん
15/06/18 06:44:55.44 /ecUlEFr.net
tooltipの最大横幅設定ってないの?
わからなかったから、TTM_GETMAXTIPWIDTH送ろうと思ってHWND取得しようとしたら公開されてないみたいだし
754:デフォルトの名無しさん
15/06/18 07:52:23.63 MLPf1LVb.net
Handleプロパティがinternalなんでリフレクションで取得だな
755:デフォルトの名無しさん
15/06/18 08:06:44.22 SQas+mXZ.net
>>730
試す気ないけど行けそうな気がする
URLリンク(msdn.microsoft.com)(v=vs.110).aspx
ToolTipSizeプロパティ
756:デフォルトの名無しさん
15/06/18 08:29:08.45 /ecUlEFr.net
>732
Popupでリサイズすると表示位置も変更しなきゃならないみたい
コントロールのMouseEnterで、tooltipのShowメゾットを実行して、位置指定で表示できたんだけど、
ShowAlwaysをtrueにしてても、アクティブウインドウにしてないとtooltipを表示してくれない・・・
MouseEnterはアクティブでなくても動くんだけど、Showメゾットは動いてくれない?
ShowAlwaysはSetToolTipで関連付けた時だけ有効なのかな?
>731
MFCの6.0しか触ったことない超初心者なので、まったく意味不明な単語なんだけど、
ググッて調べてみます
757:デフォルトの名無しさん
15/06/18 08:48:48.18 SQas+mXZ.net
なかなか難儀なものだ
758:デフォルトの名無しさん
15/06/18 09:00:12.23 MLPf1LVb.net
ここらのコードみれば何やってるか分かるから
URLリンク(referencesource.microsoft.com)
リフレクションで取得なら
var hwnd = (IntPtr)typeof( ToolTip ).GetProperty( "Handle", BindingFlags.NonPublic | BindingFlags.Instance ).GetValue( toolTip, null );
759:デフォルトの名無しさん
15/06/19 02:26:32.06 e7ddVa/R.net
760:C#では、このような事は出来ないのでしょうか? if (mode == 1) { System.Windows.Forms.Button[] objs; objs = new System.Windows.Forms.Button[len]; } else { System.Windows.Forms.TextBox[] objs; objs = new System.Windows.Forms.TextBox[len]; }
761:デフォルトの名無しさん
15/06/19 03:15:04.92 TkbfpMuS.net
できますよ。
762:デフォルトの名無しさん
15/06/19 07:50:23.16 e7ddVa/R.net
>>737
objsを使おうとすると、エラーになります。
やはり、c#ではこういった動的な割り当ては無理のようですね・・・
763:デフォルトの名無しさん
15/06/19 08:05:01.44 CxQBllDu.net
プログラミング向いてなさすぎて草
764:デフォルトの名無しさん
15/06/19 08:21:34.61 YVDfker6.net
順序立てで物事を進められない人間は何にも向いてない
765:デフォルトの名無しさん
15/06/19 09:01:27.03 yHcBqTMw.net
出来ない事を出来ると言い張るよりはマシでしょうけどね。
その程度ならc#知らない偽物でも出来ますから。
766:デフォルトの名無しさん
15/06/19 09:05:32.96 PbyfPj3O.net
>>741
煽って回答を引き出そうとする古典的手法ですね
767:デフォルトの名無しさん
15/06/19 09:06:00.47 w3qLtTPG.net
おいおい真性か?
…外に出さないからこうなるんですよ
避妊の話ですよ、もちろん
教育にコストが掛けられない家庭が子供を産むから
馬鹿の再生産が止まらないんですね
768:デフォルトの名無しさん
15/06/19 09:16:06.74 Rpgf6TLH.net
そうだな外に出すべきだったな。
スコープってプログラミング入門だとどの辺に来るかな。
変数ステートメント制御構造ブロックの次くらいか。
769:デフォルトの名無しさん
15/06/19 13:30:34.71 OM/mL1R2.net
Console.WriteLine("{0}unko{1}oshikko", oshiri, tinko);
こうだったり
Console.WriteLine(oshiri + "unko" + tinko + "oshikko");
こんなだったり解説サイトにとって違いますけどどっちが一般的とかあるんですか?
好みの問題?
770:デフォルトの名無しさん
15/06/19 13:55:39.70 pkAyx7dR.net
どっちでもいい
現実には書式指定が必要で前者しか使えないケースが多いから、統一するために常に前者を使う人もいるし
後者で十分なのに重い処理が走るのが気持ち悪いからとか分かりやすいからとかで後者が好きな人もいる
771:デフォルトの名無しさん
15/06/19 13:56:50.97 iLnBptiu.net
文字列の中に {0} とか入ってない前提?
772:デフォルトの名無しさん
15/06/19 15:17:35.89 0hBKkSHT.net
① if(flag == 1)
② if(1 == flag)
どっちがいいとかありますか?
773:デフォルトの名無しさん
15/06/19 15:26:10.71 CxQBllDu.net
①がいい
774:デフォルトの名無しさん
15/06/19 15:46:44.67 a3/nS/y/.net
俺は1だが、=が足りなくてバグることあるからとかで2にしろってとこもあんな
775:デフォルトの名無しさん
15/06/19 15:48:59.15 iLnBptiu.net
=が足りなくてって、、C#だぞ、、、
読んで自然な方で
776:デフォルトの名無しさん
15/06/19 15:57:58.99 Kz33B61u.net
>>748
①一択ですね。
777:デフォルトの名無しさん
15/06/19 16:08:36.21 UZ90C/fG.net
flagならbool型にしろ
bool型にできないならflagなんて名前つけるな
って言うところじゃないの?
778:デフォルトの名無しさん
15/06/19 17:55:12.81 aR5XXTpt.net
②はCやる人が良くやるけどC#では用無しだよ、警告ですらない
この文は型不一致エラーだから
779:デフォルトの名無しさん
15/06/19 17:59:21.88 e+GzY/Uc.net
『1==flag』
この書き方をする低能は自分が今までやってきたこと以外は受け入れ不能だなら
用無しなどと言っても無駄。
「ボクは今までこうしてきた」
これが低能の全て
780:デフォルトの名無しさん
15/06/19 18:01:04.33 7lvdbQLv.net
俺のflagは108式まであるで
781:デフォルトの名無しさん
15/06/19 18:03:16.40 bQ8ksHOB.net
>>748
俺だっら
bool isE
782:qual_Ichi(int Flag) っていう関数作るわ。
783:デフォルトの名無しさん
15/06/19 18:19:49.79 r/i/iowz.net
>>755
自分で自分のことを書いてることに気付きもしないあんたもどうかと思うけどねw
784:デフォルトの名無しさん
15/06/19 18:40:00.84 iLnBptiu.net
>>756
国コード入れて国旗の種類で使うとかねw
785:デフォルトの名無しさん
15/06/19 19:08:38.00 0hBKkSHT.net
Cやってきた人が②の書き方をしています
②でも動くじゃないですか、何でダメなんですか
と言う相手を説得して①にさせるには、どういう論法で言えばいいですか?
786:デフォルトの名無しさん
15/06/19 19:27:58.72 AG39fnfm.net
わずかでも合理性がある限り説得は無意味
ルールで強制させるのみ
787:デフォルトの名無しさん
15/06/19 19:28:02.10 pnFSsBPf.net
別に2でもよくね。理由があれば。
まあ、2の場面思い浮かばんけど。