C#3.0看起来比较酷的咚咚

1、定义
var i = 5;
var s = "Hello";
var d = 1.0;
var numbers = new int[] {1, 2, 3};
var orders = new Dictionary<int,Order>();
2、扩展的方法
namespace Acme.Utilities
{
 public static class Extensions
 {
  public static int ToInt32(this string s) {
   return Int32.Parse(s);
  }
  public static T[] Slice<T>(this T[] source, int index, int count) {
   if (index < 0 || count < 0 || source.Length – index < count)
    throw new ArgumentException();
   T[] result = new T[count];
   Array.Copy(source, index, result, 0, count);
   return result;
  }
 }
}
使用之:
using Acme.Utilities;

string s = "1234";
int i = s.ToInt32();     // Same as Extensions.ToInt32(s)
int[] digits = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
int[] a = digits.Slice(4, 3);  // Same as Extensions.Slice(digits, 4, 3)

3、查询表达式
customers.
SelectMany(c =>
 c.Orders.
 Where(o => o.OrderDate.Year == 2005).
 Select(o => new { k1 = o.Total, v = new { c.Name, o.OrderID, o.Total } })
).
OrderByDescending(x => x.k1).
Select(x => x.v)

 

posted @ 2005-09-21 11:53 鞠强 阅读(...) 评论(...) 编辑 收藏

hello

world