C# 2018.9.17
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的更多相关文章
- International Programming Retreat Day(2018.11.17)
时间:2018.11.17地点:北京国华投资大厦
- Dell Technology Summit(2018.10.17)
时间:2018.10.17地点:北京国家会议中心
- Intel Digital Innovation Industry Summit(2018.08.17)
时间:2018.08.17地点:北京金隅喜来登大酒店
- 调试大叔V2.1.0(2018.12.17)|http/s接口调试、数据分析程序员辅助开发神器
2018.12.17 - 调试大叔 V2.1.0*升级http通讯协议版本,完美解决Set-Cookie引起的系列问题:*新增Content-Type编码格式参数,支持保存(解决模拟不同网站或手机请求 ...
- 中美贸易战再次开启,世界两极化进程正在加快形成!..... 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/
- 2018.12.17 bzoj3667: Rabin-Miller算法(Pollard-rho)
传送门 Pollard−rhoPollard-rhoPollard−rho板题. 题意简述:给出几个数,让你判断是不是质数,如果不是质数就求出其最大质因子,数的大小为1e181e181e18以内. 先 ...
- 2018.12.17 bzoj4802: 欧拉函数(Pollard-rho)
传送门 Pollard−rhoPollard-rhoPollard−rho模板题. 题意简述:求ϕ(n),n≤1e18\phi(n),n\le 1e18ϕ(n),n≤1e18 先把nnn用Pollar ...
- 2018.12.17 hdu2138 How many prime numbers(miller-rbin)
传送门 miller−rabbinmiller-rabbinmiller−rabbin素数测试的模板题. 实际上miller−rabinmiller-rabinmiller−rabin就是利用费马小定 ...
- 2018.4.17 java多线程练习二模拟开场仪式进场
2.某公司组织年会,会议入场时有两个入口,在入场时每位员工都能获取一张双色球彩票,假设公司有100个员工,利用多线程模拟年会入场过程, 并分别统计每个入口入场的人数,以及每个员工拿到的彩票的号码.线程 ...
- 读书笔记-《Maven实战》-2018/4/17
第五章 坐标和依赖 1.如同笛卡尔坐标系一样,Maven也通过坐标三元素定位一个资源. <groupId>com.dengchengchao.test</groupId> &l ...
随机推荐
- [UE4]GameplayAbilities,技能系统插件
Unreal Engine 4(虚幻UE4)GameplayAbilities 插件入门教程(七)Ability的信息传递等 Unreal Engine 4(虚幻UE4)GameplayAbili ...
- Java队列Queue
上个星期总结了一下synchronized相关的知识,这次将Queue相关的知识总结一下,和朋友们分享. 在Java多线程应用中,队列的使用率很高,多数生产消费模型的首选数据结构就是队列.Java提供 ...
- ORA-22922: 不存在的 LOB 值 可以使用外层嵌套wm_concat()解决
select kw0408id, sjbh, ksrs, kch, to_char(wm_concat(kcmc)) as kcmc, ksxs, kssc, ksfs, kcxz, xsyx, nj ...
- SSH配置文件详解
SSH:是一种安全通道协议,主要用来实现字符界面的远程登录,远程复制等功能. 在RHEL系统中SSH使用的是OpenSSH服务器,由opensh,openssh-server等软件包提供的. sshd ...
- 第11章 拾遗4:IPv6(3)_配置IPv6路由
5. 配置IPv6路由 5.1 配置IPv6静态路由 (1)在路由器上配置静态路由(以R1路由器为例) //静态路由 R1#config t R1(config)#ipv6 unicast-routi ...
- C#窗体嵌入SetParent的用法
模块化的开发,将模块合并到一起的时候,遇到了Mdi不能添加到其它窗口下的问题. 分两种情况: 将mdi窗口A设成普通窗口B的子控件,需要将A的TopLevel设置成false,但是Mdi窗口的TopL ...
- GIT命令行笔记
一次常规的初始化+推送: git initgit config user.email "you@example.com"git config user.name "asm ...
- CentOS7自定义安装git
1. 介绍 使用Coding管理项目,上面要求使用的git版本为1.8.0以上,而很多yum源上自动安装的git版本为1.7,所以需要掌握手动编译安装git方法. 2. 安装git依赖包yum ins ...
- [UGUI]图文混排(二):Text源码分析
UGUI源码: https://bitbucket.org/Unity-Technologies/ui/downloads/?tab=tags 首先下载一份UGUI源码,这里我下载的版本是5.3.2f ...
- 37.scrapy解决翻页及采集杭州造价网站材料数据
1.目标采集地址: http://183.129.219.195:8081/bs/hzzjb/web/list 2.这里的翻页还是较为简单的,只要模拟post请求发送data包含关键参数就能获取下一页 ...