C#的优点:
1,不会有运行时崩溃,解决了C++的痛点一,难预防,难查错
2,使用文件不需要包含进来,只需要using namespace即可,解决了C++的痛点二,包含复杂,路径复杂,编译复杂
3,编译速度极快,解决了C++的痛点三
4,库代码易懂,智能提示好。
std::map<int, <error-type>, std::less<int>, std::allocator<std::pair<const int, <error-type>>>>

5,对于中小应用极其方便,因为内存托管
6,完善,丰富,易用,高效的各种功能库:线程,网络,数据库,窗口编程库
7,强大的语言新特性:lambda,委托,正则,局部函数,闭包,linq,
6,简洁,易用,功能全,开发效率高,是生产利器
7,有U3D光环加成,微软亲儿子,非常适合用于游戏开发,兼具了运行效率与开发效率,兼合了C++,LUA的功能

readonly : 运行时常量,仅能在定义时初始化或在构造函数中被初始化,
它仅指对象本身不能被改变,但对象内部数据可以被改变,这是不同于C++常引用的地方,C#没有常引用类似的功能
const: 编译时常量

as 与强制类型转换:
as 只能用在类或结构上,有父子关系
as 要比强制类型转换安全,效率高。为什么效率高?try-catch

如何比较两个变量的内存地址是否相同? referenceEquals

静态构造函数,
1,在类的静态变量第一次被使用时调用。
2,不能直接被调用
3,静态构造函数必须无参

静态构造函数机制实现线程安全的单例:
//方式一,
public static CSingleTest inst;
static CSingleTest()
{
inst = new CSingleTest();
}
CSingleTest()//这里有什么用???
{
Console.WriteLine("constructor");
}

//方式二
public static CSingleTest inst = new CSingleTest();
static CSingleTest()
{
Console.WriteLine("static constructor");
}
CSingleTest()//这里有什么用???
{
Console.WriteLine("constructor");
}

线程同步机制:对象锁

class safetySingletonByLock
{
object _lock = new object();
public static safetySingletonByLock inst;
safetySingletonByLock()
{
if(null == inst)
{
lock (_lock)
{
if (null == inst)
inst = new safetySingletonByLock();
}
}
}
}

结构体相等比较,默认情况下是如何比较的??? 内容对比,如何验证? 随着数据复杂性提升而变慢,而引用类型则不会这样
为什么不是地址比较???? 值类型

构造函数可以被主动调用
子类的每个构造函数默认都会调用父类的无参构造函数
一个构造函数最多只能调用一个构造函数,这个被调用的构造函数可以是本类的,父类的

根据以上原理,常见的问题:
1,父类仅有带参构造函数时,子类构造函数必须主动调用父类构造函数
class xbase{
protected xbase(float fx){}
}
class child : xbase {
public float fx;
public xbase() : base(1)//必须调用父类构造函数
,this(2)//error,只能调用一个构造函数
,fx(2); //error, C++初始化列表方式不再支持
{
}
public xbase(float fx){}
}

泛型问题

