1 名前:デフォルトの名無しさん [2008/02/27(水) 18:24:40 ] このスレッドは 「どんなにくだらないC#プログラミングに関する発言でも誰かが優しくレスをしてくれるスレッド」です。 ほかのスレッドでは恐ろしくて書き込めないような低レベル、もしくは質問者自身なんだか意味がよく分からない質問など、 勇気をもって書き込んでください。 内容に応じて、他スレ・他板へ行くことを勧められる、あるいは誘導される場合がありますがご了承下さい。 前スレ ふらっとC#,C♯,C#(初心者用) Part24 pc11.2ch.net/test/read.cgi/tech/1202028267/
910 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 12:41:47 ] 馬鹿ってのはどうして自分のことばを自分に適用できないのかねw 統合失調なんじゃないのチミ
911 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 12:59:40 ] >>910 因果関係が逆な気もするぞ。 そういう人間のことを馬鹿というのでは。
912 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 15:10:00 ] VB.NET質問スレ(Part25) pc11.2ch.net/test/read.cgi/tech/1203650042/294 294 名前:デフォルトの名無しさん[sage] 投稿日:2008/03/14(金) 20:29:48 ふーん偉そうに他人を「偉そうだ」と言うのは偉そうじゃないんだ。 本当馬鹿ってのはどうしていつでも自分自身の言葉を自分に適用できないんざんしょ不思議。 まあ基本であることに全然異議はないんだけど、その基本すら理解できない御仁がいらっしゃるから 「偉そうに」貴殿はまちがっておられるぞよ、と進言差し上げたしだいなんでございますがね。 345 名前:デフォルトの名無しさん[sage] 投稿日:2008/03/17(月) 21:08:14 多分「俺」に否定的な言葉を投げる奴はみんな「(また)お前」なんだよw 冗談抜きで最近こういう統合失調一歩手前って人間増えてる気がするね またお前か。 ふらっとスレだけは荒らさないでくれよな。
913 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 15:38:20 ] どう見てもビョーキだなwww
914 名前:デフォルトの名無しさん [2008/03/19(水) 16:04:07 ] 統合失調好きだなあ
915 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:03:12 ] >>912 言ってるそばから自分棚上げかよw 本当馬鹿ってのはどうして自分自身の吐いてる言葉を自分に適用できんの? それから「荒れて」いるのはスレじゃなくてお前さん自身の脆弱な心、でしょ?w 馬鹿で心が弱いお前さんの感情が刺激されること=スレが荒れること、ではないよ。
916 名前:デフォルトの名無しさん mailto:sage [2008/03/19(水) 19:11:08 ] マ板でやれ
917 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 00:39:48 ] Webbrowserコントロールがjavascript周りでエラーを吐きまくるのでオフにしたいんですが、 サンプルコードが載ったページをご存じないですか? いくつか類似のページはありますが(www.divakk.co.jp/aoyagi/csharp_tips_wbzone.html )、 旧.Net用でVS2005/2008では使用できませんでした。 ページを読み込む前にDLしたページキャッシュを読んで書き換えて無効化する方法も考えましたが、 読み込みをキャンセルさせる方法が分からず、汎用性もないため諦めました
918 名前:デフォルトの名無しさん mailto:sage [2008/03/20(木) 03:00:45 ] USBカメラを単純にプレビューするだけのサンプルってないですかね? 色々探してみたんだけど、どれも複雑で。。。
919 名前:デフォルトの名無しさん [2008/03/20(木) 03:01:04 ] >>917 WebBrowser.ScriptErrorsSuppressed = true;
920 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:15:31 ] なんでVBのサンプルがC#より上にあるんだよ
921 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:18:37 ] アルファベット順だろうな
922 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 01:29:42 ] じゃあCの方が上だろ
923 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 08:32:49 ] ゲイツがBASIC世代だから?
924 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 09:06:52 ] xmlでnode名とvalueを指定して 特定箇所のvalueを更新する方法は ありますか? ファイル丸ごと読み込んで書き出す方法しか 知らないので教えて下さい
925 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 10:06:39 ] >>922 Visual BasicとVisual C#とVisual C++だったらVBが先だろ。
926 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 10:49:55 ] >>924 1) 一気に読み込んで、DOMを使って編集する。 2) XmlReaderで少しずつ読みながら、XmlWriterで書き出す。
927 名前:デフォルトの名無しさん [2008/03/21(金) 14:02:14 ] Linqを使い始めたら、yield を使った即席の IEnumerable ができると便利だと思ったのですが・・・ static System.Collections.Generic.IEnumerable<int> CreateInt100() { for (int i = 0; i < 100; ++i) yield return i; } private void button2_Click(object sender, EventArgs e) { System.Collections.Generic.IEnumerable<int> collection = CreateInt100(); foreach (var element in collection) System.Console.WriteLine(element); } 上のメソッド CreateInt100() を毎回作るのは面倒くさいですし、名前空間を汚すので匿名メソッドにしてみようかと考えました。 private void button2_Click(object sender, EventArgs e) { System.Func<System.Collections.Generic.IEnumerable<int>> lanbda = () => { for (int i = 0; i < 100; ++i) yield return i; }; System.Collections.Generic.IEnumerable<int> collection = lanbda(); foreach (var element in collection) System.Console.WriteLine(element); } 残念ながらエラーになってしまうのですが、何か良い方法をご存知の方がおられましたら教えてください。
928 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:08:54 ] Enumerable.Range
929 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:23:33 ] >>928 すまみせん、int のシーケンスは例であって、int のシーケンスを作りたい訳ではないです。 手際よく yield を含むコードを書き下したいのです。
930 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:25:27 ] できないなあ
931 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:32:03 ] ツリーコンテナの列挙をするときには便利な機能と割り切ってそれ以上深く考える事をしなかったんですが・・・ yield 便利だね、なんでもかんでもコレで書いてしまいたくなる衝動に駆られます。
932 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:33:50 ] それはするべきじゃないだろう
933 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:36:43 ] Haskellの無限リストより書き方が直観的で良いです
934 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:53:32 ] クラスの比較をするときに、比較したいメンバを片っ端から .Eulals 等で比較するメソッドを 片っ端から書きまくって、Eulals , GetHashCode …とこれまた片っ端から書きまくって 比較対照数×比較系メソッド数分の条件判断を書くという、ちょっと間違えれば書き損じ出まくりです yield を使って列挙する側は、列挙する側、比較する側は比較する側とバシッと分けて書いてみると…なかなか気持ちいいです。
935 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 14:58:46 ] >>934 よくわかんない コードで頼む
936 名前:デフォルトの名無しさん [2008/03/21(金) 15:11:35 ] 余りに気持ちいいので、ちょっと紹介しておきます。 クラス C の Equals GetHashCode のオーバーライドが、メンバーの変更によって変更しなくても済みやすくなっています。 using System.Collections.Generic; using System.Linq; public class C { public int Field1; public int Field2; public string Field3; public override bool Equals(object obj) { C tmp = obj as C; if (tmp == null) return false; IEnumerable<object> x = this.CreateFieldEnumerable(); IEnumerable<object> y = tmp.CreateFieldEnumerable(); return x.SequenceEqual(y); } public override int GetHashCode() { return CreateFieldEnumerable().Sum((a0) => a0.GetHashCode()); } IEnumerable<object> CreateFieldEnumerable() { yield return Field1; yield return Field2; yield return Field3; } };
937 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:23:32 ] 文字がアルファベットかどうか判定したいんだけど、 Char.IsLetter('あ'); の結果がtrueを返してくる。 ほかにいい方法ありますか?
938 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:34:09 ] >>936 GetHashCode()に和を使うのはどうかと
939 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:35:08 ] >>937 ( ゚д゚)つ正規表現
940 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:36:15 ] a<= x && x <= z || A <= x && x <= Z
941 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:36:35 ] >>938 そんなの問題があるならテキトーに替えてくださいよ(汗
942 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:39:04 ] >>937 「アルファベット」の定義は?
943 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 15:44:27 ] HashCodeの作り方がよくわからんからEqualsのオーバーライドもあまりやりたくないな
944 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:10:50 ] >>939 >>940 >>942 どうもです。普通にa-zA-Zで比較して判定します。 それにしてもMSDNのあの説明では日本人は勘違いしますね。 MSは苦労したとは思いますが。
945 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:30:12 ] 日本語のアルファベットはひらがな、カタカナ 英語のアルファベットはA〜Z 単にアルファベットと聞かれたらどちらか分からない。
946 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:37:49 ] 一般的な日本人はアルファベットと言われたらA-Zの26文字のことだと思う ANK=Alphabet Numeric Kanaって単語だってあるのに。
947 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:44:07 ] >>945 MessageBox.Show(char.IsLetter('山').ToString());
948 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 16:57:23 ] >>944 ぼくは一般的じゃないんですかそうでつか><
949 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 17:05:24 ] >>948 私は >>946 とは別人ですよ。あなたは人より教養があるんだと思います。
950 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 17:30:00 ] ギリシャ文字はアルファベットの名前からしてもアルファベットだし、 ヘブライ人も彼らの文字をアレフベートって呼んでるし、 そう考えると、ヘブライ文字の親類のアラビア文字もアルファベットだし、
951 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 17:57:47 ] >926 domとうい単語しらなかったです ありがとう
952 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 18:09:09 ] もうとっくに結論でてますが・・・ 昔と違って、アルファベットの概念が広がっているね int 山 = 5 ; とか、コンパイル通るし、UTF8 で便利になった反面混乱も多々あり。 ja.wikipedia.org/wiki/Unicode あえてライブラリを使うなら、基本ラテン文字 (ASCII互換)、かつアルファベットを調べるとなると Char.IsLetter('あ') && 'あ' <= 0x7f アホ臭いから、直接文字コードを調べるのが良さそうな気がしますね。そしてせっかくの新機能があるので拡張してみた。 static public class CharExt { public static bool IsBasicLatin( this char c) { return c <= 0x7f; } } class MyClass { void func() { bool isBasicLatin = 'A'.IsBasicLatin(); // (笑 System.Console.WriteLine(isBasicLatin); } }
953 名前:デフォルトの名無しさん mailto:sage [2008/03/21(金) 22:52:21 ] >>951 xsd.exe .net で検索してみな
954 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 12:04:31 ] なになら最近できたというらしい WPF を使ってみた。 Xamlとか一切使わずに、フルにC#でコーディングしてみたんだけど、System.Drawing.Graphics + Pain イベントと比べて断然楽だね Linqに引き続き、説明がさっぱり分らんのは相変わらずで、なんとかしてくれよマイクロソフト・・・ 簡単説明サイトをだれか作ってくれないかな・・・自分で作れってかorz
955 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 12:08:41 ] XAML使わないと添付プロパティとか物凄く面倒だぞ
956 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 13:32:49 ] むしろWPFはコーディングしたら負けだろ
957 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 14:29:50 ] 固定デザイン固定アニメーションならコーディング無しでもいいが プログラマブルに動かしたければ、やはりコーディングするしかないよ いやできなくは無いが、逆に面倒になるだけという意味で。
958 名前:954 mailto:sage [2008/03/22(土) 14:54:20 ] とりあえず棒グラフとか折れ線グラフとか作ってます、描画クリッピングの処理とか つまらない処理にも関わらず、工数の取られる作業がプロパティーの設定とGrid親子構造の作り方一つで 簡単対処できるのには驚愕しています、最後に印刷処理を作りたいのですが、どうするんだ・・・
959 名前:954 mailto:sage [2008/03/22(土) 14:58:45 ] それと、デタラメに描画が速いね、これにはタマゲタ さすがDirectX使っているだけの事はある、描画範囲外に大量にLineを配置しても全然速度低下がない。 これが System.Drawing.Graphics ベースだと、Pain 処理はややこしくなるし 手抜きして全部描画しようものならガックンガックンになるし。
960 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:42:46 ] 今C#のCUIを勉強してるんだが、練習問題ってどっかないかな? 探してみても、本とか講座とかしか出てこないんだがー
961 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:44:43 ] CUIって勉強するようなことあるのか?
962 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:49:35 ] >>961 プログラミング自体が初めてだからさ、一応勉強しとかないとと
963 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:53:20 ] ConsoleクラスちょっといじればCUI限定の問題はクリアと考えていい
964 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:54:54 ] >>959 Pain処理ってある意味間違ってないよなw >>962 unixコマンドのリファレンス引っ張ってきて実装すれば catとかtelnetとか
965 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:58:08 ] >>963 そんなもんですか、やっぱ基本的にGUI弄るってことかな ありがとうございます^ >>964 ググってみます^
966 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 18:58:10 ] CUIをやらなきゃいけない理由でもあんの? 初めてなら逆に手を出す必要はないと思うんだが。
967 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:02:13 ] >>966 いやー、やっぱ基本的なことは知っといた方が良いのかなと
968 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:02:51 ] CUIとかGUIなんてどうユーザとやり取りするかって話でしかない 本当にやりたいのはその先だろ? >>966 "言語の"勉強にはCUIのほうがいいと思う
969 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:02:58 ] 言語仕様からきっちり解説するような本だとだいたいコンソールからだよ
970 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:14:39 ] てことは、コンソールが必要になったら、その都度調べる程度で平気ってことですかね どうもです、頑張ります^
971 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:16:01 ] GUI を根本からサポートしている言語を除けば、 GUI まで教え始めるとページ数多くなるからな。
972 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 19:36:12 ] GUIだとはじめに必要な「おまじない」が多いし 入出力がまどろっこしいから言語仕様の解説には不向き
973 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:11:32 ] >>972 C#だと、それほどでも無いだろ、Windowクラス生成して以上終了だし。 Win32使うと、激しいことになるけど 初代VS.NETには、CUIベースのわかりやすいサンプルが多かったんですけどね。 クイックスタートのサンプルもう一度復活させてもいいと思うんだけど・・・
974 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:13:39 ] >GUI を根本からサポートしている言語を除けば、 だからな。 C# は GUI に力要れてるから問題ない。
975 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:20:50 ] 言語の勉強する場合、色んなロジックを書いて その処理結果を簡単に出力出来るという点では、 コンソールの方が簡単でいいよね。 GUIだと、そもそものイベントドリブンの仕組みから 色んなコントロールの説明とかしなくちゃならないから。 いきなり、言語の学習の次のステップからになってしまう。
976 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:21:32 ] 下手な入門本でGUIだとすぐVSでポトペタだからなぁ。
977 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:24:32 ] 言語の勉強なら文字の入出力ができれば別になんでもいいわけで 一番手軽なのがコンソールっていうだけ 使う話とはまた別だ
978 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:39:27 ] つまり言語の入門にはTcl/Tkが最も優れているということですね
979 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:41:44 ] WinFormsなら初心者でも簡単だけど WPFになるとXAML覚える方が大変なんじゃないか?w
980 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 20:59:23 ] >>975 C#の場合それは問題多いだろ、開発環境が無ければ何故その機能があるのか、そうなっているのか理解できないものが大量にあるし。 たとえば、カスタムアトリビュートしかり、深いネームスペースしかりで。
981 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 21:57:09 ] >>980 その反論の意味が全く分からないんだが。 では、GUIの方が入門者にとって、C♯"言語"の学習をし易いのか?
982 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:14:14 ] つか、今の初心者つったら、CUI? command.com? 何ソレ? だろ、そこから使用方法と説明が必要だ。
983 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:18:29 ] いまどきの新人にパイプの説明したら一週間考え込まれた事があるw そんなオレは、もうロートル入りだorz
984 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:24:29 ] >>982 今の初心者はcmd.exeだからな
985 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 22:59:38 ] .NET学習的にもPowerShellがvista標準じゃなかったのは痛いなぁ
986 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:06:46 ] プログラミング Microsoft Visual C# 2005 言語編 (マイクロソフト公式解説書) プログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応(オライリー) 読むならどっち?
987 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:08:20 ] オライリーの方。 Googleブック検索でないよう少し見てみたらよかったし「初めてのC#」もよかったから。
988 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:10:30 ] そういえばC#使ってるけど未だに解説書の類を読んだ事がないな。 もう何でもpublicで作ってるしその内問題に遭ったりするんだろうか
989 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:16:40 ] まだ俺2.0止まりでXAMLとか分からないんだけど、ASP.NETとかでやってるみたく FormベースでXML使ってコントロールとか定義できる物ってことなの?
990 名前:954 mailto:sage [2008/03/22(土) 23:33:53 ] >>989 使い始めて間もないのですが・・・簡単に説明すると フラッシュみたいな物、htmlでいえば、imagタグとか適当にホームページ作成ツールで作って それに名前を付けておいて、サイズや位置情報を、プログラム側からいじくれるという仕掛け。 各種タグで表示するオブジェクトには名前がつけられて、 その名前.アトリビュート名 = 適当な値 とすると、値が書き換えられて、表示が変化します。 Gridというタグがあって、これは各種オブジェクトを格納(子タグが作れる)、ここに自分で生成したオブジェクトを追加する事もできます。 基本的な要素には、LineとかPolyLineとか、DirectXで良く見られるプリミティブ要素のようなものがあって、ページ中に線やポリゴンなども書けます。 これに座標変換行列を効果させて、回転・拡大縮小・平行移動・平行四辺形的な変形といった事ができます。 最終的にはDirectXで描画されるらしく異様に高速。 大半はデザイナでデザインしておいて、必要な所だけをコードしてしまえます。 Paintイベントで再描画のコードは書く必要なしです。
991 名前:954 mailto:sage [2008/03/22(土) 23:41:12 ] 逆にDirectXが分るなら、メッシュの中にボタンやらラベルやらといったプリミティブがあるイメージかな?
992 名前:デフォルトの名無しさん mailto:sage [2008/03/22(土) 23:47:13 ] thx。そろそろ俺も3.0始めねば・・・。