c#技术
c#里的运算符重载
摘要: c#里的自定义运算符算是个不常出现的应用,同时也是个好玩的东西。
我们可以使用他来实现这样的需求:
当一个订单与另外一个订单相加形成一个新的订单。新订单的货物为两个订单的货物的并集,总价为两个订单的总价和。
阅读全文
posted @
2008-01-07 23:37 tianyamoon 阅读(1869) |
评论 (6) 编辑
C#3.0 为我们带来什么(6) —— 扩展方法
摘要: 在c#3.0中可以出现这样的语法
int i = 2;
Console.WriteLine(i.Square());
这就是扩展方法。
如何使int具有Square方法呢?
只需要定义这样一个函数
public static int Square(this int i)
{
return i * i;
}
阅读全文
posted @
2008-01-06 19:40 tianyamoon 阅读(719) |
评论 (3) 编辑
C#3.0 为我们带来什么(5) —— 匿名类型
摘要: var employee= new{Age =25,Name = "james" }
无须显示声明一个类,而且在初始化器里面可以获取上下文的变量——闭包
这就是C#3.0里提供的匿名类型。
阅读全文
posted @
2008-01-06 18:47 tianyamoon 阅读(1068) |
评论 (1) 编辑
C#3.0 为我们带来什么(4) —— 具有隐式类型的局部变量var
摘要: 在c#3.0里允许我们这样定义变量
var age = 10;
var name = "james";
var time = DateTime.Now;
var books = new string[]{"aa","bb"};
阅读全文
posted @
2008-01-06 18:20 tianyamoon 阅读(1047) |
评论 (7) 编辑
C#3.0 为我们带来什么(3) —— 初始化器
摘要: 对比代码
c#2.0
Employee e1;
private void ee1()
{
e1 = new Employee(1);
e1.Age = 25;
e1.Name = "james";
}
c#3.0
Employee 2;
private void ee2()
{
e2 = new Employee(2) { Age = 25, Name = "james" };
}
与自动属性一样,初始化器的c#3.0的最大特点就是语法简化。
阅读全文
posted @
2008-01-06 17:46 tianyamoon 阅读(1197) |
评论 (2) 编辑
C#3.0 为我们带来什么(2) —— 自动属性
摘要: public int ID { get; protected set; }
public string Name { get; set; }
这是接口内声明的属性么?
no,这也可以是类的属性,自动属性。
如果说c#3.0最大的改变是什么,那就是编码方式更人性化,程序员可以变的更懒。自动属性也是这一特征的具体表现。
阅读全文
posted @
2008-01-06 16:37 tianyamoon 阅读(1511) |
评论 (10) 编辑
C#3.0 为我们带来什么(1) —— LINQ之Lambda
摘要: Lambda给我们带来什么?看下面的代码。
int[] numbers = { 5, 4, 1, 3, 9, 8, 6, 7, 2, 0 };
var lowNums = from num in numbers
where num < 5
select num;
阅读全文
posted @
2008-01-06 06:17 tianyamoon 阅读(2680) |
评论 (6) 编辑
对象数组根据某属性列的灵活排序 (续)
摘要: 在上一篇中有朋友问实现根据多个列排序的问题,现在把修改过的代码放在这里。经过测试已经实现了目标效果。
阅读全文
posted @
2008-01-05 18:14 tianyamoon 阅读(1889) |
评论 (13) 编辑
对象数组根据某属性列的灵活排序
摘要: 在工作中经常会遇到对象数组根据某个属性进行排序的问题。这里介绍一个比较灵活的方法。
阅读全文
posted @
2008-01-03 13:45 tianyamoon 阅读(1841) |
评论 (11) 编辑
序列化的注意事项
posted @
2007-12-29 10:29 tianyamoon 阅读(62) |
评论 (0) 编辑