1 名前:デフォルトの名無しさん mailto:sage [2009/04/13(月) 14:08:37 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 >>980 を踏んだ人は新スレを建てて下さい。 >>980 が無理な場合、話し合って新スレを建てる人を決めて下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part39 pc12.2ch.net/test/read.cgi/tech/1237051173/
751 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 05:13:40 ] キャプチャって何のこと? 画面のキャプチャやロボットチェックのCAPCHAのことじゃないんだよね?
752 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 05:47:14 ] うん
753 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 05:55:58 ] 正直楽しすぎてやばい 病気になりそう
754 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 05:59:10 ] はい
755 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 07:44:03 ] >>751 for(int i=0;i<10;++i) { hogehoge.PropertyChanged += (s,p) => Debug.WriteLine(i); }と、 for(int i=0;i<10;++i) { int j = i; hogehoge.PropertyChanged += (s,p) => Debug.WriteLine(j); }を 違う結果にする、わくわく系不思議機能。
756 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 07:52:39 ] それは違う結果になって欲しいだろ
757 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 09:50:13 ] forとforeachは括弧とスコープが対応していないので紛らわしいね
758 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:31:33 ] C#で辞書作りたいです。辞書とかって str.replaceってのを使って置換してるんですか?
759 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:33:32 ] 辞書ってどういう辞書ですか? 何か例となるソフトでも挙げてみてください
760 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:35:19 ] 英語を日本語にするんです ソフトとか良く分からないです
761 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:38:28 ] 「辞書とか」なんて言葉が出るくらいですから 手本としてるものはあるわけでしょ
762 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:40:40 ] ありません
763 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:43:40 ] じゃあ自由に作れよw 「こういう機能をつけたいなあ」というのがあったらまた来い
764 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 10:46:46 ] わかりました。 またお願いします ありがとうでした
765 名前:≠755 mailto:sage [2009/05/29(金) 11:33:51 ] >>756 文法上はなってくれないと大問題だけれど、直観的にはそうなって欲しくないな ほとんどのケースで後者と同じ挙動をしてほしいと思うし。 それと変数が散乱しすぎる。
766 名前:751 mailto:sage [2009/05/29(金) 11:39:19 ] イベントの登録のことを何でキャプチャと呼ぶのかは分からないけど、 delegateやラムダ式につかませる自由変数の扱いは注意しないといけないだろうね。
767 名前:≠755 mailto:sage [2009/05/29(金) 11:42:56 ] うーん、クロージャーが参照するのか、クロージャーがコピーをを持つのかを ラムダ式の内部ではなく、外部で決定しようとするから訳らからん事になってるのかな、文法の吟味が足らない予感がするな。 とくに構造体が相手の場合、普通はコピーが原則なのに此処だけは参照になってしまう。
768 名前:≠756 mailto:sage [2009/05/29(金) 12:29:16 ] >>765 >ほとんどのケースで後者と同じ挙動をしてほしいと思う ねーよw >>766 イベントの登録じゃなくて >delegateやラムダ式につかませる自由変数 外部変数を捕まえる(取り込む)からキャプチャ
769 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 12:32:42 ] はーん ややこしい
770 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 12:41:14 ] >>768 なるほど。そういう文脈があるとは知らなかったなぁ。 ググってみた限りではC#とC++0xの記事で見られる用語みたいだ。 普通は自由変数といったり、外部変数の束縛と言ったりするんだが。まあ束縛自体がキャプチャの訳語なのかな。
771 名前:デフォルトの名無しさん [2009/05/29(金) 12:42:52 ] >>768 >ねーよw 逆に問いたいが、ループ変数が最後の状態の値になった状態が必要なデリゲートなんて意味あるのか?
772 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 12:58:13 ] 要するに、この記事のことか。 www.atmarkit.co.jp/fdotnet/csharp20/csharp20_05/csharp20_05_02.html
773 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:40:43 ] クロージャの話は定期的に出てくるが以前このスレかもうひとつのほうでで散々やったな。 クロージャは関数型言語の概念なので、 値を拘束しない手続き型言語のクロージャはどれも特殊。 手続き型言語の世界ではforやforeachでの解釈は少数派ということはない。 身売り騒動でどっかに行ってしまったが、java7のクロージャも同じ解釈だった。 rubyでも同様に (0..9).each do |i| と for i in 0..9 do で動作が異なる。 C#なら前者はList.ForEachといったところ。
774 名前:デフォルトの名無しさん [2009/05/29(金) 13:41:04 ] ラムダ式って有効ですか?わかりにくくて使う必要がない気がするのですが。
775 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 13:45:40 ] まあ作るのものによってもよく使うかあんまり使わないか変わるし 不要と思うなら使わなくてもいいよ 他の人のを読めさえすれば
776 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 14:17:23 ] >>774 LINQを使い始めれば必要不可欠である事がわかるよ ラムダ式無しでデータ操作などする気が無くなる この種のアプローチで、毎回クラス作ってvirtual関数導出してなんてやってたら、手のつけられないクラスの山が出来上がるから。
777 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 14:20:33 ] >>773 C#の話題の中でのクロージャなんだから、普通にC#的クロージャの話題として受け止めればいい わざわざ関数型言語の話題なんか持ち出す必要もないかと。
778 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 14:21:44 ] はあ?
779 名前:デフォルトの名無しさん [2009/05/29(金) 14:43:13 ] virtual 関数一個導出するため『だけに』とかinterface の中の関数一個定義するため『だけに』といった、中身があって無きが如しのクラスが大量増殖すると嫌になりませんか?って事。 ある日気づいてみたら、そんなクラスがネームスペースの9割を占めていて大事なクラスがちっとも見つかりません、IDEの名前候補機能が役立たずになるし、たまに微妙に高機能になったクラスがあったりして、現物を見るまで正体不明だとか。 そんなライブラリ嫌でしょう?俺は嫌だね
780 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 14:55:08 ] そんなに膨れあがるかどうかは作るものに強く依存するから、あなたの経験を元にそんなに力説されても困る。 あとデリゲートがあるんだからキャプチャの必要がないならクラス作る必要はない。 それからどうせプライベートなクラスならインナークラスにする。
781 名前:デフォルトの名無しさん [2009/05/29(金) 15:08:38 ] >>780 すでにそうなりがちな.Net Frameworkを見てさえそう思うなら、そういう事なんでしょう 必要だから作られた、ただそれだけの物。 必要ないなら誰もこんな機能追加しようなんて思い立ちませんよ。
782 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:23:54 ] だから作るものによるって言ってるじゃん おいらも一回だけC#の仕事があったけどそれはこっちのデータを色々いじってそっちに移すってものだったから LINQもラムダ式もよく使ったというかコードの中心だったしそれをメソッドやクラスに展開したいとは思わない でも自分が使うだけのちょっとした小物なら別に必要はないと思う まあおいら自身はラムダ式とか積極的に使うけどさ
783 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:27:21 ] ウザイ 「必要になったら使え」の一言で終わるだろ 分かったら死ね
784 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:32:50 ] ここ初心者スレであって議論スレじゃないんで。 プログラミング思想信条的な物まで持ち出して話引っ張らないでくれるかね。 ○すぞ。
785 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:34:35 ] そもそも初心者スレの住人を相手にする時点でもうね
786 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 15:35:35 ] 伏せなくていい。ウザイから殺しとけ。
787 名前:688 mailto:sage [2009/05/29(金) 17:12:16 ] >695 とりあえずググッてみます。 ありがとうございます。
788 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 19:30:56 ] C#においてコントロールとコンポーネントの違いを説明しなさい いや、教えてください
789 名前:デフォルトの名無しさん [2009/05/29(金) 19:42:30 ] ほかのプログラムと組み合わせて使うために作られたクラスがコンポーネント それにGUIが付いたらコントロールとも呼ぶ
790 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 19:43:05 ] C#においてはともかく、.NETにおいてなら System.Windows.Forms.Controlとその派生クラスがコントロール System.ComponentModel.IComponent実装してるのがコンポーネント
791 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 21:27:18 ] 自分の知らない範囲が出てくると発狂するヤツってどーなんかねw
792 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 21:51:59 ] ArgumentOutOfRangeException
793 名前:デフォルトの名無しさん [2009/05/29(金) 22:37:48 ] ちょこっと弄っただけの知識で全てが分かった気になってしまう中二病プログラマ、俺様サイコー(笑)ってヤツだな 『俺の知らない事は知らなくても問題ない物と』信じて疑わない、たまに居るねw
794 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 23:03:42 ] >>793 まさにオレのことだな
795 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 23:09:29 ] デリゲートやらデストラクタやらスレッドやら全く分からないけど何とかなったり。
796 名前:デフォルトの名無しさん mailto:sage [2009/05/29(金) 23:11:12 ] そりゃチューリングマシンなら何だって何とかなるさ それでいいのかぁっ
797 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 00:21:24 ] >>790 WPFやSilverlightやGTK#も忘れないで
798 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 00:26:06 ] WPFやSilverlightはむしろ忘れたいw デフォではスプレッドシートすらないとか、 補完機能が使い物にならないとか、ひどい有様。
799 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 00:28:47 ] MMORPG作れますかね?
800 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 00:43:08 ] 作れる
801 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 00:49:57 ] ただし
802 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 00:57:04 ] お前には無理
803 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 01:01:28 ] 頑張りますよ 応援してください
804 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 01:07:16 ] XNAで話題になってるゲームもあるし 応援してやろう
805 名前:デフォルトの名無しさん [2009/05/30(土) 02:01:11 ] 画像形式を内部データから判定する方法は、 System.Drawing.BitmapのRawFormatを使う以外にありますか? WPFアプリを作ってるのでWPFライブラリ内を探してるのですが。
806 名前:805 mailto:sage [2009/05/30(土) 02:06:45 ] ちょっと語弊がありました。 画像形式を判定というより、指定したファイルが画像ファイルであるかを調べたい のが一番の目標です。 この場合はバイトコードとして読んで自分で判定するコードを書くことになるのかな。
807 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 02:08:58 ] BitmapDecoder.Createでデコードしてみるとか 「画像ファイル」の範囲にもよるけどな MAGファイルはどうするのか? とか
808 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 10:12:31 ] Bitmapクラスで読み込める範囲で、かつそれほど高速でなくてもいいなら、 実際にBitmapクラスに開かせて、オープンできれば画像だということにするとか。
809 名前:デフォルトの名無しさん [2009/05/30(土) 10:22:36 ] それならBitmapImageで読み込んでみる方がいい
810 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 19:31:23 ] ログファイルなんかの末尾に2,3行追記するのってどうやるの?
811 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 19:35:39 ] 追記モードで開いてWriteLine()すればいい。
812 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 22:59:07 ] 簡単なクライアント・サーバープログラムを書いているのですが、サーバー側のプログラムがうまく動きません ・クライアント側: private void Connect(){ TcpClient tcpConnection = new TcpClient(ipEndPoint); Debug.WriteLine("Connected"); } ・サーバー側: private void Listen(){ TcpListener tcpListener = new TcpListener(IPAddress.Any, Port); tcpListener.Start(100); while (isAlive){ tcpListener.BeginAcceptTcpClient(new AsyncCallback(ListenAcceptCallback), tcpListener); autoResetEventTCPListen.WaitOne(WaitTime); } } private void ListenAcceptCallback(IAsyncResult ar){ TcpListener tcpListener = (TcpListener)ar.AsyncState; TcpClient tcpConnection = tcpListener.EndAcceptTcpClient(ar); Debug.WriteLine("Accepted"); autoResetEventTCPListen.Set(); } ・デバッグメッセージ:クライアント: Connected Connected ・デバッグメッセージ:サーバー: Accepted (本来Acceptedが表示されるはずだが、表示されない) よろしくお願いします
813 名前:デフォルトの名無しさん mailto:sage [2009/05/30(土) 23:56:55 ] >>812 そもそもAcceptするか? TcpClientのコンストラクタに渡すIPEndPointはクライアントのローカルのエンドポイントであって 接続先のエンドポイントじゃないはずだが。 NICが複数ある場合にどれを使うか明示するためのもんだったかと。 接続はConnectでやらんと。
814 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:09:31 ] >>813 す、すみません。 TcpClient tcpConnection = new TcpClient(); tcpConnection.Connect(ipEndPoint); と直してみましたが、やはりAcceptしてくれません。。。 # コードを色々直して試していて、余計なことをしてしまったみたいです…orz
815 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:22:28 ] >>814 どうやらTCP/IPの基本が分かってないようだから、 ここで一問一答を繰り返すよりか、 ソースコード付きのチュートリアルでも探してそのとおりにやってみたら?
816 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:48:50 ] Panel内にあるコントロールを別のPanelに移したいとおもい、 foreach (Control ctl in this.panel1.Controls) { this.panel1.Controls.Remove(ctl); this.panel2.Controls.Add(ctl); } というコードを書いて実行してみたんですが、 これで移動できるコントロールと移動できないコントロールが。 移動できるコントロールと移動できないコントロールの違いって何なのでしょうか? ・コモンコントロールで試した結果 >移動できないコントロール ListBox CheckBoxList TextBox MaskedTextBox DateTimePicker PictureBox RadioButton TreeView >移動できるコントロール Label ListView CheckBox LinkLabel ComboBox MonthCalendar ProgressBar RichTextBox WebBrowser
817 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 00:54:11 ] わかりません!
818 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 01:08:32 ] >>816 それ以前にforeachで列挙中にその列挙してるコレクションからRemoveしちゃダメだろ
819 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 01:11:38 ] 勉強して3日・・僕は何を作ったらいいですか?
820 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 01:13:44 ] 目標を作りなさい
821 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 01:16:10 ] うまい事言うね
822 名前:816 mailto:sage [2009/05/31(日) 01:17:22 ] >>818 ごめんなさい。それが原因でした。 どうもお騒がせしました。
823 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 02:04:02 ] >>820 ちょっと感動した
824 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:38:06 ] フォームを作ってみたいんですが System.Windows.Forms.dllを参照設定から追加しようとしてもSystem.Windows.Forms.dllがありません。 VS2008のExpressを使っています。
825 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:39:02 ] 連れすすみません 間違えて投稿してしまいました System.Windows.Forms.dllはどこにあるのでしょうか?
826 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:42:37 ] GAC
827 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:48:42 ] C:\Windows\Microsoft.NET\Framework\v2.0.50727
828 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 17:52:11 ] >>824 ないわけない。ソートしてみた?
829 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 18:47:01 ] >>826-828 ありがとうございます。>>827 のパスで指定したら動いたんですけど 参照設定にはないままです…
830 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 19:03:10 ] 名前には.dllの文字は無いよ
831 名前:デフォルトの名無しさん mailto:sage [2009/05/31(日) 19:57:39 ] ちゃんと .NET のタブを見てるか?
832 名前:824 mailto:sage [2009/06/01(月) 18:51:20 ] 昨日はwebサービスの下に見えなかったはずのものが 今日よく見ていたらありました みなさんありがとうございました
833 名前:デフォルトの名無しさん [2009/06/01(月) 21:12:07 ] ゲイツ神への信仰心が足りないからそういうことになる。
834 名前:デフォルトの名無しさん mailto:sage [2009/06/02(火) 09:35:00 ] contextMenuStrip1をtoolStripMenuItem1の上で右クリックして開きたい IEのメニューバーにお気に入りという項目がある(Firefoxでも良いですが) この項目に所属しているアイテムの上で右クリックするとコンテキストメニューが開き、そのまま削除などの編集ができるようになっている これと同じことを実現したいのですがうまくいきません private void toolStripMenuItem1_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Right) { contextMenuStrip1.Show(menuStrip1, e.Location); } } 第一パラメータにtoolStripMenuItem1が入らないです
835 名前:デフォルトの名無しさん [2009/06/02(火) 15:06:00 ] オレも、お気に入り風メニューの作り方を知りたいのでアゲ