策略模式的简单应用(C#) 发表于 2008-07-30 Disqus: 本文字数: 868 阅读时长 ≈ 1 分钟 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ abstract class OperSuper { public abstract double GetResult(double a, double b); } class Add : OperSuper { public override double GetResult(double a, double b) { return a + b; } } class Minus : OperSuper { public override double GetResult(double a, double b) { return a - b; } } class Context { OperSuper os = null; double A, B; public Context(OperSuper o, double a, double b) { os = o; A = a; B = b; } public double GetResult() { return os.GetResult(A, B); } } class client { public static void Main() { Context c = new Context(new Add(), 10, 20); Console.WriteLine(c.GetResult()); c = new Context(new Minus(), 20, 10); Console.WriteLine(c.GetResult()); } }}
简单工厂的最最简单应用(C#) 发表于 2008-07-29 Disqus: 本文字数: 1.2k 阅读时长 ≈ 1 分钟 简单工厂的最最简单应用 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Calculate cal = factory.CreateOper("-"); cal.A = 10; cal.B = 20; Console.WriteLine(cal.GetResult()); cal = factory.CreateOper("+"); cal.A = 10; cal.B = 20; Console.WriteLine(cal.GetResult()); } } abstract class Calculate { double _NumA = 0; double _B = 0; public double A { get { return _NumA; } set { _NumA = value; } } public double B { get { return _B; } set { _B = value; } } public abstract double GetResult(); } class Add : Calculate { public override double GetResult() { return A + B; } } class Minus : Calculate { public override double GetResult() { return A - B; } } class factory { public static Calculate CreateOper(string oper) { Calculate op = null; switch (oper) { case "+": op = new Add(); break; case "-": op = new Minus(); break; } return op; } }}
《编程之美——微软技术面试心得》一摞烧饼的排序 (不会做,看不懂) 发表于 2008-07-03 Disqus: 本文字数: 36 阅读时长 ≈ 1 分钟 《编程之美——微软技术面试心得》一摞烧饼的排序 (不会做,看不懂) 留个位置
《编程之美——微软技术面试心得》“中国象棋的将帅问题”C#实现 发表于 2008-07-02 Disqus: 本文字数: 349 阅读时长 ≈ 1 分钟 《编程之美——微软技术面试心得》“中国象棋的将帅问题”C#实现 1234567891011121314151617class Class1 { static byte counter = 81; static void Main(string[] a) { while (counter-- != 0) { if (counter / 9 % 3 == counter % 9 % 3) continue; else { System.Console.WriteLine("a=" + (counter / 9 + 1).ToString() + "b=" + (counter % 9 + 1).ToString()); } } System.Console.Read(); } }
编程之美 C#实现 1 发表于 2008-07-02 Disqus: 本文字数: 256 阅读时长 ≈ 1 分钟 适用于1.8GHZ左右的CPU 50%占用率 1234567891011121314class ManageCpu { staticvoid Main(string[] a) { int st = 0; while (true) { st = System.Environment.TickCount; while (System.Environment.TickCount - st < 90) { } System.Threading.Thread.Sleep(90); } }}