1. 记事本写C#,脱离vs

新建记事本,名字为 helloworld.cs

using System;namespace Hello{public class HelloWorldSay{static void Main(){Console.WriteLine("你好,世界");Console.ReadLine();return;}}
}

简单的使用csc命令编译:

我的目录在:C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\vsvars32.bat

输入命令:csc /out: 输出目录及文件名(.dll或者.exe) 源代码文件

csc /out:F:\net\2014年12
月25日003728\helloworld.exe F:\net\2014年12月25日003728\helloworld.cs

常用的还有csc /t:library  源代码文件      编译成dll

csc /t:exe  源代码文件      编译成exe

csc /t:module  源代码文件

csc /t:winexe  源代码文件

/r用来指定引用的dll

源代码主入口文件可以是 *.cs表示编译文件夹下的所有cs文件

或者生成xml文件-》 csc 源代码文件 /doc:路径+文件名.xml

或者/main:指定哪个方法作为程序的入口点

当然还有其他形式,不具体介绍了,虽然你看似没用,但是 举个实际案例:项目持续发布软件,都是自己拉取svn代码,然后自动编译,或者网页上开发人员自己点编译,现在觉得还没用吗?

2.值类型和引用类型,拆箱与装箱我认为更好的解释,struct的局限

这两种数据存储在内存的不同的地方。值类型存储在堆栈中,存储值,而引用类型存储在托管堆上,简称堆上,存储引用地址。

拆箱与装箱的本质:值类型在转换到System.Object时引发的堆栈和堆的一系列的移动操作。装箱:值类型从堆栈上被复制到堆上,而拆箱时从堆上复制到堆栈上。所以对性能有影响

下面看个 ay=null    说明 ay是个引用类型,表示它不引用任何对象

除了众所周知的一些类型,重点讲下 struct 值类型 和class引用类型

结构可以拥有属性和方法,但没有继承可言,结构可以重写System.Object的虚方法,但不能定义新的虚方法或者抽象方法。不能拥有无参构造函数,也不能为成员变量定义初始值。但性能好,class的功能更多。

类和结构实际上是创建对象的模板。

3.更了解CTS

3.1列举一些值类型

1.整型(从位数少到多排列 8,16,32,64)    有符号(sbyte,short,int,long)    无符号(byte,ushort,uint,ulong),它们每个都对应了CTS中的一个类型,例如long 对应System.Int64

2.浮点(从位数少到多排列 32,64)  float(CTS:System.Single) 32位单精度浮点数     double(CTS:System.Double) 62位双精度浮点数,例如 float ay=12.3F,double ay1=12.3E2,E2代表10的指数是2,就是12.3乘以10的2次方

decimal (CTS:System.Decimal) 128位高精度十进制数表示法,数字后面加M表示Decimal

3.bool (CTS:System.Boolean)

4.Char (CTS:System.Char) 16位的(Unicode)字符

5.枚举Enum

3.2列举一些引用类型

object,string等

这里的string很特殊,是个引用类型,比如2个string 同时引用一个string地址,当s1修改值时候,s2没有变化,因为修改一个字符串,就会创建一个全新的string对象,不信可以运行下面例子。string是比较特殊的引用类型,本质上是运算符重载的结果

  string s1 = "s1";string s2 = s1;Console.WriteLine(s1);Console.WriteLine(s2);s1= "newS1";Console.WriteLine(s1);Console.WriteLine(s2);Console.ReadLine();

效果:

4.C#跳转语句,除了break,continue,return还有goto

goto 不只是跳转到指定标签,还可以用在switch case中,跳转到指定case里面

跳标签的方式,这里不讲了。

4.命名空间的 :: 双冒号(全局作用符)

都知道可以 互相嵌套namespace,给namespace起别名操作,双冒号提下吧

这里的::效果等同于 点号,但是我没说就是点号的替代品。

4.C#的预处理器命令

你肯定用过,例如 #region #endregion

1. #define 和#undef      例如 #define DEBUG,经常与其他预处理器结合使用。

2.同样C#还包括很多,例如#if #elif(等于 else if ) #else #endif,例如 #if DEBUG     #endif 表示 如果项目在DEBUG模式下,就执行下面的代码.

3.#warning "警告测试"      #line    #pragma

5.你可能不知道的 冒号方式调用带默认值的方法(.net framework4.0 +)

6.属性中,是可以增加访问修饰符的

7.静态构造函数的脾气

static 类名{}

不能有访问修饰符,静态构造函数至多运行1次。即在代码引用类之前调用它。

不能带参数,一个类也只能1个静态构造函数。只能访问类的静态成员,不能访问类的实例成员。

他可以与无参数的构造函数共存。在静态构造函数里可以给外部的static readonly字段赋值

构造函数提供了构造函数初始化器,使用this或者base调用。

例如 public A(string des):base(des,4){}

8. WeakReference弱引用与默认的强引用

9. 本章跳过的部分的,你可能想了解的关键字:readonly和const、ref与out,部分类,深复制与浅复制(如果复制完类,如果类中引用了其他类,他只是一个地址,没有复制。最终复制完的对象的地址再返回),GC垃圾回收,C#4.0的拓展方法,这些常规的,没说了

