摘要:最近开发项目中,需要自己绘制一张离散的噪点图。研究了好久,终于实现了。 其中我们使用了正态分布。正态分布(英语:normal distribution)又名高斯分布(英语:Gaussian distribution),是一个非常常见的连续概率分布。 这里就不过多介绍了,对正态分布不了解的,可以自己百
阅读全文
摘要:在这里,首先得告诉大家,在C#中,不管是 == ,还是 Equals() 我们都是可以重写的。所以,在具体选择使用两者时,还是得根据这两个方法的具体实现逻辑来选择。 值类型的比较 对于值类型来说,两者比较的都是”内容”是否相同,即 值是否一样,很显然此时两者是划等号的。 结论:对于值类型来说 ,两者
阅读全文
摘要:下面两种情况的原因:我们在赋值时,都是将 int 类型的常量赋给 byte 类型的变量,在这个过程中,编译器会进行判断,如果赋的值在 byte 类型值域内,就可以被赋值,反之依然会报错。 情况一:3+4 是两个常量相加,结果依然是常量,赋值时就会进行相应的判断,能赋值就赋值,不能赋值就不赋值,3+4
阅读全文
摘要:使用文件流需要引用程序集:using System.IO; 文件流涉及到的类很多: FileInfo:操作类。通过实例化对象,通过对象去调用方法实现对文件的操作。如果需要对文件进行大量操作,建议使用这个类。 File:操作类。是一个静态类,可以通过类直接调用方法实现对文件的操作,比较方便。如果是对文
阅读全文
摘要:字符串的特点: 1、字符串是引用类型:字符串的数据是存储在堆空间中,栈空间中的变量存储了该数据的引用地址。 2、字符串是不可变的:当给一个字符串变量重新赋值时,旧值并没有销毁,而是重新开辟一块空间来存新值。 3、字符串可以看做是一个只读的字符数组:也就是说我们可以用for循环遍历字符串,得到所有的单
阅读全文
摘要:隐式转换[自动类型转换]: 两种类型要兼容,原类型值域要小于目标类型值域,可以简单的理解为由小转大。 1 public class Test 2 { 3 private void Start() 4 { 5 int a = 10; 6 float b = a;//int 类型隐式转换为 float
阅读全文
摘要:构造方法:用于实例化对象。 一般情况下,类或者结构体中都会存在一个默认的无参构造方法。如果我们在类中手动书写了有参的构造方法,那么这个无参构造方法就会被覆盖掉;但是结构体中却不会被覆盖,即使我们在结构体中书写了有参构造方法,无参构造方法依然可以使用。 【在使用单例模式时,我们可以书写 private
阅读全文
摘要:静态类:用关键字 static 修饰过的类。 静态类中不能存在对象成员;静态类不能实例化。 嵌套类:将一个类定义在一个类的内部,内部的类叫嵌套类,外面的类叫外部类。 嵌套类和普通类相似,只是声明位置比较特殊。 如果想实例化嵌套类的对象,需要使用 外部类名·嵌套类名 的方式访问到嵌套类。 在一个项目中
阅读全文
摘要:我们在定义方法时,经常会涉及到传参。因为引用类型的数据在用变量存储时,是存储的地址,所以在传参时,依然是传递的地址,但是值类型的数据在传参时就会有所不同。值类型数据在调用方法传参时,普通情况下是值传递,但是如果使用了 ref 关键字,就会变成引用传递。所以才会出现下图的结果: 如果在一个方法中需要返
阅读全文
摘要:pubulic:公开访问,所有类中都可以访问到。 private:私有访问,只能在当前类内部进行访问,在其他类中都访问不到。 protected:保护访问,只能在当前类以及该类的子类中访问,子类的子类依然可以访问。 internal:内部访问,只能在当前程序集中访问;在同一个项目中,internal
阅读全文
摘要:在C#中,我们常用的转义字符有: \n:表示换行(回车)。【在windows系统中,回车符其实是有两个符号组成:\r\n;有很多软件只能识别 \r\n,不能识别 \n。在Linux系统中回车符是:\n】 \":表示英文的双引号。 \':表示英文的单引号。 \t:表示一个tab键的大空格(制表符)。
阅读全文
摘要:虚方法: 1、在父类方法的返回值前加 virtual 关键字,标记为虚方法,表示这个方法可以被子类重写。 2、虚方法必须有方法体,方法体中可以没有任何内容。 3、子类可以根据需求选择性的是否重写虚方法。如果需要重写,在子类方法的返回值前加 override 关键字。 4、子类在重写虚方法时,可以根据
阅读全文
摘要:上面的代码是我们在使用继承时,子类和父类的构造函数的写法。构造方法能否被继承,我觉得应该这样理解: 父类是对子类的抽象,也就是说父类和子类可以合并写成一个类,合并后的类写出来的构造函数,不仅会包含子类的构造函数的内容,还会包含父类的构造函数的内容,所以我觉得这里不能看成是子类继承父类的构造函数,看成
阅读全文
摘要:Stopwatch:秒表计时器,用来记录程序的运行时间,通常用来测试代码在时间上的执行效率。(需要引用:System.Diagnostics。) Stopwatch sw=new Stopwatch();//实例化一个对象。 sw.Start():开启计时器。 sw.Stop():关闭计时器。 sw
阅读全文
摘要:析构方法: 与构造方法正好相反,构造方法用于实例化一个对象,析构方法用于清理一个对象。在C#中不需要我们书写析构方法,编译系统会自动帮我们完成这项工作。 需要注意以下几点: 1、析构方法不能有任何参数,且无返回值,无访问修饰符。 2、一个类中只能有一个析构方法,意思就是说不能重载。(也不能被继承)
阅读全文
摘要:字符串的缺点: String 对象是不可改变的。每次使用 System.String 类中的方法之一时,都要在内存中创建一个新的字符串对象,这就需要为该新对象分配新的空间。在需要对字符串执行重复修改的情况下,就会产生大量的垃圾数据,占用浪费内存空间,这时就可以使用 System.Text.Strin
阅读全文