C# 2018.9.17
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){}
}
泛型问题
posted on 2018-09-17 16:35 时空观察者9号 阅读(...) 评论(...) 编辑 收藏
C# 2018.9.17相关推荐
- 2018.10.17考试
2018.10.17考试总结 1.咒语 (curse.pas/c/cpp) [题目描述] 亮亮梦到自己来到了魔法城堡, 但一扇巨大的石门阻拦了他通向城堡内的路.正当他沮丧之际,突然发现门上有一处机关, ...
- 训练日志 2018.9.17
搞虚拟机把电脑搞坏了...送去修了近一个周...现在还没拿回来... 这一周除了看了看算法书,别的啥都没干,比赛临近,该整理的模板什么都还没整理... 今天还因办事不周被教练骂了,说要撤我职,慌得一批 ...
- 暑期训练日志----2018.8.17
训练第19天. 搞了一天的区间DP,基本搞的差不多了,明天查漏补缺把之前的线性DP补一下 到疲惫期了,坚持下去 2018.8.17
- 后端进度报告(2018.5.17)
后端进度报告 (截止2018.5.17) 记录人:曾子轩 一.相关知识学习 1. 框架知识(Spring+SpringMVC+MyBatis):两个多月时间,在一步步探索当中了解大致模样. 2. ...
- linux医院项目,LinuxONE Inside的医院就是好医院?!(上)丨IBM超in播2018第17期
原标题:LinuxONE Inside的医院就是好医院?!(上)丨IBM超in播2018第17期 咱们大家都有去医院看病的经历,现在医院的挂号.取药.交费等环节都离不开信息系统的支持.在给患者带来便利 ...
- 【转】Android 自己收集的开源项目和文章集合(持续更新至2018.12.17)
2017-12-21 1.炫酷开屏动画框架 https://github.com/JoshuaRogue/FancyView 2.防京东,支付宝密码键盘和密码输入框 https://github.co ...
- 【一周头条盘点】中国软件网(2018.12.17~2018.12.21)
每一个企业级应用的人都置顶了中国软件网 中国软件网为你带来最新鲜的行业干货 一周热点 钉钉.人力窝联合成立"人力家",重新定义HR的工作方式 近日,阿里巴巴钉钉联合人力窝在杭州召开 ...
- 【一周头条盘点】中国软件网(2018.9.17~2018.9.21)
每一个企业级应用的人都置顶了中国软件网 中国软件网为你带来最新鲜的行业干货 趋势洞察 ========== 马云详解新制造:在"新零售"之后,"新制造"将改变什 ...
- 迅雷X 10.1.7.262正式版去广告本地SVIP 落尘之木修改便携版竖屏版2018.12.17更新
经历了大半年的测试期,迅雷X自10.1.5版本开始进入正式版阶段!在这大半年里,我们用Electron软件框架完全重写了迅雷X的主界面.并且对下载引擎进行了全面的改进升级.现在,迅雷X将为您带来&qu ...
最新文章
- 14个最常见的Kafka面试题及答案【转】
- 4.14 | 学习笔记
- 网易创新企业大会倒计时,云信将发布新一代音视频技术架构
- go gin框架:Any响应任何请求类型
- 方法:查询MongoDB数据库中最新一条数据(JAVA)
- 什么是函数式编程思维?
- ios怎么创建html文件夹,ios 创建html文件
- Atitit office ooxml 系列 excel的读取api 框架 poi的使用
- Android数据库程序开发必备工具SqliteDev
- Android反编译工具总结
- acad.exe 中的 0x25c70fc2 (???.arx) 处最可能的异常: 0xC0000005: 读取位置 0x0000009c 时发生访问冲突
- 乐观锁实现之CAS算法分析
- 微信模拟位置想在哪就在哪(GPS欺骗)
- 产品干货1:如何套用闫荣的产品心法?
- 增加抖音粉丝投放抖+中,怎么样中断退费呢?
- java读加密excel,JAVA读取加密的Excel文件
- web开发灵感推荐--34个有吸引力的电影网站设计灵感
- 计算机页面排版的笔记,推荐6种简单实用的手绘笔记排版
- 华为鸿蒙系统应用开发工具介绍 DevEco Studio
- 边用边学计算机英语,译学馆 - 边玩边学英语?你也可以! - Android 应用 - iPad - 【最美应用】...
热门文章
- 《系统集成项目管理工程师》必背100个知识点-52成功的项目团队特点
- 笔记-项目整体管理-指导与管理项目工作的输出
- Docker中部署mysql后SpringBoot连接时提示表不存在(修改表名忽略大小写)
- PowerDesigner165安装婆姐汉花教程
- Font Awesome一套绝佳的图标字体库和CSS框架的使用
- SpringBoot打包时提示:Perhaps you are running on a JRE rather than a JDK?
- Python两个版本共存时,命令行升级pip
- 如何设置Flutter
- 项目管理的五个核心风险区
- python标准类型内建模块_Python内建模块struct实例详解