转载于:https://www.cnblogs.com/AaronYang/p/4183798.html

[AaronYang]C#人爱学不学[2]相关推荐

  1. [AaronYang]C#人爱学不学[1]

    当前编写时间:2014年12月24日21:11:14   编写人:杨洋(Aaronyang) 新文章:[AaronYang]C#人爱学不学[1] 声明:->可以理解为 联想到,或者关联的意思. ...

  2. [AaronYang]C#人爱学不学[6]

    不要回头,不要将就,做到这两点,人生就会简单很多幸福很多 --Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 运算符,还有哪些你能学到? 1.1 不安全运算符: si ...

  3. [AaronYang]C#人爱学不学8[事件和.net4.5的弱事件深入浅出]

    没有伟大的愿望,就没有伟大的天才--Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 事件-我的讲法 老师常告诉我,事件是特殊的委托,为委托提供了一种发布/订阅机制. ...

  4. AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享

    AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 原文:AY写给国人的教程- VS2017 Live Unit Testin ...

  5. C#人爱学不学9[C#5.0异步实例+WPF自己的MVVM Async应用 1/12]

    文章摘要: 1. 通过简单DEMO.让读者理解Task和Task<T>    学习过程中,掌握async和await 2. 理解同步和异步的执行 3. Task.Factory.Start ...

  6. 马云:我看到很多人去学MBA 但回来时都变蠢了

     马云:我看到很多人去学MBA 但回来时都变蠢了 2017年03月24日 11:22 每日经济新闻 微博 微信 空间 分享 653 马云最新演讲:我看到很多人去学MBA 但回来时都变蠢了 每经记者 ...

  7. 35 岁 学python 必要_程序员:Python学不学?完全没必要纠结

    随着云计算.大数据.人工智能的大量应用,Python这毛头小子,成了当红炸子鸡,香飘四溢,撒播到互联网的每个角落里. 1 几家欢喜几家愁,欢喜的人,早就用上了,国外的Twitter.Google.Ya ...

  8. 【python零基础入门学习】Python入门,带你快速学习为什么那么多人想学 Python?

    最近,网上流传一组<人工智能实验教材>的图片,照片火起来的原因是教材是为幼儿园的小朋友们设计的! [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aJF1cH ...

  9. 还在犹豫学不学编程技术?未来十年AI将改变世界,犹豫将错失高薪就业机会!

    61岁的比尔·盖茨在给大学毕业生的信息中称当前时代是"一个非常好的时代".当他幸运的时候,他有机会参加20岁时改变世界的数字革命,盖茨如果你今天寻找的机会与你在世界上产生同样的影响 ...

  10. 内向女生适合学计算机吗,性格内向的人适合学计算机专业吗

    技校网专门为您推荐的类似问题答案 问题1: 学计算机专业的想从事别的行业,性格内向,适合什么啊 你要忘记自己学过电脑,然后学习一个技能,现在工作不是看能力,是看关系,能对口的工作,社会上也只有8%不到 ...

最新文章

  1. 安装完Arch后,要安装的软件
  2. yii2分页的基本使用及其配置详解
  3. 《ASP.NET4 从入门到精通》学习笔记4
  4. HALCON双目标定
  5. python实现字符串中中文在前,数字在后且按从小到大排序
  6. html iframe.b.gen 病毒,常见病毒及处理方法.doc
  7. web前端入门学习 css(8)(新增语义化标签、video/audio、新增input类型、新增表单属性、属性选择器、结构伪类选择器、伪元素选择器、css3盒子模型、模糊、calc函数、过渡
  8. 专属微信二维码python制作_如何利用Python制作简单的公众号二维码关注图
  9. gcn代码pytorch_GCN的简单实现(pytorch)
  10. Sharepoint 2013默认dll部署位置
  11. flask.Blueprint
  12. 【Maven】Maven下载源码和Javadoc的方法
  13. UE4之镜头移动到某个actor
  14. Unity3D mac版汉化教程
  15. 蒋小华老师-中高层管理专家-专职助理冰冰
  16. [NLP] 中文文本相似度实战
  17. hass智能 小米扫地机器人_Siri能控制小米扫地机器人吗_小米智能家居控制系统...
  18. 复变|第一章 复数与复变函数 复数
  19. python界面设计-文件操作excel读写-发动机激励、悬置系统模态及振动计算
  20. 【前端学习】前端学习第十九天:浏览器对象模型(BOM)中的对象

热门文章

  1. PE框架学习之道:PE框架——style的配置
  2. C#_delegate EndInvoke
  3. BZOJ3514 / Codechef GERALD07 Chef and Graph Queries LCT、主席树
  4. springMVC简介
  5. Codeforces Round #102 (Div. 1) D Help Shrek and Donkey 2
  6. Lasso估计学习笔记(二)
  7. 利用PyCharm进行Python远程调试
  8. 洛谷p3803 FFT入门
  9. Mac下安装第三方模块报错:‘sqlfront.h‘ file not found的解决办法
  10. iOS开发中的小Tips