1 名前:デフォルトの名無しさん mailto:sage [2009/08/28(金) 14:57:21 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part43 pc12.2ch.net/test/read.cgi/tech/1248573707/
563 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:24:33 ] ループを一つ重ねるだけだと思うけど? // 拡張メソッドならExceptがあるけど、比較にラムダ式使えないのは面倒だなー
564 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:26:01 ] >>562 質問とは直接関係ないがStringBuilder使え。 んで、ループをforeachやめてforの2重ネストループにしろ
565 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:27:34 ] もちろんforeachのがわかりやすいならそれの2重ループでも構わん
566 名前:デフォルトの名無しさん [2009/09/08(火) 00:29:25 ] DxLib3.0誕生
567 名前:デフォルトの名無しさん [2009/09/08(火) 00:32:12 ] >>560 見てみましたが3Dに特化した話でした
568 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:36:55 ] >>566 むしろ今までDX7だったことに驚いた。 >>562 もしコードみてわからんかったらもっかい聞け。 string[] menuitems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"}; System.Text.StringBuilder favoritemenu = new System.Text.StringBuilder(); foreach(string item in menuitems) { foreach (string dislikeitem in dislikeitems) { if (!item.Contains(dislikeitem) && !favoritemenu.Contains(item)) { favoritemenu.Append(item + "\r\n") } } } }
569 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 00:46:38 ] こういうスレだと 長い変数って読むの面倒くさくなるけど じっさいのコーディングだと普通に長い名前つけるよね
570 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 01:00:39 ] 面倒だからとても短い変数名にしてしまう
571 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 01:03:34 ] 読むのが面倒になるほど長い変数名って、可読性落ちて本末転倒じゃね? 変数名が長くなるのって、関数の粒度が大きすぎる時に起きやすい気がする。 適切に分割して関数にちゃんと名前つけてれば、長い変数名使わなくても十分分かりやすいと思う。
572 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 01:11:18 ] ある程度変数長ければ MenuItemsとかにした方が多少自分の命名ルール破っても読みやすい気がする
573 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 02:27:56 ] >>564 、565 配列と配列なので、 foreach(string item in menuitems) { foreach(string dislikeitem in dislikeitems) { のように重ねて書けばよいのかと思ったのですが、 それだと、 あんまん-にがうりの組み合わせであんまんがヒットしてしまいます。 (とりあえずforeachで実装。) >>568 ゴーヤいり卵焼きがヒットします。 あとStringBuilderにはContainsがないそうで、uniqは別途処理する必要があるみたいです(それはできます)。
574 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 02:54:09 ] いきなりコード書くよりまず手順を日本語で書いてみるのを勧めてみる 1.メニューの一つ目を手に取る。itemとする。 2.嫌いなメニューの一つ目を手に取る。dislikeとする。 3.dislikeがitemに含まれているか確認する。 含まれていなければ次の嫌いなメニューの確認。 含まれていれば、このitemは無視する。以降の嫌いなメニューの確認は不要。次のメニューへ。 4.全ての嫌いなメニューに含まれていないことが確認できたら、そのitemを出力する。 次のメニューへ。 さあこのままコード化。 3で含まれていた場合に次のメニューに飛ぶのがちょいと単純ではないけどな。
575 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 03:13:56 ] C#のHashtableをRubyみたいに簡単に保存ファイルにする方法ってありませんか?
576 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 03:15:19 ] 質問と一切関係ないが話の流れ的に >>562 にはぜひキャメルケースとか憶えてほしい。
577 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 03:46:44 ] string[] menuitems = { "肉まん", "あんまん", "ピザまん", "茄子", "ゴーヤいり卵焼き" }; string[] dislikeitems = { "にがうり", "ゴーヤ", "あんまん" }; IEnumerable<string> diffSet = menuitems.Except(dislikeitems); string favoritemenu = string.Join("\r\n", diffSet.ToArray()); MessageBox.Show(favoritemenu); 上で出てるけど、LINQ使っていいならExceptで簡単に差集合作れる。 あとはToArrayで配列にして、Joinで結合するだけ。
578 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 07:02:56 ] HashtableってSerializableAttributeついてるからBinaryFormatter使えんじゃないの 試してないけど
579 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 08:36:23 ] >>567 3D上の板として2Dを描画するのが最近では普通になってるんだよ
580 名前:デフォルトの名無しさん [2009/09/08(火) 09:35:06 ] >>589 いや3Dの中でも縦回転以外の回転とかメッシュとか固定小数点化での高速化とか、ほんとうに3Dのためのトピックばかりで・・・ homepage2.nifty.com/tsugu/sotuken/rotation/ ここのサンプルでなんとか自作できそうです。 あとはLockBitでさらに高速化できるかな・・・という感じです。
581 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 09:43:38 ] SetPixelやGetPixelは試すだけ無駄 高速化というよりLockBits使わないと使い物にならない
582 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 10:59:52 ] ref DataRow を受け取るメソッドがあって、そこに型付DataSetのDataTableのrowを 渡したいのですが、どうやってCastすればいいんでしょうか? UserDataSet.TESTTBLRow r = UserDataSet.TESTTBL.NewTESTTBLRow(); foo(ref r); --- private void foo( ref DataRow r ) foo()の中でDataRowの中身を変更しています
583 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:02:53 ] refなんかいらん 値型と参照型について勉強しなさい
584 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:05:51 ] >>578 ありがとうございます試してみます
585 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:11:56 ] >>577 それだとゴーヤ入り卵焼きが食卓に並んじゃう!
586 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:24:37 ] ゴーヤ入り卵焼きからゴーヤを皿の脇によけて食べればいいじゃない
587 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:43:17 ] >>583 ありがとうございます。refを削除してブイルドは通るようになりました。 ただ、次のようなコードを書いたときに、 ---呼び出し元 foo( UserDataSet.TESTTBLRow r ); int a = r.HOGEHOGE; ← ここでエラー --呼び出され元 private void foo( UserDataSet.TESTTBLRow row ) { row = UserDataSet.TESTTBL.FindByPKEY("xxxx"); // (1) return; } FindByをした直後に row を見ると、個々のColumnには確かに値が入っているんですが、 その後r.HOGEHOGEを見るとDBNullに成っているようなのです。 (1)のところでイコール式で代入しているのが駄目なんでしょうか?
588 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:47:35 ] いいから黙って値型と参照型について調べてこい なぜ駄目か理解しないと意味がない
589 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 11:53:06 ] 参照型だと代入演算子で代入されるのはポインタとうい認識なのですが。 つまり 1) FindBy〜 でメモリ上のどこかにオブジェクトが作られて、オブジェクトへのポインタが返る 2) (1) のところで row = 〜〜 としているので、この時点では row は FindBy〜が作った オブジェクトの領域を指している 3) 参照型なので、foo() の引数でやり取りされるのはポインタ。つまり r はFindBy〜で確保 されたオブジェクトの領域を指している と言う感じで、r は FindBy〜で確保された場所をそのまま指しているのでは???
590 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:03:06 ] ポインタはポインタ 参照型は参照型 そもそも何かを返したいなら返値で返せばよい
591 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:09:27 ] >>590 答えになってないw
592 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:26:27 ] var x = new Hoge(); // Hogeの実体を作り,紙xにその住所を書く foo(x); // 紙xに記されている住所を新しい紙yに書き写してfooに渡す Console.WriteLine(x.Value);//100が出力される void foo(Hoge y) { //この時点でxとyは別の紙だが書かれている住所は同じ y.Value = 100; // yに記されている住所をもとにHogeの実体を探し,Valueプロパティに100を代入する y = new Hoge(); // yに書かれている住所を消しゴムで消して新しく作られたHogeの実体の住所を書く y.Value = 200; // 初めに作られたHogeには影響しない } 説明するのは難しいなあ
593 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 12:33:57 ] >>587 その例で言うとですね、変数rと変数rowには同じobjを指し示すアドレスが入っています。 だからrow.XXXXX を変更すると r.XXXXX も同じように変更される(ように見える)のは貴方が 認識しているとおりです。 ただし、変数rの実体と変数rowの実体は別物です。ここに注意しましょう。 だから変数rowそのものの値を書き換えてしまうと、もはや「rowが示す先のobj」と「rが示す先 のobj」は別物になってしまうんです。 あくまで、「rowが示す先のobjの内容をrが示す先のobjに代入」しなければいけません。 で、そういう場合のために通常Copy()メソッドが用意されていたりするんですが、もし無ければ 自分で全要素コピーする必要があります。ディープコピーとかで調べてみて下さい。
594 名前:デフォルトの名無しさん [2009/09/08(火) 12:52:49 ] >>581 まじすか! ありがとうございます。
595 名前:デフォルトの名無しさん [2009/09/08(火) 15:04:47 ] BeginInvoke, EndInvokeを用いたスレッドからの例外について質問です。 以下のプログラムにて、BeginInvokeによって呼び出されるDoWork内の例外を、メインスレッドで キャッチしてやるにはどうしたらいいのでしょうか? Main()内のEndXXX呼び出しでキャッチ出来ると思っていたのですが、どうやら駄目なようです。 改行が多すぎると怒られたので、プログラムは次のレスに貼ります。
596 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:07:08 ] static IAsyncResult BeginXXX(AsyncCallback cb){ Action f = DoWork; return f.BeginInvoke(cb, null); } static void EndXXX(IAsyncResult ar){ AsyncResult res = (AsyncResult)ar; Action del = (Action)res.AsyncDelegate; del.EndInvoke(ar); } static void DoWork(){ throw new System.Exception("例外っす"); } static void Main(string[] args){ AsyncCallback cb = (ar) =>{ try{ EndXXX(ar); } catch (Exception ex){ Console.Write(ex.Message); } }; BeginXXX(cb); Console.ReadKey(); }
597 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:29:04 ] 何故メインスレッドでcatchしなければならないのか
598 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 15:34:22 ] コールバックではなく、メインスレッドでEndXXXを呼び出せばいい
599 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 16:22:36 ] >>574 できました。 これを見る前に、自分で考えたので、一日かかっちゃいました。 すこしロジックが違いますが、これで動くようです。 ありがとうございました。 string[] dislikeitems = {"にがうり","ゴーヤ","あんまん"}; string[] menuitems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"}; string favoritemenu = ""; bool favorite; foreach(string item in menuitems) { favorite = false; foreach(string dislikeitem in dislikeitems) { if (item.Contains(dislikeitem)) favorite = true; } if (favorite == false && !favoritemenu.Contains(item)) favoritemenu = favoritemenu + item + "\r\n"; } MessageBox.Show(favoritemenu); >>576 キャメルケース? 調べてみます。 >>577 LINQは、まだ使ったことがないので、これを機会に勉強します。 ありがとうございました。 …あ。でもこれって、ゴーヤいり卵焼きも入っちゃいますよ。 と、585さんもおっしゃってました…。 >>586 そうか、その手があるか。って、そうじゃなくって。 LINQでゴーヤいり卵焼きをのぞく方法も教えてください。
600 名前:595 mailto:sage [2009/09/08(火) 16:26:42 ] 失礼しました、デバッグ環境だとcatchしてもコードは停止するのですね…。 ちゃんとメインスレッドでcatchしてるようです。
601 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 19:07:08 ] してねーだろw 何が起こってるか理解しろよ。
602 名前:577 mailto:sage [2009/09/08(火) 19:16:34 ] >>599 ゴーヤを外すなんてけしからん!真夏には必須だ! string[] menuitems = { "肉まん", "あんまん", "ピザまん", "茄子", "ゴーヤいり卵焼き" }; string[] dislikeitems = { "にがうり", "ゴーヤ", "あんまん" }; var diffSet = from x in menuitems where dislikeitems.All((y) => !x.Contains(y)) select x; string favoritemenu = string.Join("\r\n", diffSet.ToArray()); MessageBox.Show(favoritemenu);
603 名前:デフォルトの名無しさん [2009/09/08(火) 19:32:01 ] InfoPath2007とC#の組み合わせで開発をしています。 入力した文字列をSQLのWhere句に入れて、 取得された結果を動的にドロップダウンリストに入れたいのですが、 テキストボックスには結果が返ってくるのですが、 ドロップダウンリストは変化がありません while (myReader.Read()) { this.MainDataSource.CreateNavigator().SelectSingleNode("/my:travelRequest/my:d取引先名", NamespaceManager).SetValue(myReader.GetString(0)); ←こっちがドロップダウン this.MainDataSource.CreateNavigator().SelectSingleNode("/my:travelRequest/my:d取引先_担当者", NamespaceManager).SetValue(myReader.GetString(1) + " / " + myReader.GetString(2)); ←こっちがテキストボックス、結果返ってくる } すみません、どなたか教えてください。
604 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 19:54:51 ] >>601 どういう意味で?
605 名前:デフォルトの名無しさん [2009/09/08(火) 20:01:19 ] なんで トライ、キャッチなんだよ。 エラーとサクセスみたいなのでいいだろうが。
606 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:02:41 ] >>601 msdn.microsoft.com/ja-jp/library/d14azbfh.aspx この話でしょ。
607 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:03:18 ] は?
608 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:05:01 ] >>605 ダサい。
609 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:24:20 ] エラー投げるんだからキャッチで良いんじゃない。
610 名前:601 mailto:sage [2009/09/08(火) 20:24:48 ] 言葉足らずだったかな。 >ちゃんとメインスレッドでcatchしてるようです。 ここに対して言った。
611 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:27:01 ] VS2005、C#なんですが pictureBoxの画像をマウスドラッグでgoogleMapのように滑らかにスクロールさせる方法ってありますか? またはこのような実装を行う方法ってありますか?
612 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:27:01 ] >>596 >Action f = DoWork; >return f.BeginInvoke(cb, null); へえ、こんな風にかけるんか
613 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:29:58 ] >>612 俺もC#勉強中でこの書き方は初めて見た。 一般的にはどうかくんだろう。誰か教えて。
614 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:39:00 ] >>613 マルチスレッドのやり方は幾つかあるし正着ってのはないんじゃないかな。 デリゲートに包むってのはそのうちの一つに過ぎないわけで。
615 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:40:25 ] >>613 非同期デリゲートでググれ ちなみに、silverlightではサポートされてないので、 コンパイルエラーにはならないが、実行時にエラーが出るので注意
616 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 20:58:28 ] >>614-615 ガイドサンクス
617 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:02:52 ] >>576 キャメルケース。パスカル方式のことでしたか。了解しました。 string[] menuItems = {"肉まん","あんまん","ピザまん","茄子","ゴーヤいり卵焼き"}; ってことですね。 っていうか、なんでそう書かなかったんだろ。 ふだんはそう書いているんですが。 >>602 LINQの一端に触れた気がします。 fromとかinとかwhereとかselectというのが、LINQの書式なのですね。 まだ充分じゃないですけど、foreachをネストする書き方にくらべて、圧倒的にスマートなことはわかりました。 ありがどうございます。
618 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 22:06:36 ] Camel形式とPascal形式は違う camelCase PascalCase
619 名前:デフォルトの名無しさん mailto:sage [2009/09/08(火) 23:51:21 ] >>603 コードが読みにくい。 まさか実際のソースもそんな書き方して無いよね? 趣味で作ってるのならいいんだけどさ。 で、問題の方だけど、ドロップダウンリストに値を設定してるところがダメなんじゃない? InfoPathは使ったこと無いからよくわからないけど。
620 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 00:48:01 ] >>618 一応、これも書いておかないと Upper Camel = Pascal Lower Camel = 狭義のCamel
621 名前:デフォルトの名無しさん [2009/09/09(水) 09:22:35 ] Bitmap BmpBuf = new Bitmap("C:\\2008052314460001.jpg"); Picture1.Image = BmpBuf; 画像が表示されません
622 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 09:29:10 ] そうか
623 名前:デフォルトの名無しさん [2009/09/09(水) 09:35:56 ] せめてヒントだけでも ><。。
624 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:20:41 ] もうimagelocation でやれwwwww
625 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:41:29 ] >>621 デバッグしてそこ実行時にBmpBufが有効か見てみたか? Picture1ってどのコントロール?
626 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:42:26 ] "C:\\2008052314460001.jpg" を @"C:\2008052314460001.jpg" こうしたい
627 名前:デフォルトの名無しさん [2009/09/09(水) 10:48:28 ] >>625 BmpBufはnullでなくサイズプロパティは読み込んだ画像のサイズでした >>626 あーそういう意味だったのか @使います
628 名前:デフォルトの名無しさん [2009/09/09(水) 10:50:00 ] >>625 Picture1はPictureBoxです
629 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 10:53:33 ] それはちゃんとFormに貼り付けられてるのか 何かのコントロールの後ろに隠れてないか サイズが0,0になってたりFormの表示範囲外にいってたりしてないか
630 名前:デフォルトの名無しさん [2009/09/09(水) 11:18:33 ] >>629 もう一度一から貼り直してやってみます コードは間違ってはいませんよね? 再描画されないかもしれないのはおいといて
631 名前:デフォルトの名無しさん [2009/09/09(水) 11:23:00 ] >>630 うまくいきました!! デザイナのコードが壊れてたみたいです
632 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 11:23:16 ] >>611 paintでGraphicsのDrawImage使うといい。
633 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:12:39 ] C++のデザパタに片足突っ込んだ程度の経験なんですが、 今回.NET Framework 4.0が面白そうな事になってるのを聞き及び、C#に手を出してみようかと思っています。 C#のオススメの教本とかあったら教えてもらえませんでしょうか?
634 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:20:31 ] .NET4ってそんなに面白そうなフィーチャーあったっけ DLRやPLINQなんか.NET触ったことない人には全く分からないだろうし
635 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:27:34 ] >>632 ドラッグ中MouseMoveイベントで毎回それやってpictureBoxリフレッシュすると滑らかにならず・・・
636 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 12:49:42 ] >>635 どんな環境でどうやってんの? こっちで試す限りでは普通になめらかに動くよ。 Bitmap毎回作ってるとか?
637 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 13:43:13 ] >>636 よっぽどでかくなきゃそれでもまぁいけると思うぞ Disposeしてなさそうだけど(Disposeいるっけ?)
638 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:31:59 ] breakについて教えてください。 for (int i = 0; i < 10; i++) { foreach(string line in lines) { if {//条件。 break; } } } で、ifの条件が一致したとき、この位置にbreakを書くと、foreachは終了しますが、外側のforは終了しません。 どこに書けば、外のforも終了できますか?
639 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:36:37 ] for (int i = 0; i < 10; i++) { bool exit = false; foreach(string line in lines) { if {//条件。 exit = true; break; } } if (exit) break;//外のforを抜ける } もしくは, for (int i = 0; i < 10; i++) { foreach(string line in lines) { if {//条件。 goto EXIT; } } } EXIT:
640 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:40:30 ] >>639 ラベルに命令はんないといけないから EXIT:;じゃね?
641 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:43:09 ] そうだけど後にステートメントが続くならセミコロンは普通書かない
642 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:47:43 ] >>641 コンパイル通るの? 前ここではまったんだけど
643 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:48:38 ] 別のアプローチとしてはforを別の関数に切り出してreturnで抜けるというのもある。
644 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:53:44 ] >>642 通る例 EXIT: Console.WriteLine(x); } 通らない例 EXIT: } とにかく後にステートメントがあればいい。セミコロンだけの場合は空のステートメントがあるとみなされる。
645 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 20:55:44 ] >>644 じゃあ>>639 は嵌るべ
646 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 22:03:03 ] >>639 thanks.
647 名前:デフォルトの名無しさん [2009/09/09(水) 23:37:40 ] C♯で拡大鏡はできますか?
648 名前:デフォルトの名無しさん mailto:sage [2009/09/09(水) 23:49:15 ] うん
649 名前:デフォルトの名無しさん [2009/09/10(木) 00:27:42 ] とあるクラスにA1〜A5というプロパティがあるんですが 配列のindexのように参照する方法はあるでしょうか?
650 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 00:34:43 ] ない
651 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 01:17:53 ] >>649 A1〜A5の型が同じなら、とあるクラスにインデクサを実装すればいい。 まぁ、こんな事するんじゃなくてA1〜A5を格納するAってリストを作るべきだ。
652 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 01:58:11 ] .netってスタティックリンクライブラリって使えないの? DLLは作れるみたいだけどLibファイルのようなものは作れないのかな
653 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 02:00:44 ] 必要ないだろ
654 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 02:05:08 ] 作れるよ
655 名前:デフォルトの名無しさん [2009/09/10(木) 06:30:54 ] >>648 どんなメソッドを使えばできますか?
656 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 07:33:35 ] Graphics.CopyFromScreen
657 名前:デフォルトの名無しさん [2009/09/10(木) 12:06:35 ] 重大ニュース スレは★30までいく 【国際】 中国 「IT製品、ソースコード開示せよ」…日本側が撤回求めるも、予定通り実施へ★4 tsushima.2ch.net/test/read.cgi/newsplus/1252535413/ 「ソースコード開示せよ」…中国が外国企業に要求 pc11.2ch.net/test/read.cgi/prog/1221835452 23 :名無しさん@十周年:2009/09/10(木) 02:28:25 ID:UeD78g5r0 李鵬が言ってた、20年後に日本なんてなくなるって、こういう事か。 40 :名無しさん@十周年:2009/09/10(木) 02:35:03 ID:BKKfZepB0 トヨタがプリウスで儲けれるのも来年までなんだね。 鳩山幸さんはサイエントロジーというカルトと関係があるという噂があります。 an ★tikimchi.see★saa.net/art★icle/127578850.html ↑ 日本アンチキムチ団 鳩山幸さんの旧姓が不明だそうですよ。 764 名前:可愛い奥様[] 投稿日:2009/09/06(日) 01:04:07 ID:/WrcABwtO 北海道苫小牧在住の者ですが、老人ホームで暮らす朝鮮人のお婆ちゃんから聞いた話です。 幸夫人のごお父様は中国人ではなく、キム・ジョンウォン(漢字不明)という朝鮮北部出身の貿易商だったようです。 戦後は日本に渡り、幸さんが渡米するまでは神戸の商社に勤めていたようです。 キムさんは幸さんが渡米した直後、北海道室蘭に引っ越し、貿易商を営みながら総連支部の設立に尽力されたと話しておりました。 中国語・英語・ロシア語がお上手だったようですね。 【ファーストレディー】鳩山幸をウォッチするスレ 2 hideyoshi.2ch.net/test/read.cgi/ms/1252279762/
658 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 14:33:30 ] >>652 ILMerge を使えば、複数のアセンブリを一つにできる。
659 名前:デフォルトの名無しさん [2009/09/10(木) 15:20:01 ] DataRowの各項目はキャストしないとobject型のようなんですが、 if (rowA["HOO"] == rowB["HOO"]) みたいな比較は、右辺左辺両方が同じ型?(stringとかint)であることが事前に分かって いれば、キャストせずに比較しても正しい比較結果が得られますでしょうか?
660 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 15:23:42 ] 得られません。常に参照比較になってしまいます。 Object型のままで値を正しく比較したければEqualsメソッドを使います。
661 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:50:57 ] プロセスの終了について質問があります。 写真をまとめてみたいと思って、 string[] files = Directory.GetFiles(@"c:\photo", "*.jpg"); foreach(string file in files) { photoProcess = new Process(); photoProcess.StartInfo.FileName = file; photoProcess.Start(); } Thread.Sleep(1*60*1000); if (! photoProcess.CloseMainWindow()) {photoProcess.Kill();}photoProcess.Close();photoProcess.Dispose(); とやって見たところ、開いて1分待つところまではよいのですが、最後に閉じるのが1枚だけで、あとのウィンドウは開いたままになってしまいます。 こういう場合は、どうやればぜんぶのウィンドウを一括してクローズできるか、ご教示いただけないでしょうか。
662 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:51:47 ] >>652 csc.exe /target:module ちなみに Q. Visual Studio 開発環境でこのコンパイラ オプションを設定するには A. Visual Studio 開発環境では、モジュールの作成はサポートされていません。
663 名前:デフォルトの名無しさん mailto:sage [2009/09/10(木) 20:54:39 ] >>661 各Processオブジェクトを配列にでも突っ込んで、 終わるときはそれらを順にCloseMainWindowしてけばいい >>662 moduleもダイナミックリンクだぜ