C#知识点备忘

一、扩展方法

       使你能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。 扩展方法是一种特殊的静态方法,但可以像扩展类型上的实例方法一样进行调用。扩展方法被定义为静态方法,但它们是通过实例方法语法进行调用的。 它们的第一个参数指定该方法作用于哪个类型,并且该参数以 this 修饰符为前缀。

二、C#6.0新语法

  • 1.Null 条件运算符:用于在执行成员访问 (?.) 或索引 (?[) 操作之前,测试是否存在 NULL。 可帮助编写更少的代码来处理 null 检查。
  • 2.C# 6.0 之前catch和finally块中是不能用 await 关键词的。现在我们可以再这两个地方使用await了。
  • 3.如果括号表达式(when)的结果为 true 时,才执行对应 catch 块中的语句,否则继续搜索处理程序。

          catch (ArgumentNullException e) when (e.ParamName == “…”)  

          {      }  

  • 4."$"字符串格式化:var s1 = $"{p.Name} is {p.Age} year{{s}} old";
  • 5.C# 5.0 提供的async和await使异步编程更简单

三、异常捕获

       try { //执行的代码,其中可能有异常。一旦发现异常,则立即跳到catch执行。否则不会执行catch里面的内容 } 

       catch { //除非try里面执行代码发生了异常,否则这里的代码不会执行 } 

       finally { //不管什么情况都会执行,包括try catch 里面用了return ,可以理解为只要执行了try或者catch,就一定会执行 finally } 

四、数据库批量插入:

  • 1.Statement方式批量执行SQL的优点在于可以执行多条SQL语句,缺点也很明显,需要改变SQL语句时需要修改程序,每次执行都需要重新编译SQL。
  • 2.PreparedStatement优点是SQL语句结构不变,并且经过预编译,所以一般适用于一条SQL语句,多行参数。对于插入场景很适用。但是需要知道表中拥有哪些字段,如何设置这些值,如果表结构修改,需要修改代码。
  • 3.CallableStatement的方式优点在于只需要了解存储过程中的使用,不需要了解表结构,当表结构改变时,不用修改程序.
  • 4.SqlServer的批量插入很简单,使用SqlBulkCopy就可以。
  • 5.MySql的批量插入,是将值全部写在语句的values里,例如,insert batcher(id, name) values(1, '1', 2, '2', 3, '3', ........ 10, '10')。
  • 6.Oracle只能使用Oracle.DataAccess组件来作为提供者,而insert语句与一般的插入语句没有什么不一样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值