C#其他知识
.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#其他知识的更多相关文章
- 你必须知道的EF知识和经验
注意:以下内容如果没有特别申明,默认使用的EF6.0版本,code first模式. 推荐MiniProfiler插件 工欲善其事,必先利其器. 我们使用EF和在很大程度提高了开发速度,不过随之带来的 ...
- MySQL高级知识- MySQL的架构介绍
[TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...
- 学点HTTP知识
不学无术 又一次感觉到不学无术,被人一问Http知识尽然一点也没答上来,丢人丢到家了啊.平时也看许多的技术文章,为什么到了关键时刻就答不上来呢? 确实发现一个问题,光看是没有用的,需要实践.看别人说的 ...
- java中的字符串相关知识整理
字符串为什么这么重要 写了多年java的开发应该对String不陌生,但是我却越发觉得它陌生.每学一门编程语言就会与字符串这个关键词打不少交道.看来它真的很重要. 字符串就是一系列的字符组合的串,如果 ...
- [C#] C# 知识回顾 - 你真的懂异常(Exception)吗?
你真的懂异常(Exception)吗? 目录 异常介绍 异常的特点 怎样使用异常 处理异常的 try-catch-finally 捕获异常的 Catch 块 释放资源的 Finally 块 一.异常介 ...
- [C#] C# 知识回顾 - 学会处理异常
学会处理异常 你可以使用 try 块来对你觉得可能会出现异常的代码进行分区. 其中,与之关联的 catch 块可用于处理任何异常情况. 一个包含代码的 finally 块,无论 try 块中是否在运行 ...
- [C#] C# 知识回顾 - 学会使用异常
学会使用异常 在 C# 中,程序中在运行时出现的错误,会不断在程序中进行传播,这种机制称为“异常”. 异常通常由错误的代码引发,并由能够更正错误的代码进行 catch. 异常可由 .NET 的 CLR ...
- [C#] C# 知识回顾 - 异常介绍
异常介绍 我们平时在写程序时,无意中(或技术不够),而导致程序运行时出现意外(或异常),对于这个问题, C# 有专门的异常处理程序. 异常处理所涉及到的关键字有 try.catch 和 finally ...
- [.NET] C# 知识回顾 - Event 事件
C# 知识回顾 - Event 事件 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6060297.html 序 昨天,通过<C# 知识回顾 - ...
- [.NET] C# 知识回顾 - 事件入门
C# 知识回顾 - 事件入门 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/6057301.html 序 之前通过<C# 知识回顾 - 委托 de ...
随机推荐
- 深度学习基础——Epoch、Iteration、Batchsize
原文地址:https://www.cnblogs.com/Johnny-z6951/p/11201081.html 梯度下降是一个在机器学习中用于寻找较佳结果(曲线的最小值)的迭代优化算法.梯度的含义 ...
- python获取豆瓣日记
最近迷上了看了四个春天,迷上了饭叔的豆瓣日记,想全部抓取下来,简单了写了下面的脚本 import urllib.request import os from bs4 import BeautifulS ...
- 【DVWA】Brute Force(暴力破解)通关教程
日期:2019-08-01 14:49:47 更新: 作者:Bay0net 介绍:一直以为爆破很简单,直到学习了 Burp 的宏录制和匹配关键词,才发现 burp 能这么玩... 0x01. 漏洞介绍 ...
- dapper使用时性能优化
数据库中类型 Area 数据库类型 varchar dapper 来操作数据库,不能直接写 sql Area=@Area) //dapper 对C#中的字符串类型 默认是对应数据库nva ...
- WinForm和WPF中注册热键
由于.Net没有提供专门的类库处理热键,所以需要直接调用windows API来解决. HotKey为.NET调用Windows API的封装代码,主要是RegisterHotKey和Unregist ...
- nginx+keepalived(双主)
一.环境 nginx1 192.168.40.211 nginx2 192.168.40.132 vip1 192.168.40.223 主为keep1,从为keep2 vip2 ...
- (转)Jenkins2.0 Pipeline 插件执行持续集成发布流程 - git -资料 - 不错的文档
1.Jenkins 2.0 的精髓是 Pipeline as Code Jenkins 2.0 的精髓是 Pipeline as Code,是帮助 Jenkins 实现 CI 到 CD 转变的重要角色 ...
- spring boot-8.静态资源映射
1.webjars WebJars是将客户端(浏览器)资源(javascript,Css等)打成jar包文件,以对资源进行统一依赖管理.WebJars的jar包部署在Maven中央仓库上.官网地址:h ...
- MySQL -1- 简介及安装
第一章 MySQL 大纲介绍 1.官方定义的MySQL DBA工作内容 (1)运维DBA 初级:各版本.各平台安装搭建.升级 中级:体系结构原理.基础管理(启动关闭.初始化配置文件管理.多实例管理.用 ...
- C语言 --- 高级指针
1. 指针赋值: C语言允许使用赋值运算进行指针的赋值,前提是两个指针具有相同的类型. int i,*p,*q; p = &i; ...