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相关推荐

  1. 2018.10.17考试

    2018.10.17考试总结 1.咒语 (curse.pas/c/cpp) [题目描述] 亮亮梦到自己来到了魔法城堡, 但一扇巨大的石门阻拦了他通向城堡内的路.正当他沮丧之际,突然发现门上有一处机关, ...

  2. 训练日志 2018.9.17

    搞虚拟机把电脑搞坏了...送去修了近一个周...现在还没拿回来... 这一周除了看了看算法书,别的啥都没干,比赛临近,该整理的模板什么都还没整理... 今天还因办事不周被教练骂了,说要撤我职,慌得一批 ...

  3. 暑期训练日志----2018.8.17

    训练第19天. 搞了一天的区间DP,基本搞的差不多了,明天查漏补缺把之前的线性DP补一下 到疲惫期了,坚持下去 2018.8.17

  4. 后端进度报告(2018.5.17)

    后端进度报告 (截止2018.5.17) 记录人:曾子轩   一.相关知识学习 1. 框架知识(Spring+SpringMVC+MyBatis):两个多月时间,在一步步探索当中了解大致模样. 2. ...

  5. linux医院项目,LinuxONE Inside的医院就是好医院?!(上)丨IBM超in播2018第17期

    原标题:LinuxONE Inside的医院就是好医院?!(上)丨IBM超in播2018第17期 咱们大家都有去医院看病的经历,现在医院的挂号.取药.交费等环节都离不开信息系统的支持.在给患者带来便利 ...

  6. 【转】Android 自己收集的开源项目和文章集合(持续更新至2018.12.17)

    2017-12-21 1.炫酷开屏动画框架 https://github.com/JoshuaRogue/FancyView 2.防京东,支付宝密码键盘和密码输入框 https://github.co ...

  7. 【一周头条盘点】中国软件网(2018.12.17~2018.12.21)

    每一个企业级应用的人都置顶了中国软件网 中国软件网为你带来最新鲜的行业干货 一周热点 钉钉.人力窝联合成立"人力家",重新定义HR的工作方式 近日,阿里巴巴钉钉联合人力窝在杭州召开 ...

  8. 【一周头条盘点】中国软件网(2018.9.17~2018.9.21)

    每一个企业级应用的人都置顶了中国软件网 中国软件网为你带来最新鲜的行业干货 趋势洞察 ========== 马云详解新制造:在"新零售"之后,"新制造"将改变什 ...

  9. 迅雷X 10.1.7.262正式版去广告本地SVIP 落尘之木修改便携版竖屏版2018.12.17更新

    经历了大半年的测试期,迅雷X自10.1.5版本开始进入正式版阶段!在这大半年里,我们用Electron软件框架完全重写了迅雷X的主界面.并且对下载引擎进行了全面的改进升级.现在,迅雷X将为您带来&qu ...

最新文章

  1. 14个最常见的Kafka面试题及答案【转】
  2. 4.14 | 学习笔记
  3. 网易创新企业大会倒计时,云信将发布新一代音视频技术架构
  4. go gin框架:Any响应任何请求类型
  5. 方法:查询MongoDB数据库中最新一条数据(JAVA)
  6. 什么是函数式编程思维?
  7. ios怎么创建html文件夹,ios 创建html文件
  8. Atitit office ooxml 系列 excel的读取api 框架 poi的使用
  9. Android数据库程序开发必备工具SqliteDev
  10. Android反编译工具总结
  11. acad.exe 中的 0x25c70fc2 (???.arx) 处最可能的异常: 0xC0000005: 读取位置 0x0000009c 时发生访问冲突
  12. 乐观锁实现之CAS算法分析
  13. 微信模拟位置想在哪就在哪(GPS欺骗)
  14. 产品干货1:如何套用闫荣的产品心法?
  15. 增加抖音粉丝投放抖+中,怎么样中断退费呢?
  16. java读加密excel,JAVA读取加密的Excel文件
  17. web开发灵感推荐--34个有吸引力的电影网站设计灵感
  18. 计算机页面排版的笔记,推荐6种简单实用的手绘笔记排版
  19. 华为鸿蒙系统应用开发工具介绍 DevEco Studio
  20. 边用边学计算机英语,译学馆 - 边玩边学英语?你也可以! - Android 应用 - iPad - 【最美应用】...

热门文章

  1. 《系统集成项目管理工程师》必背100个知识点-52成功的项目团队特点
  2. 笔记-项目整体管理-指导与管理项目工作的输出
  3. Docker中部署mysql后SpringBoot连接时提示表不存在(修改表名忽略大小写)
  4. PowerDesigner165安装婆姐汉花教程
  5. Font Awesome一套绝佳的图标字体库和CSS框架的使用
  6. SpringBoot打包时提示:Perhaps you are running on a JRE rather than a JDK?
  7. Python两个版本共存时,命令行升级pip
  8. 如何设置Flutter
  9. 项目管理的五个核心风险区
  10. python标准类型内建模块_Python内建模块struct实例详解