C# 2018.9.17的更多相关文章

  1. International Programming Retreat Day(2018.11.17)

    时间:2018.11.17地点:北京国华投资大厦

  2. Dell Technology Summit(2018.10.17)

    时间:2018.10.17地点:北京国家会议中心

  3. Intel Digital Innovation Industry Summit(2018.08.17)

    时间:2018.08.17地点:北京金隅喜来登大酒店

  4. 调试大叔V2.1.0(2018.12.17)|http/s接口调试、数据分析程序员辅助开发神器

    2018.12.17 - 调试大叔 V2.1.0*升级http通讯协议版本,完美解决Set-Cookie引起的系列问题:*新增Content-Type编码格式参数,支持保存(解决模拟不同网站或手机请求 ...

  5. 中美贸易战再次开启,世界两极化进程正在加快形成!..... Copyright: 1688澳洲新闻网 Read more at: https://www.1688.com.au/world/international/2018/06/17/369368/

    中美贸易战再次开启,世界两极化进程正在加快形成! https://www.1688.com.au/world/international/2018/06/17/369368/

  6. 2018.12.17 bzoj3667: Rabin-Miller算法(Pollard-rho)

    传送门 Pollard−rhoPollard-rhoPollard−rho板题. 题意简述:给出几个数,让你判断是不是质数,如果不是质数就求出其最大质因子,数的大小为1e181e181e18以内. 先 ...

  7. 2018.12.17 bzoj4802: 欧拉函数(Pollard-rho)

    传送门 Pollard−rhoPollard-rhoPollard−rho模板题. 题意简述:求ϕ(n),n≤1e18\phi(n),n\le 1e18ϕ(n),n≤1e18 先把nnn用Pollar ...

  8. 2018.12.17 hdu2138 How many prime numbers(miller-rbin)

    传送门 miller−rabbinmiller-rabbinmiller−rabbin素数测试的模板题. 实际上miller−rabinmiller-rabinmiller−rabin就是利用费马小定 ...

  9. 2018.4.17 java多线程练习二模拟开场仪式进场

    2.某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程, 并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码.线程 ...

  10. 读书笔记-《Maven实战》-2018/4/17

    第五章 坐标和依赖 1.如同笛卡尔坐标系一样,Maven也通过坐标三元素定位一个资源. <groupId>com.dengchengchao.test</groupId> &l ...

随机推荐

  1. python之路——1

    王二学习python的笔记以及记录,如有雷同,那也没事,欢迎交流,wx:wyb199594 学习内容 python的历史: python2 源码不标准,混乱,重复代码太多, python3 统一 标准 ...

  2. android adb push 命令

    1.获得root权限:adb root 2.设置/system为可读写:adb remount 3.将PC机上文件复制到手机:adb push 文件名  /system/lib

  3. OpenStack Nova虚拟机创建流程解析

    https://yikun.github.io/2017/09/27/OpenStack-Nova%E8%99%9A%E6%8B%9F%E6%9C%BA%E5%88%9B%E5%BB%BA%E6%B5 ...

  4. 熟悉SQL Server 数据类型

    SQL Server中包含了4种不同的数据类型,一 数字型,二 日期与时间, 三 字符串, 四 其他 上述4个大类中,每一类包含一定数量的子类. 表中的每一列,被声明的变量,参数等,都必须有与之相对应 ...

  5. 初级安全入门—— WEBshell与文件上传漏洞

    概念介绍 WebShell网页木马文件 最常见利用文件上传漏洞的方法就是上传网站木马(WebShell)文件,根据开发语言的不同又分为ASP木马.PHP木马.JSP木马等,该木马利用了脚本语言中的系统 ...

  6. CheckedListBox  数据绑定

    CheckedListBox  数据绑定方式有多总,常用的绑定方式总结如下: 1.  Items.Add 通过 Itemes.Add 方法来向 CheckedListBox  中添加项 2. Data ...

  7. 了解一下,Java 虚拟机

    1.1 - 概述     Java 总述:Java 不仅是一门编程语言,还是一个由一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署的支持环境,并广泛应用于 嵌入式 ...

  8. h5项目如何打成war包

    有着java的运行环境,进入到h5工作目录,运行: jar -cvf projectname.war ./* projectname为项目的名称.

  9. (转)3款优秀的移动webAPP网站在线测试工具

    原文:原文地址 目前适配各个终端的需求越来越强烈呢?比如我们APP项目上线之后,需要一个宣传推广专题页,这个页面当然最好是采取响应式布局来完成.因为需要来推广和下载我们的APP. 无论用户是电脑打开, ...

  10. 20165205 预习作业三 Linux安装及学习

    Linux安装及学习 安装Ubuntu 1)安装版本 在安装VirtualBox时选择了VirtualBox 5.2.6 platform package 安装Ubuntu时选择了Ubuntu 16. ...