数据结构线性数据: 线性表*、栈、队列、串、数组和文件; 非线性数据: 散列表、树和图;线性数据Array 需要处理的元素数量确定并且需要使用下标进行访问时可以考虑,不过建议使用List<T>。ArrayList 不推荐使用,建议使用泛型List<T>。泛型List<T> 需要处理的元素数量不确定时,通常建议使用。LiskedList<T> 链表适合元素数量不固定,而且需要经常增减节点的情况,链表增减元素效率高。Queue<T> 队列适合于先进先出的情况。Stack<T>...
前言:在编写面向对象语言时我们时长离不开相关类型和成员的相关访问性,而访问性的关键则是取决于访问修饰符的声明,其作用是用于指定类型或成员的可访问性。 访问修饰符的六种可访问性级别:public:共有的,访问不受限制; private:私有的,只能在当前类中访问; internal:内部的,只能在当前程序集中访问; protected:受保护的,只能在当前类或其派生类中访问; protected internal:受保护的内部成员,当前程序集或派生自包...
1.自动垃圾回收是什么? ? ? 在非托管环境下程序员要自已管理内存,由疏忽的原因,通常会犯两种错误,请求内存后在不使用时忘记释放,或使用已经释放了的内存。但在托管环境下,程序员不用担心这两个问题,CLR的垃圾回收器在某种条件达到后自动释放已经不需要的内存,CLR能管理的只有内存,CLR并不知道类型中使用了什么本地资源,如果类型使用了特殊资源(数据库连接,文件,套接字,位图,图标等 ),还是需要程序自已手动完成些什...
泛型类 class Program{static void Main(string[] args){//声明泛型类ClassA<int> classA = new ClassA<int>();classA.a = 1;classA.b = 2;Console.WriteLine("a:{0},b:{1}",classA.a,classA.b);ClassA<string> classB = new ClassA<string>();classB.a = "A";classB.b = "B";Console.WriteLine("a:{0},b:{1}", classB.a, classB.b);Console.Read();}}class ClassA<T>{ public T a { get; set; }public T b { get; set; }}泛型...
静态变量和静态方法都必须通过类名来引用。 简单使用示例 using System;class StaticVar {public int x;public static int y;public void PrintInfo(){Console.WriteLine("非静态变量x={0}",x);Console.WriteLine("静态变量y = {0}",y);} } class Test {static void Main(string[] args){StaticVar stv = new StaticVar();stv.x = 10;// stv.y = 20; //error;无法使用实例引用访问静态成员“StaticVar.y”;改用类型名来限定它Stat...
using System; namespace ConsoleTese {class Program{public delegate int dele(int a, int b);static void Main(string[] args){ProductFactory productFactory = new ProductFactory();WrapFation wrapFation = new WrapFation();Func<Product> func = new Func<Product>(productFactory.MakePizza);Func<Product> func1 = new Func<Product>(productFactory.MakeToyCar);Box box= wrapFation.WrapProduct(func);Box box1=wrapF...
感谢大哥 https://www.cnblogs.com/xiaomowang/p/11448414.html 一、什么是线程 一个应用程序就相当于一个进程,进程拥有应用程序的所有资源进程包括线程,进程的资源被线程共享,但不拥有线程。我们可以打开电脑中的任务管理器,运行的.exe都是一个进程,里面的分支是线程。 二、多线程 多线程其实就是进程中一段并行运行的代码 1. 创建并启动线程 1 static void Main()2 {3 //获取线程Id4 ...
? 关于引用类型的值改变 参考: https://blog.csdn.net/nckyYang/article/details/76165741 值类型理解:变量的交换等于在一个新的地方按照连锁店的规范标准(统一店面理解为相同的变量内容)新开一个分店,这样新开的店与其它旧店互不相关、各自运营。 引用类型理解:变量的交换等于把现有一间店的钥匙(变量引用地址)复制一把给了另外一个老板,此时两个老板同时管理一间店,两个老板的行为都有可能对一间店的运营造成影响。 ? 简...
暂停线程: static void Main(string[] args){Thread thread = new Thread(Common.PrintNumbersWithDelay);thread.Start();Common.PrintNumbers();Console.ReadKey();}等待线程:Thread thread = new Thread(Common.PrintNumbersWithDelay);thread.Start();// 等待线程thread.Join();Console.WriteLine("打印完成!");Console.ReadKey();终止线程:static void Main(string[] args){Console.WriteLine("主线程开始...");//创建一个...
C#基础 @author 虾饺 @date 2020/05/13 01 基础语法注释符: //单行注释 /*多行注释*/ /// 文档注释: 多用来解释类或者方法变量: 计算机当中存储数据的量.变量先声明再赋值再使用. 声明: 变量类型 变量名; 赋值: 变量名 = 值; 声明并赋值: 变量类型 变量名 = 值; =不表示等于,而表示赋值.数据类型:int: 整数类型; double: 浮点数类型; decimal: 金钱类型,赋值时后面需要加上m; string: 字符串类型,可为null; char: 字符类型,存储...
namespace ---> System.Text.RegularExpressions. static void Main(string[] args){// if (IsInputMatchesNumber())if (IsInputMatchesNumberByRegx()){Console.WriteLine("Input charectors are all numbers.");}else{Console.WriteLine("Input charectors are not pure numbers.");}}//Common way to judge whether a string is pure numbers or notstatic bool IsInputMatchesNumber(){Console.Write("Please input your passw...
static void Main(string[] args){//How to run C# in VS Code?/*step 0: create a null folder and open it in vscodestep 1: dotnet new consolestep 2: dotnet restorestep 3: dotnet run*/Console.WriteLine("Hello World!");//////////////////////////////////////Common string is unchangable string str = "hello//:www.world.edu.uk";int result = str.CompareTo("hello");//return 0 when 2 strings are the sameresult...
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件、目录和路径的操作有了一定的了解。这一篇开始,给大家演示一下流的各种操作。以文件流为例,一起来看看如何操作吧。注:之前更新了一篇《Spring Cloud 实战日记》,这是一个新的系列,有兴趣的小伙伴可以从我的账号首页进去看看。1. 简单的IO流读写文件 先来看一部分代码: class Program {static void Main(string[] args){var directory = Direc...
知识点一:ADO.NET 简介 为什么需要ADO.NET 这门技术,C#程序需要访问数据库中的数据 微软公司提供的访问数据库技术,是.NET Framework中负责数据访问类库集,是应用程序和数据源之间的桥梁(不填充就没有数据) 作用范围:能够访问SQL Server数据库和XML等数据源;Oracle数据库 体系结构: 1,.NET Framework框架 汽车为什么踩油门就会加速,打方向盘就会转弯; 大家并不关心这些,只要知道我做出相应的操作,这个汽车会给我对应的...
本文转自:http://m.biancheng.net/view/2797.html 循环语句和条件语句一样都是每个程序中必不可少的,循环语句是用来完成一些重复的工作的,以减少编写代码的工作量。C# for 循环是最常用的循环语句,语法形式非常简单,多用于固定次数的循环。具体的语法形式如下。 for(表达式 1; 表达式 2; 表达式3){ 表达式 4;}其中:表达式 1:为循环变量赋初值。 表达式 2:为循环设置循环条件,通常是布尔表达式。 表达式 3:用于改变循环变...