这段是时间学习LINQ的同时学习了C#3.0的一些新特性,发学它和JavaScript很像
一、C#新特性的 自动属性 & JavaScript JSON
C#代码:
public class Person
{
public Person() { }
public string Name { get; set; }
public int Age { get; set; }
}
//创建一个Person对象
Person person = new Person { Name="Southsea", Age=22 };
{
public Person() { }
public string Name { get; set; }
public int Age { get; set; }
}
//创建一个Person对象
Person person = new Person { Name="Southsea", Age=22 };
JS代码:
var person = {name:"Southsea",age:22};
//下面可以通过person来调用它的name属性和age属性
alert(person.name+" "+person.age);
//下面可以通过person来调用它的name属性和age属性
alert(person.name+" "+person.age);
相似这处:在创建一个对象的时候可以直接给属性赋值
C#是用 " = " 而 JS 是 " : "
二、C# 扩展方法 & JS 中的 prototype
C#代码:
//定义扩展方法
public static String ToMyString(this DateTime dt)
{
return dt.Year + "-" + dt.Month + "-" + dt.Day;
}
//扩展方法的调用
DateTime today = DateTime.Now;
today.ToMyString();
public static String ToMyString(this DateTime dt)
{
return dt.Year + "-" + dt.Month + "-" + dt.Day;
}
//扩展方法的调用
DateTime today = DateTime.Now;
today.ToMyString();
JS代码:
Date.prototype.toMyString = function(){
return this.getFullYear()+ "-" + (this.getMonth()+1) + "-" + this.getDate();
}
var today = new Date();
alert(today.toMyString());
return this.getFullYear()+ "-" + (this.getMonth()+1) + "-" + this.getDate();
}
var today = new Date();
alert(today.toMyString());
这个例子可以说没有任何义意,只是说明它们很像而已。
它们应该不只这两个地方很像,在以后的学习和使用中,再去慢慢发现它吧