1 名前:デフォルトの名無しさん mailto:sage [2006/11/02(木) 20:45:59 ] (#゚ー゚)つ < C#、.NETの話題はこちらでどうぞ。 前スレ C♯, C#相談室 Part34 pc8.2ch.net/test/read.cgi/tech/1157549657/ 過去スレは>>2-5 あたり。 ※スレタイに「#」を入れても消えちゃうので新スレ立てる人は要注意だ。
446 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 01:30:23 ] >>435 「using ステートメント」じゃなくて「using ディレクティブ」だろというか そんなこと気にする前に基本的な言葉をだな(ry まぁそれはいいとして >>444 もいっているように C++ で using namespace が気になるのは、その他の仕様含めた総合的な要因によるもので、 その前提を元に C# は考えられていてほぼ危険性がクリアされているので 普通に使え。そっちのほうがみやすい。
447 名前:デフォルトの名無しさん [2007/12/01(土) 10:19:35 ] ありがとう。 でもユーザコントロールから親のページクラスをどうすればアクセスできるのか想像できません
448 名前:デフォルトの名無しさん [2007/12/01(土) 11:54:24 ] ページクラスを継承したクラスにコントロール検索プロパティを実装したとしてもユーザコントロールからはスコープの範囲外だからみれないですよね
449 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 12:24:22 ] マスターページに実装。
450 名前:デフォルトの名無しさん [2007/12/01(土) 13:47:00 ] マスターページに検索ののプロパティを作ってその配下のページコントロールに配置したテキストボックスを参照するのですか? できそうな気がする。。
451 名前:デフォルトの名無しさん [2007/12/01(土) 14:22:26 ] DataGridVewでデータバインディングしている時、主キー、ユニークの重複チェックは皆どうしてるの? 主キーは複合もあるので行でチェックするのがいいという前提で。チェック場所はいろんなイベントがあると思う ・DataGridVewのRowValidatingイベント ・DataTableのRowChagingイベント ※DBに問い合わせは論外。 他にもあるかもしれんが・・・。あったら教えて欲しいんですが。 で、入力された値をチェックと言うことでDataGridVewのRowValidatingでチェック。(ViewのことはViewでチェック) 他のクラスでチェックすると、調査時いろんなソースを追いかけないといけないので。 ほんでと、主キー重複、ユニークチェックメソッドはあるのか? → 調べたけどないと思う。 じゃ、別の方法でチェックするにはどうしたらいい?となると。 クラス内部で主キー、ユニークの値を配列で保持して、配列内をチェックしかないのかなと思ってるんだけど。 複合主キーの時は、それぞれの列の値を文字列連結して1つの文字列として保持する。 これ以外になんかいい方法ってないですか?
452 名前:デフォルトの名無しさん [2007/12/01(土) 14:25:06 ] あ、DataGridVewのDataErrorイベントは論外で。あんなの使いようがねぇって感じなので。
453 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 14:49:10 ] バインド先がDataTableならPrimaryKey設定しとけば DataGridVewの入力時エラーになるけど
454 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 16:24:19 ] >>450 逆、参照するのがテキストボックス
455 名前:デフォルトの名無しさん [2007/12/01(土) 17:25:07 ] 逆とはどうゆう事?マスターページからページのテキストボックスを参照でいいんだよね。
456 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 19:25:42 ] 設定値はマスターページの値で、テキストボックスが更新されたら マスターページの値を更新。
457 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 19:29:06 ] 説明が面倒だから、これをやるってこと www.atmarkit.co.jp/fdotnet/dotnettips/469aspmasterpage2/aspmasterpage2.html
458 名前:デフォルトの名無しさん mailto:sage [2007/12/01(土) 19:36:58 ] UdpClient.BeginReceive(〜) から byte [] buffer = UdpClient.EndReceive(〜); の間に複数の受信接続が在った場合 bufferに入るのは最後に受け取った1つのデータだけですか?
459 名前:デフォルトの名無しさん [2007/12/01(土) 23:09:37 ] 結局はテキストボックスがトリガーとなってマスターページに値をあたえないとだめなんだね。 ユーザコントロールがトリガーとなって見に行くことがしたいけど無理なんだよね
460 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 08:48:15 ] >>458 最初のだ
461 名前:デフォルトの名無しさん [2007/12/02(日) 14:07:57 ] >>459 これは無理そう。 FindControlsみたいなメソッドをマスターページにプロパティで実装して、 ユーザコントロールのイベント内から呼び出したいんだろ? これはできそうでできない領域。それに気付いただけでも天才だよ。お前 >>456 も言っていること意味不明。
462 名前:デフォルトの名無しさん [2007/12/02(日) 20:44:44 ] やっぱり無理なんですね
463 名前:デフォルトの名無しさん mailto:sage [2007/12/02(日) 21:07:10 ] >>461 parent経由で親PropertyにSetなら出来るだろ
464 名前:デフォルトの名無しさん [2007/12/02(日) 21:53:27 ] ページといえどもクラスでしょ参照できる分けない
465 名前:435 mailto:sage [2007/12/02(日) 23:13:03 ] 書き込みが遅れてしまいすみません。 他の方々が書かれたソースを読んでいても薄々感じていましたが、やはり皆様 using を積極的に使うものなのですね。確かに衝突など滅多に起きませんし、 名前空間の構造が崩れることよりも行が横に長い方が害悪かもしれません。 皆様のご助言のお陰で漸く using を使うべきとの考えへと至ることができました。 ありがとうございました。 >>435 自分はむしろ真逆な質の人間だと思っていたのですが。一応 IntelliSense 等、 少しは使っています (というより IntelliSense を使わないで日々コーディング できる方が居たら尊敬してしまいます)。 >>446 仰る通り、using ディレクティブでした。>>437 といい、きちんと見直したはずだった のですが。お恥ずかしい限りです。
466 名前:435 mailto:sage [2007/12/02(日) 23:17:31 ] >>465 中のレスアンカ 誤: >>435 → 正: >>439 でした。 またしてもやらかしてしまった。度々の訂正、申し訳ありません。
467 名前:デフォルトの名無しさん [2007/12/03(月) 12:18:45 ] 質問があります。環境はVS2003のC#です。 const Point pos = new Point(1, 1); とやると 「'pos' に割り当てられた式は定数でなければなりません。」 というエラーが出ます。 定数にnewは使えるないんでしょうけど、どのようにしたら上記のような定義を実現できるでしょうか?
468 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 12:26:56 ] static readonly Point pos = new Point(1, 1); ふらっとC#スレに行け
469 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 12:30:39 ] >>467 残念なことに、constはプリミティブ型(int, double)か、後は例外的にString型のみしか認められない。 非常に不思議なことに、C#には改変不可を示す修飾(C++のconstやJavaのfinal)がない。 一応readonlyという似たようなものがあるが、これはコンストラクタでしか使えないのでメソッド内などでは使えない。
470 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 13:43:13 ] いたいことは何となく分かるがかなり変なこと書いてるぞ。
471 名前:467 mailto:sage [2007/12/03(月) 13:58:16 ] >>468-469 ありがとうございます。 readonly修飾子を使用することにしました。
472 名前:デフォルトの名無しさん mailto:sage [2007/12/03(月) 16:09:37 ] >>471 プロパティの使用も検討してみては。
473 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 20:10:03 ] StreamReader sr = new StreamReader("C:\\test\\時間集計.txt", Encoding.GetEncoding("Shift_JIS")); string text = sr.ReadToEnd(); sr.Close(); this.rtbIndication.Text = text; Regex R_Ex = new Regex("this."); //TextBox1.Text内で正規表現と一致する対象を1つ検索 Match M_stPath = R_Ex.Match(this.rtbIndication.Text); while (M_stPath.Success) { int iFind = this.rtbIndication.Find(M_stPath.Value, RichTextBoxFinds.MatchCase); this.rtbIndication.SelectionStart = iFind; this.rtbIndication.SelectionLength = M_stPath.Value.Length; this.rtbIndication.SelectionColor = System.Drawing.Color.Red; M_stPath = M_stPath.NextMatch(); } リッチスプレッドの中から特定の文字だけを抜き出して、そのフォントカラーを赤くしたいのですが この場合、thisが複数あるにも関わらず、最初に見つかったthisしか赤くなりません。 どこがまずいのでしょうか??
474 名前:デフォルトの名無しさん [2007/12/08(土) 21:30:40 ] ↑"this"です
475 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 21:45:22 ] とりあえずステップ実行でもしてみたらー?
476 名前:デフォルトの名無しさん [2007/12/08(土) 22:12:01 ] >>475 原因は解っています。 int iFind = this.rtbIndication.Find(M_stPath.Value, RichTextBoxFinds.MatchCase); の部分で、リッチテキストボックス(rtbIndication)のテキストの最初から読み込んでるから 必ず最初の"this"で止まってしまうのです なにかいい方法はないでしょうか?
477 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:17:56 ] Findの任意の位置から検索開始できるオーバーロード使えばいいんじゃね
478 名前:デフォルトの名無しさん [2007/12/08(土) 22:23:12 ] >>477 すいません、たとえばどのように書けばよろしいのでしょうか?
479 名前:デフォルトの名無しさん mailto:sage [2007/12/08(土) 22:37:03 ] いやまずヘルプ見ろよ
480 名前:デフォルトの名無しさん [2007/12/08(土) 22:37:58 ] >>all 解決しました!>>477 ありがとう!
481 名前:デフォルトの名無しさん [2007/12/11(火) 18:21:35 ] namespace IEnumeratorTest { public class Sample : IEnumerable<char> { public IEnumerator<char> GetEnumerator() { yield return 'C'; } } class Program { static void Main(string[] args) { foreach (char c in new Sample()) { Console.Write("{0}", c); } } } } C#2.0 yieldの勉強をしています。 このコードで何故コンパイルエラー(CS0536)が出るのかわかりません。 下記のどれにも違反していないのですが。。 ・public キーワードが省略されている。 ・戻り値の型が一致しない。 ・static キーワードがある。 何か足りないものでもあるのでしょうか? Visual C# 2005 Express Editionを使用しています。
482 名前:デフォルトの名無しさん [2007/12/11(火) 18:46:25 ] MSDNを見るとIEnumerator<>は非ジェネリックのIEnumeratorを継承 していました。 また、以下の記述がありました。 実装時の注意 このインターフェイスを実装するには、非ジェネリックの IEnumeratorインターフェイスを実装する必要があります。 そこで IEnumerator IEnumerable.GetEnumerator() { //ここでIEnumeratorオブジェクトを戻さないとエラーになる } を実装する必要がありそうなのですが、何を書けばよいのかわかりません。
483 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 18:49:49 ] >>481 エラーメッセージ読め。 IEnumerable<T> は non-generic な IEnumerable を継承してるんで、 そっちの GetEnumerator も実装しないとだめ。 System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
484 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 18:50:59 ] >>482 IEnumerator IEnumerable.GetEnumerator() の中身は、 return this.GetEnumerator(); にでもしとけ。
485 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 19:02:48 ] Yieldの使い方を根本的に間違ってるわけだけどな。 Yieldを含む IEnumerableなファンクションが暗黙にいろいろやってくれる。 この例だとstaticにしてもいいな。 public class Sample { public IEnumerable<char> Hoge() { yield return 'C'; } } foreach (char c in new Sample().Hoge()) Console.Write("{0}", c);
486 名前:デフォルトの名無しさん [2007/12/11(火) 19:28:55 ] >>483 >>484 >>485 ありがとうございました。解決しました。 >>485 別法でしょうか。まだ詳しいことは分からないのと サンプルの方法も間違っていなそうなので、とりあえず これを使っていこうと思います。
487 名前:デフォルトの名無しさん mailto:sage [2007/12/11(火) 20:12:58 ] int x = 100, y = 200; private Storyboard story; private DoubleAnimation myDoubleAnimation; private DoubleAnimation myDoubleAnimation2; private void WindowLoaded(object sender, RoutedEventArgs e) { Rectangle rect = new Rectangle(); rect.Width = 10; rect.Height = 10; . (省略 myDoubleAnimation = new DoubleAnimation(); myDoubleAnimation.From = 10; myDoubleAnimation.To = x; myDoubleAnimation.Duration = new Duration(TimeSpan.FromMilliseconds(2000)); myDoubleAnimation2 = new DoubleAnimation(); myDoubleAnimation2.From = 10; myDoubleAnimation2.To = y; myDoubleAnimation2.Duration = new Duration(TimeSpan.FromMilliseconds(2000)); Storyboard.SetTargetName...(省略 story = new Storyboard(); story.Children.Add(myDoubleAnimation); story.Children.Add(myDoubleAnimation2); story.Begin(this, true); } private void click(object sender, RoutedEventArgs e) { story.Stop(this); x = 200; y = 300; story.Begin(this, true); } .NET3.0ですが、ストーリーボードの子要素の中身を変更するのってどうやるんでしょうか? xとyの値をクリックで変えたいのですが、上記の方法ではうまくいかず、 クリックしてもx,yは100,200のままで変わりません 。どうすればいいのでしょうか?
488 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 01:25:48 ] yieldって使うか?用途が見えないのは理解不足なだけなのか?
489 名前:デフォルトの名無しさん [2007/12/12(水) 01:27:37 ] うん
490 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 02:07:33 ] 用途ってか、Enumerable返すメソッドが簡単に作れるから便利ってだけだけど。 状態を持つ場合なんか手で書きたくないしね。
491 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 04:35:41 ] >>487 myDoubleAnimation.Toはint?だからclickの中でx変えただけじゃ元の値のままですよ。 意図通りの挙動をさせるにはこんな感じ? private void click(object sender, RoutedEventArgs e) { story.Stop(this); x = 200; myDoubleAnimation.To = x; y = 300; myDoubleAnimation2.To = y; story.Begin(this, true); }
492 名前:491 mailto:sage [2007/12/12(水) 04:38:58 ] ×int? ○double? 寝ぼけてました。
493 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 07:41:59 ] yieldは列挙とマイクロスレッドが主な用途だろうな こう言語機能をこんな風に使うとこんなことができるよてきなTips( ゚д゚)ホスィ…
494 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:22:21 ] foreachと組み合わせるとなかなかいい塩梅だよ。
495 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:22:41 ] オライリーのプログラミングC#見たけど ユーザー定義型のソート基準を決めるのに IComparerを実装するのって面倒ですね。 この点はC++のほうが分かりやすくて楽チン。
496 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:34:29 ] >>>493 その手のサイト運営してる身だけど、 そういう Tips は結構まとめるの面倒なのよね。 日記とかにちまちま書いてる人はいるけど、それを1箇所に集めるとなると。 「この辺りを Tips にまとめて欲しい」みたいなの列挙しといてくれたら そのうちページに起こすけど。 >>495 いや、IComparison<T> デリゲートでもソートできる。 C# 3.0 だと、 list.Sort((x, y) => y.CompareTo(x)); とか書ける。
497 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:36:10 ] 2.0でも、十分楽だと思うけど。 Array.Sort(table, delegate(Hoge x, Hoge y) { return ・・・; });
498 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:44:30 ] delegateは未読です。 C#は記法がキモイのはC++と同じで、 慣れるまで時間がかかりそうです。
499 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 12:47:37 ] C++ がキモイって。 いったい、元々どこの畑にいたんだ。
500 名前:デフォルトの名無しさん mailto:omanuke@hotmail.com [2007/12/12(水) 12:57:45 ] >>496 よかったらサイトのアドレス教えてください@メアド
501 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 18:52:31 ] TextBoxに色付けたり インデント開始と停止する系の命令はあるですか?
502 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:28:42 ] 釣り?
503 名前:デフォルトの名無しさん [2007/12/12(水) 20:35:34 ] はい
504 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 20:47:52 ] リッチなやつにしとけ
505 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:14:34 ] ブルジョワテキストボックスでも開発するか めちゃくちゃリソース食うの。
506 名前:デフォルトの名無しさん mailto:sage [2007/12/12(水) 23:15:23 ] word呼べよ
507 名前:デフォルトの名無しさん [2007/12/13(木) 04:30:30 ] 例外をcatchするとデバッグしにくいという問題は、 IDEのメニュー「デバッグ」「例外」で対応できる。 基本的にはSystem.IO系やNullReferenceExceptionの「スルー時中断」にチェックを入れる。 あとは発生したベースで必要な例外を追加していけばいい。
508 名前:デフォルトの名無しさん [2007/12/13(木) 04:34:09 ] 今は特に言う事無いけど何か思いついたら次からここに書き込むよ
509 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 09:26:21 ] スルー時中断ワロタ
510 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 18:23:06 ] にゃるるで言及されてたC#のお偉いさんの話は本当なのだろうか。 もしマジだとしたら、ガクブルもので正直この先も使うか考えてしまう。
511 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 18:27:37 ] 何の話か言えよ
512 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 19:09:25 ] ヘジたんが AOP 嫌いだとかクエリ式嫌いだと書かれてたアレ? そんなガクブルな話書かれてたか?
513 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 20:18:43 ] >>512 そんなことは常識だろ
514 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 20:52:09 ] >>513 いや、だから、常識なのに何をガクブルしてんの?と。
515 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 21:34:46 ] クエリ式もあれはひどいよな 使い物にならん
516 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:38:37 ] いやいや、クエリ式は使い出すと便利でしょうがないよ。
517 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:41:45 ] >>516 LINQのほとんどの演算子が使えないのに?
518 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 22:59:40 ] >>517 どういうこと? 「LINQ to SQL では LINQ の標準クエリ演算子を全部サポートしてないのに?」といいたいのかな?
519 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 23:02:05 ] >>518 拡張メソッドでは呼び出せて、SQLにも使えるのに クエリ式では使えないものがいっぱいあるだろ
520 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 23:11:29 ] >>519 ああ、そういうことね。 まあ、それでも、let とか2重 from とか使うときはクエリ式便利。 from x in a from y in b select new { x, y }; とか、クエリ式使わないと SelectMany 使って書くの大変よ。
521 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 23:16:59 ] 正直letとか使われるとコードがわけわかんなくなる 拡張メソッドでいいじゃん
522 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 23:25:31 ] や、let はむしろ便利だろ il からコード起こしてみたらすごいことになってたけどw
523 名前:デフォルトの名無しさん mailto:sage [2007/12/13(木) 23:26:16 ] クエリ式この世からなくなってくれればコード読みやすくなるのに
524 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:33:05 ] csvファイルを読み込んで数値計算をさせたいのですけれど どうやったらいいのか分かりません。 条件式書くのとcsvファイルを読み込んでそのまま出力することはできます。 むしろそれくらいしかできない初心者です。 アドバイスお願いします。
525 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:34:09 ] >>524 そのまま出力できるならその値を出力せずに計算すればよかろ
526 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:37:08 ] >>525 普通に計算式を書いてから、その後出力する処理を書けばいいということでしょうか?
527 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:38:05 ] >>526 その通りだ
528 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 00:41:13 ] >>527 あああああ そうだったんですか。 難しく考えすぎてました。ありがとうございました。ものすごく助かりました。
529 名前:デフォルトの名無しさん [2007/12/14(金) 08:35:40 ] てもその計算式をどうやって解析するかは想像できてるか?
530 名前:デフォルトの名無しさん [2007/12/14(金) 08:36:06 ] 天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。 天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。 天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。 天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。天パ男死ね。バケモン。身障。気色悪すぎ。ボーズで天パ隠すなよ。
531 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 10:33:22 ] WinAPI の DllImport やら、 const int WM_HOGE みたいなのをC++ヘッダファイルから 自動生成するようなツールってないの? VB6 にあったやつみたいな。 それか、WinAPI をひたすらラッピングした .NET Frx 向けライブラリ。
532 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 10:38:01 ] >>531 こういうのは? www.pinvoke.net/
533 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 11:14:51 ] >>532 おおサンクス。ググっても DllImport の解説やら、WinAPI を使ったサンプルばっか出てきて 困ってたんだよね。これで幸せになれそうだ。
534 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 12:18:55 ] たしかアドインでPInvoke関連のヤツがあったはず。 具体的に何を補助してくれるのかしらんが、余裕があれば試してみたらいい。
535 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 12:23:20 ] そのアドインも>>532 のリンク先にある
536 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 15:06:38 ] 隔離スレなのにずいぶん機能してるな
537 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 15:14:57 ] オライリー プログラミングC# プログラミング Microsoft Visual C# 2005 言語編 C#の勉強をはじめる場合、どちらがお勧めですか?
538 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 15:29:59 ] 難しくなさそうなのをちょっと読んで あとは使ってれば分かる
539 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 17:47:31 ] >>537 すでにほかの言語が使えるなら、オライリーが無駄な説明がなく理解しやすい。 下はシラネ。ただ、言語編とかつくのは他のも読む前提で書かれてることが多い。 後、@itのC#入門改訂版ならタダで読める。正直助長な部分もあるが、本を買う前に一度見てみて、 それだけでは不十分だと感じてから本を買っても遅くないんじゃないか?
540 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 18:58:04 ] ってかMSDNとかの Microsoft 様のドキュメント読めば十分すぐるだろ・・・
541 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 20:11:48 ] >>540 リファレンスには十分だが、携行できないしいろんな意味で不十分 「C#の勉強を始める場合」だからな。
542 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 20:13:03 ] >>539 C++は使えるのとJAVAの文法の基本は分かっているので オライリーにしてみます。MSの本は高すぎるのもネックです。 >>540 基本を押さえたら適宜参照してみます。
543 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 20:48:26 ] 携行できないのはたしかにその通りだけど、↓あたりとか折角無料なのに スルーしてしまうのはもったいないと思う。 ttp://msdn2.microsoft.com/ja-jp/library/67ef8sbd%28VS.80%29.aspx
544 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 20:51:56 ] >>542 正直、C++ と Java 使えるなら MS のドキュメントだけで十分だと思うけど。
545 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 21:07:26 ] MSDNの ・C# プログラミング ガイド ・Java 開発者のための C# プログラミング言語 あたりに一通り目を通しとけば、まあいけると思うけどな。 どうしても紙媒体が好きならオライリーのC#いいと思うよ。
546 名前:デフォルトの名無しさん mailto:sage [2007/12/14(金) 21:19:20 ] 以外とWebですますっていう人間多いのか? 俺は新しい言語を勉強するときには、とりあえず一冊本を買うんだが、 Webだけだと記憶しづらくないか?