■RSS■
■CALENDAR■
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31    
<<前月 2010年03月 次月>>
■NEW ENTRIES■
■CATEGORIES■
■コミュニケーション■
■ARCHIVES■
■ECO■
■POWERED BY■
■COUNTER■



■PROFILE■
す~(Suzuki)
適当なプログラムばっかりしか作れない若輩プログラマです。
りっぱなSE目指して色々とお勉強中

エントリの内容は個人的に収集、実験した結果を元にしております。
内容の正確性などは一切保証されませんので、予めご了承くださいm<__>m
また、もしどなたかの権利を侵害してしまっている恐れがある場合などはご連絡お願いします。
■LOGO■
ORACLE MASTER Bronze Oracle Database 10g
■OTHER■
  • 処理時間 4.550115秒
 

Windows7の.NET Framework 他
Windows7に標準搭載の.NET Frameworkは「3.5.1」で、これは

.NET Framework 3.5 SP1 + .NET Framework 3.5 SP1 GDR ( .NET Framework 3.5 SP1 用のアップデートモジュール)と同等
(ただし、Windows7用に一部修正されている)

ということらしい。
Windows7とカーネルが同じWindows Server 2008 R2もやっぱり3.5.1っぽい。

更に、コンパイラのバージョンも上がっている!
Windows7にVS2008を入れた場合に利用されるコンパイラはどうなるんだろう。。。
3.5がインストールされた環境ということで3.5を入れなおしたりはしないだろうから3.5.1のコンパイラが動くのかな。

Windows Server 2008 R2では、Server Coreでも.NET Frameworkがサポートされるようになった。
ただし、サーバーとしての役割を担うために必要な最小限のライブラリのみのようで、GUI、マルチメディア関連の
ライブラリは含まれない。
ということは、当然それらの実行はできないが、コンパイルもできないということ。。。

ネタ元
■Windows7に標準搭載の.NET Frameworkは3.5.1
<<http://blogs.msdn.com/dd_jpn/archive/2009/01/20/9343774.aspx>>

■Windows Server 2008 R2と.NET Framework
<<http://blogs.msdn.com/jpwinsrv/archive/2009/02.aspx>>

■Windows Server 2008 R2でも.NET Frameworkは3.5.1
<<http://technet.microsoft.com/ja-jp/library/cc772269%28WS.10%29.aspx>>

■Windows Server 2008 R2のIISは7.5
<<http://technet.microsoft.com/ja-jp/library/cc771209%28WS.10%29.aspx>>

| http://www3.to/su-house/index.php?e=24 |
| プログラミング::.NET Framework | 02:55 AM | comments (0) | trackback (0) |
delegateとはなんでしょう?
C/C++を使っていた時には「ポインタ」ってよく使ってた、というよりも必須だったわけですが、そのポインタの使い方をちょっと思い出してみると「関数ポインタ」なるものがあったはず。
関数といえどもメモリ上に展開されているので、呼び出したい関数のエントリーポイントになるアドレスを必ずもっているはずなんですよ。
で、そのアドレスすのものを扱おうってのが関数ポインタでした。
なぜいきなりポインタなんてでてきたのか、それは「デリゲート(delegate)」が関数ポインタとよく似ているからです。
ただし、似ているだけで別物なので混同しないようにしないといけません。

delegateはメソッドを保持するオブジェクトです。つまり、delegateを使うとメソッドをintとかstringみたいな基本データ型を扱うのと似たような感覚で扱えるようになります。
それができて何がうれしいって、そりゃあやっぱりメソッドが実行時に切り替えられるってとこですよ。
他には「イベント」を使う場合、これはdelegateなしでは無理ですはうー

深く追求すればいろいろと難しいこともあるのかもしれませんが、そんなに深く追求しなくても多分問題なく使えるのでよしとします!

イベントを使う場合にdelegateが必須なのはとっても簡単。
何か適当にコントローラ置いてイベントハンドラーを追加してみてください。
そのイベントハンドラーの名前って固定じゃないですよね?名前はどうだってよくて、重要なのは戻り値の型とパラメータの型および順序です。
それさえあっていればイベントハンドラーとして使えます。
delegateを意識していないだけで、恩恵を受けてるんですよね。

delegateの宣言と、格納するメソッドの戻り値の型、パラメータの型および順序はちゃんとあわせてくださいね。
あわせないとビルドできないはずだけど汗

うーん、なんか読みにくい文章。。。
delegateを使った簡単な例で計算プログラムでも作ってみましょ。

続き▽
| http://www3.to/su-house/index.php?e=23 |
| プログラミング::.NET Framework | 10:00 PM | comments (0) | trackback (0) |
Listの検索処理を実装したい! ~Findの使い方~
List<T>のインスタンスに対して検索処理ができるといいなってことありませんか?
例えばListに入っているのが別のクラスのインスタンスで、そのクラスの特定のフィールドがマッチするインスタンスを取得したいときとか。
サンプルを作ってみたので、そっちを見てもらうほうが早い汗
.NET Framework 2.0のC#で導入された「匿名メソッド」使ったのと使ってないの両方の例をだしてます。
匿名メソッド、delegate渡さなきゃなときに便利ですよね~。
匿名メソッドのお話は別の記事で。。。

List<T>.Find サンプル
  1. using System;
  2. using System.Collections.Generic;
  3. namespace hoge
  4. {
  5. public class Human
  6. {
  7. public int Age { get; set; }
  8. public int Gender { get; set; }
  9. public string Name { get; set; }
  10. public Human(int age, int gender, string name)
  11. {
  12. this.Age = age;
  13. this.Gender = gender;
  14. this.Name = name;
  15. }
  16. }
  17. public class ListFind
  18. {
  19. public static void Main()
  20. {
  21. List member = new List() {
  22. new Human(1, 1, "陽向"),
  23. new Human(2, 1, "陽菜"),
  24. new Human(3, 0, "陽斗"),
  25. new Human(4, 1, "陽菜乃"),
  26. new Human(5, 1, "さくら")
  27. };
  28. // 検索条件を固定とした例 ⇒ ひらがなの名前の子を探す
  29. Console.WriteLine(member.Find(FindHiragana).Name);
  30. // 検索条件を可変(外部に設定)とした例 ⇒ 男の子(Gender:0)を探す
  31. int gender = 0;
  32. Console.WriteLine(member.Find(delegate(Human h)
  33. {
  34. return h.Gender == gender;
  35. }).Name);
  36. }
  37. /// <summary>ひらがなの名前の子を検索</summary>
  38. /// 比較対象オブジェクト
  39. /// <returns>比較結果</returns>
  40. private static bool FindHiragana(Human h)
  41. {
  42. return System.Text.RegularExpressions.Regex.IsMatch(h.Name, @"^\p{IsHiragana}*$");
  43. }
  44. }
  45. }


実行結果
  1. さくら
  2. 陽斗


【MSDN】List.Findメソッド

| http://www3.to/su-house/index.php?e=21 |
| プログラミング::.NET Framework | 04:37 PM | comments (0) | trackback (0) |

 
PAGE TOP ↑