一、程序包含1.数据:运行过程中产生的2.代码:代码指令数据和代码都是存放到内存中的,代码指令在程序加载的时候放到内存,数据是在程序运行的时候在内存中动态地生成,随时会被回收,要定义变量来存放数据内存存储的最小单位是字节,内存中存放的是二进制数,只有1或者0,叫做位,1个字节可以存放8个bit,8位二进制11111111 二、C#的基本数据类型1.整型(sbyte带符号的1个字节的整数,byte不带符号的1个字节的整数)(short带符号的...
如果类成员有private修饰符,就不允许在类范围以外访问这个类成员。对类构造函数应用private修饰符时,则禁止外部类创建该类的实例。尽管看上去有些不好理解(既然不能实例化,那么这个类还有什么用处?),但实际上这是一个功能极其强大的特性。 最明显的是,如果类只通过静态方法和字段来提供功能,那么就常常使用私有构造函数。框架类库FCL中System.Math类就是一个很经典的例子。 System.Math类有两个静态字段:pi和e(自然...
继承:发生在基类和派生类中,也就是父类和子类。 子类继承父类,通过继承可以访问到父类的成员方法,也可以通过重写访问到父类的抽象或者虚方法。。。但是需要注意的一点是在执行过程中,先执行基类中的方法或者是构造函数,再执行子类中的成员方法。如果子类中定义的成员方法和父类中的成员方法一样,并且需要覆盖掉父类的成员方法则需要通过关键字 new 来处理。实现代码如下:staticvoid Main(string[] args){//很重要的一点:继...
引言昨天加了一天班,今天闲来无事,就在想如何将之前的三层和最近一直在学的设计模式给联系在一起,然后就动手弄了个下面的小demo。项目结构项目各个层实现Wolfy.Model层中有一个抽象类BaseModel.cs,User.cs是用户实体类,继承与BaseModel类,是用于类型安全考虑的,让各实体类有个统一的父类,在其他层使用的时候,可以使用里氏替换原则的考虑。1using System;2using System.Collections.Generic;3using System.Linq;4using Sys...
摘要 第二篇主要讲:变量、连接符占位符等、转义字符、数据的计算、数据的转换、try-catch的简单熟悉、复合运算符和自加自减一、变量1.数据存储在内存中:内存叫做RAM,内存被分隔为一小格一小格的,每个小格有个地址。内存的特点是:断电后数据丢失 2.变量:变量代表着一块内存空间,我们可以通过名称向内存 存或读数据,有变量就不需要我们记忆复杂的内存地址 3.声明整数类型,并赋值:int number = 1000; 4.变量的简...
开发过程中需要用的的公众号信息在这里配置,此外需要用到的Url信息无需更改。 /// <summary>/// 微信 需要用到的Url、Json常量/// </summary>public class WeiXinConst{#region Value Const/// <summary>/// 微信开发者 AppId/// </summary>public const string AppId = "你的AppId";/// <summary>/// 微信开发者 Secret/// </summary>public const string Secret = "你得Secret";/// <summary>/// V2:支付请求中 用于加密的秘...
C# 1的核心基础之一——委托C# 1的核心基础之一——委托简单委托的构成合并和删除委托事件的简单讨论委托总结简单委托的构成声明委托类型; delegate void StringProcessor(string input);为委托实例的操作找到一个恰当的方法 void PrintString(string x)完全符合要求 void PrintInteger(int x)参数类型不兼容 void PrintTwoStrings(string x, string y)参数个数不匹配 int GetStringLength(string x)返回类型不匹配 void PrintObj...
一、栈: Stank,先进先出,一个一个赋值,一个一个取值,按照顺序。.count 取集合内元素的个数.push 将元素一个一个推入集合.pop 将元素一个一个弹出集合 .peek 查看集合中的一个元素.clear 清空集合 Stack st=new Stack();干草堆集合初始化 st.Push(0);推入 st.Pop();弹出 st.Clear();清空二、队列集合:Queue,先进先出,一个一个赋值,一个一个取值,按照顺序进行。.count 取集合内元素的个数...
在远程调用WebService时出现下面的情况: 这种情况一般是由于证书有问题时出现,如果在浏览器中打开是这种情况: 解决方法新建一个类,代码如下: 1publicstaticclass CertificateTrust2 {3 4publicstaticvoid SetCertificatePolicy()5 {6 ServicePointManager.ServerCertificateValidationCallback7 += RemoteCertificateValidate;8 } 9privatest...
#region 和#endregion 关键字可以对代码分为几个片段进行说明注释,且可以展开和折叠该段代码区域。基本类型的别名及取值范围:以上数字后面得加字母的,如float值后面必须加上F,不然会被编译器当作double处理。使用Unicode转义序列可以指定Unicode 字符,该转义序列包括标准的\字符,后跟一个u和一个4位十六进制值(例如,单引号的unicode是0x0027)。下面的字符串是等价的:"Karli\‘s string.""Karli\u0027s string."字符串之前加...
枚举1、概念和作用(1)用于存放常量,只能在定义时赋值(防止编程过程中恶意篡改,并且防止对同一事物的不同赋值--统一化)(2)定义的枚举类型需要包含该类型的所有可能的值(3)方法、类、内部都可以定义,一般和类定义在同一个级别,这样所有类都可以用这个枚举了2、定义:enum 类型名称{值1,值2,值3……值n}(默认索引从0开始,值不能是int类型)enum Gender//定义一种枚举类型,只有“男”、“女”两个值{男,//在定义枚举时...
Zookeeper作为分布式的服务框架,虽然是java写的,但是强大的C#也可以连接使用。 C#要连接使用Zookeeper,需要借助第三方插件,而现在主要有两个插件可供使用,分别是ZooKeeperNetEx和Zookeeper.Net Zookeeper.Net好像是是Apache官方提供的,但是5年没更新了,也就是说他依赖于.net framework,因此无法在.net core项目中使用 ZooKeeperNetEx是从java改过来的,因此里面的一些习惯是java风格的,但是好像有人在提供更新维...
数组:数组是一组具有相同类型的值的集合,可以通过索引来访问数组中的元素。声明数组的语法: A.数据类型 [] 数组名称; B.数据类型 [] 数组名称 = new 数据类型[数组大小]; C.int [] arr = {1,3,4,5,5,3,}; 通过指定位置索引:arr[0]多维数组:多个线性数组的值 .GetLength() 一维:int [] arr = new int[2]; 二维:int [,] arr = new int[3,5]; 三维:int [,,] arr = new int[2,4,5]; 多维数组使用GetLength获取...
一个进程有多个线程,线程创建时会占用1MB的栈,栈空间用于向方法传递实参,方法内部定义的局部变量也在栈上,栈从高位内存地址向低位内存地址构建CLR其实允许定义一个同名、同参的方法,但是除了汇编,其他实现了CLR的语言都不允许这么干。这是为毛呢?CLR调用虚方法和非虚方法,CLR提供两个方法指令call、callvirtcall用来调用静态方法,如果是值类型定义的方法,那么CLR将以call来调用非静态方法,因为值类型及时有虚方法也不需要...
变量 是可以改变的值,本质上是内存的空间,用来存储信息数据类型 本质上是数据的一种存储方式,和它能参与的运算的一种抽象数据类型的分类值类型和引用类型的区别 值类型,从栈里互相引用; 引用类型,从堆里去引用;字符串类型的特殊说明一些转义符 原文:http://www.cnblogs.com/ymksp/p/7605716.html