
.NET 4.0
zhvsby
持之以恒,低调做人,认真做事,踏实前进,不要急功近利,万事先稳住,后思考再去做
展开
-
log4net
说明:使用log4net必须用到的config的说明转载 2010-11-27 13:53:00 · 584 阅读 · 0 评论 -
.net4.0新特性
<br /> <br />vs2010正式版4月12日发布了,有几个新特性分享一下……<br /><br />一、新关键词——dynamic<br /><br /> 在新版本的C#中,dynamic关键词是一个很重要的新特性,现在你可以创建动态对象并在运行时再决定它的类型。而且.net 4.0为CLR加入了一组为动态语言服务的运行时环境,称为DLR(Dynamic Language Runtime动态语言运行时),这使得C#这种静态类型语言可以在 .NET Framework 中开发动态语言并为与其它动态转载 2010-11-03 22:12:00 · 1266 阅读 · 0 评论 -
小的技巧来使代码变得简洁
<br />在我们写代码的时候可以使用一些小的技巧来使代码变得更加简洁,易于维护和高效。下面介绍几种在C#/Net中非常有用的一些编程技巧。大部分都是3.0以上版本的属性1 空操作符(??)<br />在程序中经常会遇到对字符串或是对象判断null的操作,如果为null则给空值或是一个指定的值。通常我们会这样来处理string name = value;if (name == null){ name = string.Empty;}<br />可以使用三元操作符(?:)对上面对吗进行优转载 2010-11-04 10:40:00 · 1336 阅读 · 0 评论 -
存储过程
<br />普通存储过程<br /> 首先在查询分析器运行下面的代码来创建一个存储过程:<br /><br />createproc sp_singleresultset<br />as<br />setnocounton<br />select*from customers <br /> 然后打开IDE的服务器资源管理器,之前我们从表中拖动表到dbml设计视图,这次我们从存储过程中找到刚才创建的存储过程,然后拖动到设计视图。在方法面板中可以看到已经创建了一个sp_singlere转载 2010-12-12 12:31:00 · 455 阅读 · 0 评论 -
in left join inner join
<br />in操作<br /> <br />描述:查询指定城市中的客户<br />查询句法:<br /><br /> var in操作 = from c in ctx.Customers<br /> wherenewstring[] { "Brandenburg", "Cowes", "Stavern" }.Contains(c.City)<br /> select c;<br />对应SQL:<br /><br /原创 2010-12-12 11:52:00 · 586 阅读 · 0 评论 -
子查询
<br />取相交项<br /> <br />描述:查询城市是A打头的顾客和城市包含A的顾客的交集,并按照顾客名字排序<br />查询句法:<br /><br />var取相交项 = (from c in ctx.Customers where c.City.Contains("A") select c).Intersect<br /> (from c in ctx.Customers where c.ContactName.StartsWith("A") select c).Orde原创 2010-12-12 11:50:00 · 396 阅读 · 0 评论 -
distinct union contact
<br />distinct<br /> <br />描述:查询顾客覆盖的国家<br />查询句法:<br /><br />var过滤相同项 = (from c in ctx.Customers orderby c.Country select c.Country).Distinct(); <br />对应SQL:<br /><br />SELECT DISTINCT [t0].[Country]<br />FROM [dbo].[Customers] AS [t0]<br /> <br />union<b原创 2010-12-12 11:49:00 · 809 阅读 · 0 评论 -
分页 分组等Linq查询语句例子
<br /><br />分页<br /> <br />描述:按照每页10条记录,查询第二页的顾客<br />查询句法:<br /><br /> var分页= (from c in ctx.Customers select c).Skip(10).Take(10);<br />对应SQL:<br /><br />SELECT TOP 10 [t1].[CustomerID], [t1].[CompanyName], [t1].[ContactName], [t1].[ContactTitle], [t1].原创 2010-12-12 11:46:00 · 3173 阅读 · 2 评论 -
使用DbDataReader数据源
<br /><br />using System.Data.SqlClient;<br /> <br />var conn = newSqlConnection("server=xxx;database=Northwind;uid=xxx;pwd=xxx");<br />var ctx = newDataContext(conn);<br />var cmd = newSqlCommand("select * from customers where CustomerID like 'A%'", conn)原创 2010-12-12 11:03:00 · 4165 阅读 · 0 评论 -
动态创建数据库
<br />----------------------------------------------------<br /> public class MyDVDs : DataContext<br /> {<br /> public Table<DVD> DVDs;<br /> public MyDVDs(string connection) : base(connection) { }<br /> }<br /> [Table(Name = "DV原创 2010-12-12 10:55:00 · 540 阅读 · 0 评论 -
探究查询
<br /><br />using System.Data.Common;<br />using System.Collections.Generic;<br /> <br />NorthwindDataContext ctx = newNorthwindDataContext("server=xxx;database=Northwind;uid=xxx;pwd=xxx");<br />var select = from c in ctx.Customers where c.CustomerID.Start原创 2010-12-12 10:34:00 · 391 阅读 · 0 评论 -
DataContext的日志功能
<br />using System.IO;<br /> <br />NorthwindDataContext ctx = newNorthwindDataContext("server=xxx;database=Northwind;uid=xxx;pwd=xxx");<br />StreamWriter sw = newStreamWriter(Server.MapPath("log.txt"), true); // Append<br />ctx.Log = sw;<br />GridView1.Dat原创 2010-12-12 10:16:00 · 721 阅读 · 0 评论 -
强类型DataContext
<br /><br /><br />publicpartialclassNorthwindDataContext : DataContext<br />{<br /> publicTable<Customer> Customers;<br /> public NorthwindDataContext(IDbConnection connection) : base(connection) { }<br /> public NorthwindDataContext(string connec原创 2010-12-12 10:13:00 · 867 阅读 · 0 评论 -
Lambda表达式
<br /> <br /><br /><br />var list = new [] { "aa", "bb", "ac" };<br />var result = Array.FindAll(list, s => (s.IndexOf("a") > -1));<br />foreach (var v in result)<br />Console.WriteLine(v);<br /> <br /> 其实和2.0中的匿名方法差不多,都是用于产生内联方法,只不过Lambda表达式的语法更为简洁。原创 2010-12-11 16:29:00 · 430 阅读 · 0 评论 -
.NET 3.0 新特性
隐含类型局部变量var age = 26;var username = "zhuye";var userlist = new [] {"a","b","c"};foreach(var user in userlist)Console.WriteLine(user); 纯粹给懒人用的var关键字,告诉编译器(对于CLR来说,它是不会知道你是否使用了var,苦力是编译器出的),你自己推断它的类型吧,我不管了。但是既然让编译器推断类型就必须声明的时候赋值,而且不能是null值。注意,这只能用于局部变量原创 2010-12-11 14:34:00 · 763 阅读 · 0 评论