一:泛型 关于泛型我自己也不是很好的理解,但是具体的运用还是可以的,可以这样的理解,我们定义一个数组,但是不知道将来它是保存什么类型的值,很是矛盾,这个时候泛型就出现了,它可以解决这个场景,list<T> 以前这里是类型,前提是我们知道这里将来保存什么值,现在不知道了使用T(Type)来表示,将来什么类型的值都可以保存在里面。这个在集合,项目底层一些公共的接口,类之中使用的特别多。二:集合线型集合----List<T> ...
继承分为两部分,接口继承和实现继承。 实现继承:表示一个新类派生于基类,他享有基类中所有的函数和字段(对基类私有函数和字段不可访问)。 接口继承:表示一个类型只继承了函数的签名,没有继承任何的实现代码,通常用于具有某种特定的属性的时候使用它。virtual(虚方法) 如果继承类想要重写基类的方法,可以把基类的方法写成虚方法,在继承类中采用override关键字重写。abstract(抽象方法和抽象类) 抽象类...
List<T>.sort()可以实现对T的排序,比如List<int>.sort()执行后集合会按照int从小到大排序。如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写CompareTo方法来实现。流程如下: 一.第一步我们申明一个类Person但是要继承IComparable接口: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;nam...
相信算法对于许多开发人员来说都是一大难点,之所以难,就像设计模式一样,许多人在阅读之后,没有很好地理解,也不愿意动手上机操作,只停留在理论的学习上面,随着时间推移就慢慢淡忘。有些东西,你可以发明创造,但是有些东西呢,你要么死记硬背,要么好好理解并动手进行练习来巩固。搞开发的话,死记硬背没用,好好理解火候还是差一点。最好的方式,还要在理解的基础上多敲敲代码,使自己即知其然,又知其所以然。本篇只是简单...
一、什么是深拷贝和浅拷贝对于所有面向对象的语言,复制永远是一个容易引发讨论的题目,C#中也不例外。此类问题在面试中极其容易被问到,我们应该在了解浅拷贝和深拷贝基本概念的基础上,从设计的角度进一步考虑如何支持对象的拷贝。在System.Object类中,有一个受保护的方法object.MemberwiseClone(),这个方法实现了对象的复制。事实上,它所实现的就是我们所称的浅拷贝。所谓的浅拷贝,是指拷贝一个对象的时候,拷贝原始对象中所...
0. 前言上一篇内容介绍了Console类和Math类,这篇内容着重介绍一下C#中时间日期的处理方式。上一篇勘误: 上一篇中关于静态类没有构造函数,这一表述有误。正确的说法是C#中静态类不包含常规构造函数,但可以添加一个静态构造函数。 静态构造函数与普通普通构造函数的区别是,静态构造函数没有访问修饰符,即访问修饰符是默认的,且静态构造函数只能是无参的,并添加 static 修饰符;静态构造函数不能手动调用,会在类加载的时候由...
ASP.NET中的C#基础知识说明:asp.net作为一种开发框架现在已经广为应用,其开发的基础除了前端的html、css、JavaScript等后端最重要的语言支持还是C#,下面将主要用到的基础知识做一个总结,方面后面的学习。一、C#是一种面向对象的变成语言,主要用于开发可以在.net平台上运行的应用程序。是一种强类型语言,一次每个变量都必须具有声明类型。C#中有两种数据类型:值类型和引用类型。(其中值类型用于存储值,引用类型用于存储实际...
C# 设计基础 (一) C#项目的组成结构项目结构.config ---配置文件(存放配置参数文件).csproj ---项目文件(管理文件项).sln ---解决方案文件(管理项目).cs ---源文件(程序代码)函数的四要素名称,输入,输出,加工主函数的内容Console.ReadKey(); //输入语句Console.ReadLine();//输入语句Console.WriteLine();//输出语句Console.Writeline();//输出语句 Namespace ConsoleApplication1 命名空间Class Program ...
C#稳固基础:传统遍历与迭代器 =============C#.Net 篇目录============== 示例代码:示例代码_for_Csharp稳固基础:传统遍历与迭代器 (下载) Hello,Coders。我们除了天天的码 if…else…之外,还会不断的码出foreach。我今天要说的是:传统遍历需实现的接口及我们还有一种更简洁优雅的方式实现多种迭代器。 传统遍历 传统的遍历即通过让集合类实现IEnumerable、IEnumerator或IEnumerable<T>、IEnumerator<T>接...
本次主要比较C#语言基础与C++的不同,主要包括类型,变量,常量,枚举方法,标识符,语句,操作符,预处理指令。其中大部分大同小异,主要选择一些极特殊的做出说明:1. 先看一条代码:int index = 1;Console.WriteLine("output : {0}" , index)代码结果是输出: output : 1其中index的值会代入到替换参数{0}的位置上。2.C#要求if语句只能接受布尔值 if(temp == 32) 这条语句在C#和C++中都是没问题的,但是 if(temp = 32) ...
1. if 1var a = 3003if (a == 100) { 5 print(100) 7 } elseif (a == 200) { 9 print(200)11 } elif (a == 300) {13 print(300)15 } elseif (a == 400) {17 print(400)19 } else {21 print(0)23 } else if(有空格) 和 elif 和 elseif(无空格) 三种写法都可以使用,都当作 else if 使用 if 里面的变量 除了 false和null 其他变量全部可以判断通过 例如 if(1) if([]) if ({}) 都会判断通过 ...
C# 是微软公司在2000年发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.Net 的应用而开发的语言。它吸收了 C++、visual basic、delphi、java 等语言的优点,体现了当今最新的程序设计技术的功能精华。Net框架为C#提供了一个强大的易用逻辑结构一直的程序设计环境。同时,公共语言运行时为C#程序语言提供了一个托管的运行时环境,使程序比以往更加稳定、安全。其特点有:1语言简洁2保留了C++的强大功能3快速应用开发...
(一)Model实体类 实体类层需要安装Kogel.Dapper.Extension表名字段特性。[更多特性详情请点击]using Kogel.Dapper.Extension.Attributes; public class users { /// <summary> /// 用户id(特性Identity标识该字段为主键) /// </summary> [Identity] public int id { get; set; } /// <summary> /// code /// </summary> public string code { get; se...
一. .net framework 的特点 1.两个主要组件 1> CLR 表示运行时的环境,同时也保证了.net 中的一种一种语言具有的功能其他语言也都具有; 2> 统一的类库集 2.MSIL : 我的理解是 程序-JIT编译器(MSIL)-CLR二. C# 特点 1.首先 是Windows平台上的主要编程语言,所有产品都是由Microsoft一家公司开发的,所以继承性比较好 2.优点: 优雅即代码比较让人看懂,比较明确;现代;面向对象;类型安全 3.类...
函数/方法:非常抽象独立完成某项功能的一个个体函数的作用:提高代码的重用性提高功能开发的效率提高程序代码的可维护性函数分为:固定功能函数高度抽象函数函数四要素:输入,输出,函数体,函数名public static 返回值类型 函数名(需要的参数,第二个,int a,string b){ return 上面的返回值类型;}函数的多种形态:1、有参数,有返回值2、无参数,无返回值3、有参数,无返回值4、无参数,有返回值函数返回多个值的办法:ref - 可出...