.NET理解为一个运行库环境和一个全面的基础类库。

.NET三个关键实体(构造块):CLR、 CTS、 CLS

公共语言运行库层为CLR 。功能:定位加载和管理.NET类型。也负责底层的工作如内存管理,处理线程等等。

公共类型系统:CTS 。 描述了运行库所支持所有可能的数据类型和编程结构。

公共语言规范:CLS。定义所有.NET都支持的公用类型和编程结构的子集。

Reflector查看程序集,反编译。

三层架构

三层架构分为UI(表现层),BLL(业务逻辑层) DAL(数据访问层)

使用三层架构的目的是解耦。 任何一层发生变化都不会影响到另外一层。结构清晰,可维护性高,有利于同步开发。

两者主要功能是用来返回多个值

给个例子:

 class test
{
public int getParts(double n, out double frac)
{
int whole; whole = (int)n; frac = n - whole; //pass fractional小数 part back through frac
return whole; //return integer portion 返回整数部分
}
class Program
{
static void Main(string[] args)
{ test Tout = new test();
int i;
double f;
i = Tout.getParts(12666.56789, out f);
Console.WriteLine("整数部分:" + i);
Console.WriteLine("小数部分:{0:#.###}", f);
Console.WriteLine("小数部分:" + f);
Console.ReadKey();//监听键盘事件,按任意键执行退出 }
}
}

效果如下:

成员重载:当定义一组名字相同的成员(它们的参数数量或者类型不同时),这样的成员被叫做重载。

C#的+符号被编译器处理为String.Concat()调用。

堆和栈的区别

栈 是先进后出,后进先出。
堆 树形数据结构,通常是而叉堆,大顶堆或者小顶堆。堆的存取是随意的。

堆和栈的区别

内存中的堆区和栈区

堆和栈的区别主要有五大点,分别是:
.申请方式的不同。栈由系统自动分配,而堆是人为申请开辟;
.申请大小的不同。栈获得的空间较小,而堆获得的空间较大;
.申请效率的不同。栈由系统自动分配,速度较快,而堆一般速度比较慢;
.存储内容的不同。栈在函数调用时,函数调用语句的下一条可执行语句的地址第一个进
栈,然后函数的各个参数进栈,其中静态变量是不入栈的。而堆一般是在头部用一个字节存放堆
的大小,堆中的具体内容是人为安排;
.底层不同。栈是连续的空间,而堆是不连续的空间。

堆区和栈区的区别

对于引用类型的任何对象,它所有的数据成员都存放在堆里,无论它们是值类型还是引用类型.

声明类类型的变量所分配的内存是用来保存引用的,而不是用来保存类对象实际数据的.要为实际数据分配内存,需要使用new运算符.

C#其他知识的更多相关文章

  1. 你必须知道的EF知识和经验

    注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...

  2. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  3. 学点HTTP知识

    不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...

  4. java中的字符串相关知识整理

    字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...

  5. [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?

    你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...

  6. [C#] C# 知识回顾 - 学会处理异常

    学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...

  7. [C#] C# 知识回顾 - 学会使用异常

    学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...

  8. [C#] C# 知识回顾 - 异常介绍

    异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...

  9. [.NET] C# 知识回顾 - Event 事件

    C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...

  10. [.NET] C# 知识回顾 - 事件入门

    C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...

随机推荐

  1. Cascader 级联选择器

    当一个数据集合有清晰的层级结构时,可通过级联选择器逐级查看并选择. 基础用法 有两种触发子菜单的方式 只需为 Cascader 的options属性指定选项数组即可渲染出一个级联选择器. 通过expa ...

  2. python 提示 :OverflowError: Python int too large to convert to C long

    一次在使用orm进行联表查询的时候,出现   Python int too large to convert to C long 的问题: 在分析错误之后,在错误最后面提示中有: File " ...

  3. windows 10 右键菜单 使用vscode打开 快捷键

    呼出菜单栏(鼠标右键或快捷键shift+f10)之后按i 资料: 1.如何为windows 10添加右键context menu item https://stackoverflow.com/ques ...

  4. 阶段3 2.Spring_02.程序间耦合_5 编写工厂类和配置文件

    先把dao的实现复制一份到别的地方.然后删除项目里面的AccountDaoImpl这个dao的实现类 删除 service层就开始报错了 这个时候运行直接报错 把文件复制回来就不报错了 解决依赖关系 ...

  5. 炼丹的一些trick

    采摘一些大佬的果实: 知乎:如何理解深度学习分布式训练中的large batch size与learning rate的关系? https://blog.csdn.net/shanglianlm/ar ...

  6. nodejs+koa2 实现一个get请求

    html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. Mac OS X 11中的/usr/bin 的“Operation not permitted”

    更新了 Mac OS X 11后发现,MacVim 不再能够通过Terminal用命令打开了. mvim hello.txt 于是尝试将 mvim 重新复制到/usr/bin/中去 sudo cp - ...

  8. maven坐标Dependencies和Exclusions详解

    1.概念介绍 Dependencies:是可选依赖(Optional Dependencies) Exclusions:是依赖排除(Dependency Exclusions) 2.Dependenc ...

  9. void *与id类型的相互转换

    void *与id类型相互转换 在MRC下,void *与id类型相互转换完全没问题. id obj = [[NSObject alloc] init]; void *p = (void *)p; o ...

  10. 【6.12校内test】T3 城市交通费

    要不我先去写T2吧(逃 先把题目搞上来: [问题描述] 有 n 个城市,编号 1~n.其中 i 号城市的繁华度为 pi.省内有 m 条可以双向同行的高速 公路,编号 1~m.编号为 j 的高速公路连接 ...