编程技巧
zwvista
这个作者很懒,什么都没留下…
展开
-
隐藏特性:Java的初始化代码块
public class Test { int a; int b; static int a2; static int b2; // instance initialization block { b = 5; a = b + 1; System.out.printf("In instance initialization block\na=%d,b=%d\n", a,原创 2012-07-16 19:45:06 · 1303 阅读 · 0 评论 -
关于SQL语句外连接中的过滤条件
使用左外连接时,注意以下两点第一张表的过滤条件写在where子句中其余各张表的过滤条件写在on子句中原创 2017-04-29 10:10:58 · 4943 阅读 · 3 评论 -
编程技巧:Mixin(行为继承)
Mixin原创 2016-08-23 08:30:36 · 1154 阅读 · 0 评论 -
编程技巧:使用 do {} while (false) 来避免缩进
Q:如何在C系列语言(C,C++,Java,C#)中避免以下代码中的过度缩进?void f(){ f1(); if(condition1) { f2(); if(condition2) { f3(); if(condition3) { f4(); if(condition4) { f5(); if(conditi原创 2011-11-22 12:53:17 · 1520 阅读 · 1 评论 -
备忘录:原生多行字符串
以下代码演示各语言中的原生多行字符串。多行字符串的值:\123\"456"C#var s = @"\123\""456""";VBDim s = \123\"456"<789>.ValueC++11auto s = R"(\123\"456")";auto s = R"xyz(\123\"(456)")xyz";以上各语言的原创 2013-01-15 10:40:17 · 2120 阅读 · 0 评论 -
编程技巧:C#中的Cast By Example(如何将弱类型的匿名类型参数转换为强类型)
using System;namespace ConsoleApplication1{ class Program { static T CastByExample(object obj, Func example) { return (T)obj; } static void f(ob原创 2012-07-06 22:17:33 · 3368 阅读 · 0 评论 -
编程技巧:使用LINQ如何通过多次调用GroupBy实现分组嵌套
using System;using System.Linq;namespace ConsoleApplication1{ class Program { public class S { public int Year; public int Month; public原创 2012-07-12 07:20:22 · 3296 阅读 · 0 评论 -
隐藏特性:C#的“|”与“&”运算符(没有短路特性的布尔运算符)
在C#语言中,“||”与“&&”布尔运算符具有短路特性,相当于VB的OrElse和AndAlso运算符而“|”与“&”运算符不仅能用于数值运算,也能用于布尔运算,作为布尔运算符两者都没有短路特性,相当于VB的Or和And运算符注:其实其他C系列语言(C/C++以及Java)也具有同样的语言特性。using System;namespace ConsoleApplication1原创 2012-07-16 20:47:36 · 2821 阅读 · 0 评论 -
编程技巧:将lambda用作局部函数
预备知识:变量及函数的作用域应该做到最小化根据这一原则,如果某个函数A只在另一个函数B内调用的话,A函数应该在B函数内定义并使用,即把A函数定义成B函数内部的局部函数。注:这里的函数是泛指,OOP语言中类的方法以及FP语言中的lambda都可视作函数。以下以C#代码为例using System;namespace ConsoleApplication1{ class P原创 2012-07-20 08:26:53 · 1533 阅读 · 0 评论 -
编程技巧:lambda与递归
以下代码演示如何使用lambda来定义阶乘这一递归函数。C#Func factorial = null;factorial = x => x == 0 ? 1 : x * factorial(x - 1);int f5 = factorial(5); // f5 == 120VBDim factorial As Func(Of Integer, Integer)fact原创 2012-07-23 07:17:26 · 2058 阅读 · 0 评论 -
趣味编程:静夜思(Swift版)
// https://stackoverflow.com/questions/31220002/how-to-group-by-the-elements-of-an-array-in-swiftextension Sequence { func group<GroupingType: Hashable>(by key: (Iterator.Element) -> GroupingType)原创 2017-08-01 19:10:32 · 1079 阅读 · 0 评论