目标:辨别并使用Null值 反模式:将Null值作为普通的值,反之亦然 1.在表达式中使用Null: Null值与空字符串是不一样的,Null值参与任何的加.减.乘.除等其他运算,结果都是Null: Null值与False也不同.And.Or和Not三个bool操作如果设计Null,结果很迷惑. 2.搜索运行为空的列:任何与Null的比较逗返回“未知”,既不是True,也不是False. 在Where表达式中只能使用 Is Null 或者 Is Not Null,其他操作都查询不到结果. 3.不…
既前两篇之后,这一篇我们讨论通过struct 关键字自定义值类型. 在第一篇已经讨论过值类型的优势,节省空间,不会触发Gargage Collection等等. 在对性能要求比较高的场景下,通过struct代替类是不错的选择. 那么,比如我们定义一个Point 类型,里面包含两个左边X, Y. public struct Point { public int X; public int Y; public Point(int x, int y) { X = x; Y = y; } } 是不是这样…
现在有一个从控制台读取输入的小程序: #include "../std_lib_facilities.h" int main() { cout << "Please enter your first name and age\n"; string first_name; int age; cin >> first_name; cin >> age; cout << "Hello, " <<…
开发第一应用 可以开发属于自己的应用,是否有点小激动?好吧!让我们开始,首先点击Start a new Android Studio Project创建工程:接下来需要输入应用名称(第一个字母要大写).公司域以及指定应用存放目录,点击Next按钮进入下一步: 如果第一个字母不是大写,会提示:The application name for most app begins with an uppercase letter 接下来需要选择开发什么设备(可选“手机和平板”.“穿戴(Wear)”.“TV…
constexpr:修饰常量表达式,约定修饰对象不仅为常量,而且在编译阶段就能得到值. 与const不同的是,constexpr约束的是当事人,就是说,constexpr int *a=1;这样的语句,a指针本身是const,并且右边也足够简单,而const int*a:这样的语句,则约定了a指向对象是const,这是不同点.constexpr直接限定为顶层const. 类型别名:传统的是typedef, typedef double a; a b = 1.1; 类似这样的代码么就是说a是一个d…