You are the best one!!

发布新日志

  • Unit Test 如何设置连续运行N次

    2014-08-04 16:53:52

    [Test]
    [Repeat(10)]
    public override void Run()
    {
             base.Run();
    }
  • Visual Studio Resharper常用快捷键

    2014-07-29 14:12:10

    加注释
    Ctrl \
    Ctrl K,C
    Ctrl K,U

    方法折起来/展开
    Ctrl MM/MO/MP

    删除行/Copy line
    Ctrl D/X

    打开文件
    Ctrl+Shift+N 

    View Solution
    Ctrl+Shift+L

    全局查找Symbol name
    Ctrl+Shift+Alt+N

    找父类
    Ctrl+U

    在当前类中找member
    Ctrl+F12

    Find Usage
    Shift+F12

    找到全部实现
    Ctrl+Alt+B

    Refactory重命名
    F2

    在方法头/尾切换
    先到{or}处,Ctrl ]

    扩选完整单词/缩选单词
    Ctrl W, Ctrl+Shift+W



  • SQL Server和Oracle的用法区别(实例)

    2014-07-17 11:44:52

    Oracle, SQL 通用版

    {code}
             var result = new List<T>();
             var dbConnection = GetDatabase().Connect();
             var reader = dbConnection.SQLRead(sql);
             while (reader.Read())
             {
                var value = reader.GetValue(0);
                   var newValue = (T)Convert.ChangeType(value, typeof (T));
                   result.Add(newValue);
             }
    {code}
    以上代码作用:将SQL查出来的1列结果转换成C#的List。

    如果粗体代码改成 result.Add((T)reader.GetValue(0)); 只有SQL可以run pass,oracle会有类型转换问题。这是由于如果GetValue在oracle里面是64int的话,转成int时,oracle会有类型转换的问题。

    2. 怎么样在Oracle的select别名中加空格问题

    var sql = "select acc_no as ""Account Number"", acc_name as ""Account Name"" from bankacc 
    这样出来的结果就是 Account Number和Account Name.

    SQL Server 按以下写法不会问题,但Oralce会出错。
    var sql = "select acc_no as ‘Account Number’, acc_name as ‘Account Name’ from bankacc 
    这样出来的结果就是 Account Number和Account Name.

  • C# 委托用于对DataSet排序-高级用法

    2014-04-21 11:57:48

    {code}
    public static string FindKey(ResultItemData dataSet, Predicate<ResultItem> selectionCriteria, Func<IEnumerable<ResultItemData>, IEnumerable<ResultItemData>> sorter)
          {
                var resultItems = sorter(dataSet);
                return resultItems.First(item => selectionCriteria(item)).TheKey;
          }
    {code}

    调用时就可以传Orderby的内容
    var selectedItem = FindKey(OriginalDataSet, item => true, resultItems => resultItems.OrderBy(
                                                                                                                                     item => item.DiaryDate)
                                                                                                                                  .ThenBy(item => item.CashflowNetting)
                                                                                                                                  .ThenBy(item => item.Counterparty)
                                                                                                                                  .ThenBy(item => item.Amount));
Open Toolbar