c#基础知识
文章平均质量分 60
1进击的小白
作为一个程序员,你可以忘了学习的高数,可以忘了学习的英语,可以忘了学习的线性代数…. 但是千万别忘了学习
展开
-
C# 交叉数组和二维数组
int[][] myArray1 = new int[3][]; //交叉数据int[][] myArray2 = new int[3][] { new int[3] { 5, 6, 2 }, new int[5] { 6, 9, 7, 8, 3 }, new int[3] { 3, 2, 4 } }; //交叉数据(赋值)int[,] myArray5 = new int[3, 3]; //二维数据int[,] myArray6 = new int[3, 3] {...转载 2021-10-13 15:48:08 · 458 阅读 · 0 评论 -
泛型的意义和作用是啥?
简单的说,意义和作用有: 类型的参数化,就是可以把类型像方法的参数那样传递。这一点意义非凡。 泛型使编译器可以在编译期间对类型进行检查以提高类型安全,减少运行时由于对象类型不匹配引发的异常。 泛型方法,算法的复用。蛮神奇的。想要理解为什么引入泛型,就要知道没有泛型的麻烦。 我们知道现在的程序开发都是面向对象了,所以程序里会有很多各种类型的对象,对象多了肯定需要有某种类型的容器来装。所以就有了一些容器类型,比如数组、ArrayList、HashMap、TreeSet等。 对于数组,我转载 2020-08-19 07:59:49 · 711 阅读 · 1 评论 -
C# 字典
1. 使用字典原因 通常情况下,我们可以通过int类型的索引号来从数组或者list集合中查询所需的数据。但是如果情况稍微复杂一点:索引号是非int型数据比如string或其他类型该如何操作呢。这个时候我们就可以使用字典了。2. 什么是字典 顾名思义,字典是一种让我们可以通过索引号查询到特定数据的数据结构类型。 关键字 DIctionary3. 用法及注意事项 (1) C#的Dictionary<Tkey,TValue>类在内部维护两个数组来实现该功...转载 2020-07-07 11:13:03 · 554 阅读 · 0 评论 -
依赖注入实例
1.5 实现依赖注入1.5.1 背景介绍设计模式中,尤其是结构型模式很多时候解决的就是对象间的依赖关系,变依赖具体为依赖抽象。平时开发中如果发现客户程序依赖某个(或某类)对象,我们常常会对它们进行一次抽象,形成抽象的抽象类、接口,这样客户程序就可以摆脱所依赖的具体类型。这个过程中有个环节被忽略了——谁来选择客户程序需要的满足抽象类型的具体类型呢?通过后面的介绍你会发现很多时候创建型模式可以比较优雅地解决这个问题。但另一问题出现了,如果您设计的不是具体业务逻辑,而是公共库或框架程序,这时候您是一个转载 2020-05-24 14:47:02 · 302 阅读 · 0 评论 -
internal 修饰符 备忘
.internal 修饰符起什么作用?答:internal 修饰符可以用于类型或成员,使用该修饰符声明的类型或成员只能在同一程集内访问接口的成员不能使用 internal 修饰符值得注意的是,如果为 internal 成员加上了 protected 修饰符,这时的访问级别为 internal或 protected。只是看字面意思容易弄错,许多人认为 internal protected 应该是“只有同一个程序集中的子类可以访问”,但其实它表示“同一个程序集中的所有类,以及所有程序集中的子类都可以访.转载 2020-05-22 10:37:08 · 428 阅读 · 0 评论 -
[c#]用两个栈实现一个队列&用两个队列实现一个栈
代码:static void Main(string[] args) { queueClass queue = new queueClass(); queue.push(1); queue.push(2); queue.push(3); Console.WriteLine("队列输出:"); Console.WriteLine(queue.po原创 2020-05-11 22:55:18 · 344 阅读 · 0 评论 -
net中特性和属性和字段定义
什么是特性? MADN的定义为:公共语言运行时允许添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来向运行时描述你的代码,或者在程序运行的时候影响应用程序的行为。 我们简单的总结为:定制特性attribute,本质上是一个类,其为目标元素提供关联附加信息,并在运行期以反射的方式来获取附加信息。具体的特性实现方法,在接下来的讨论中继续深入.转载 2020-05-09 11:03:18 · 505 阅读 · 0 评论 -
c#索引器
https://www.cnblogs.com/lgx5/p/9448361.html索引器(Indexer)是C#引入的一个新型的类成员,它使得类中的对象可以像数组那样方便、直观的被引用。索引器非常类似于属性,但索引器可以有参数列表,且只能作用在实例对象上,而不能在类上直接作用。定义了索引器的类可以让您像访问数组一样的使用 [ ] 运算符访问类的成员。(当然高级的应用还有很多,比如说可以把数...转载 2020-04-27 10:20:16 · 1384 阅读 · 0 评论 -
手写三层架构(Model,DAL,BLL,UI)
三层架构分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体类库(Model)1、实体类库(Model),主要存放数据库中的表字段。操作:(1)先建立实体类库Model,打开项目,在解决方案中右键–》添加–》新建项目–》选中类库–》改名Model–》确定(2)选中Model类库–》Shift+ALT+C–》建立实体类。UserInfo类namespace...转载 2020-03-27 20:45:46 · 664 阅读 · 0 评论 -
c#基础知识梳理
三大特性,封装继承多态封装是把字段封装为属性,通过get set访问器进行访问,目的是为了对获取值和设置值进行控制,包括对值的验证和处理,访问的权限控制,主要是为了安全,字段定义为public就可以随意的获取和修改字段,无法保证数据安全public class test{ private string name; public string name{ g...原创 2019-02-14 11:22:33 · 171 阅读 · 0 评论 -
virtual与override的使用
原文:https://www.cnblogs.com/yanyao/p/4830768.html在函数的声明中,当有“virtual”修饰的时候,和没有virtual有什么区别呢?最重要的一点就是调用实例的函数是在编译的时候确定还是在运行的时候确定,virtual函数是在运行的时候来确定具体调用哪个类。这个特性是和父子类继承息息相关的。这儿有个例子,在网上很多地方被转载,我稍微扩展了...原创 2019-02-14 10:35:41 · 647 阅读 · 0 评论 -
c# UTF-8解码编码及数组与List<string>之间转换等基本知识点总结
Encoding utf8 = Encoding.UTF8;//首先用utf-8进行解码 string code = HttpUtility.UrlDecode(str.ToUpper(), utf8);//将已经解码的字符再次进行编码.string encode = HttpUtility.UrlEncode(code, utf8).ToUp...原创 2018-11-06 17:54:10 · 1260 阅读 · 0 评论 -
c#中关于ref和out概念及使用
1 关于重载原则:有out|ref关键字的方法可以与无out和ref关键字的方法构成重载;但如想在out和ref间重载,编译器将提示:不能定义仅在ref和out的上的方法重载2 关于调用前初始值原则:ref作为参数的函数在调用前,实参必须赋初始值。否则编译器将提示:使用了未赋值的局部变量;out作为参数的函数在调用前,实参可以不赋初始值。3 关于在函数内,引入的参数初始值问题...转载 2018-09-28 14:45:28 · 373 阅读 · 0 评论 -
using作用及处理异常应用
一、两种运用方式:1.引入命名空间的类库方法,或者命名空间别名;允许在命名空间中使用类型,这样就不必在该命名空间中限定某个类型的使用: 复制代码 using System.Text; 为命名空间或类型创建别名。这称为“using 别名指令”。 复制代码 using Project = PC.MyCompany.Project; 2.资源释放的作用范围:跳出using作用的范围...转载 2018-09-28 15:19:58 · 1009 阅读 · 0 评论 -
C#中Linq的使用(转载)
正文Linq定义LINQ(Language Integrated Query)语言集成查询是一组用于c#和Visual Basic语言的扩展。它允许编写C#或者Visual Basic代码以查询数据库相同的方式操作内存数据。经常听说linq to xml,linq to sql,linq to entities , 凡是某一类数据的集合都可以使用Linq,如object、DbSet(EF...转载 2018-10-08 11:36:29 · 340 阅读 · 0 评论 -
文件另存为功能 c# File.Copy介绍
利用.NET中的File.Copy方法命名空间:System.IO重载列表:Copy(string sourceFilePath,string targetFilePath) sourceFilePath:要复制的文件路径。 targetFilePath:目标文件的路径,不能是目录和现有的文件 如果目标文件已经存在,会产生IOException ...转载 2018-10-10 15:19:37 · 5028 阅读 · 0 评论 -
sql 、linq、lambda 查询语句的区别
原文:https://www.cnblogs.com/xiaz/p/5324328.htmlLINQ的书写格式如下: from 临时变量 in 集合对象或数据库对象 where 条件表达式 [order by条件] select 临时变量中被查询的值 [group by 条件] Lambda表达式的书写格式如下:(参数列表) => 表达式或者语句...转载 2019-02-15 10:55:28 · 141 阅读 · 0 评论 -
c# sealed关键字学习
原文:http://www.cnblogs.com/iamdaiyuan/archive/2007/02/06/642442.htmlsealed的中文意思是密封,故名思义,就是由它修饰的类或方法将不能被继承或是重写。 sealed关键字的作用: 在类声明中使用sealed可防止其它类继承此类;在方法声明中使用sealed修饰符可防止扩充类...转载 2019-02-13 14:06:32 · 169 阅读 · 0 评论 -
C#自定义异常
原文:https://www.cnblogs.com/zw971084570/p/7061747.html继承自System.ApplicationException类,并使用Exception作为自定义异常类名的结尾 三个构造函数:一个无参构造函数;一个字符串参数的构造函数;一个字符串参数,一个内部异常作为参数的构造函数 public class MyException : Appli...转载 2019-02-13 10:51:49 · 936 阅读 · 0 评论 -
C#类和函数(构造函数、析构函数)
原网址:https://blog.csdn.net/qq_36821136/article/details/76042081C# 类(Class)当你定义一个类时,你定义了一个数据类型的蓝图。这实际上并没有定义任何的数据,但它定义了类的名称意味着什么,也就是说,类的对象由什么组成及在这个对象上可执行什么操作。对象是类的实例。构成类的方法和变量成为类的成员。类的定义类的定义是以关键字 c...转载 2019-02-12 14:29:33 · 552 阅读 · 0 评论 -
c#字段封装
原文:https://blog.csdn.net/hamber_bao/article/details/6504621封装是OOP(面向对象编程)三大特征之一。为什么需要封装?首先看以下代码public class Student { public int age; public string name; ...转载 2019-01-31 14:33:20 · 1801 阅读 · 0 评论 -
面向对象之多态
原网址:https://www.kancloud.cn/wizardforcel/msdn-csharp/114299多态性常被视为自封装和继承之后,面向对象的编程的第三个支柱。Polymorphism(多态性)是一个希腊词,指“多种形态”,多态性具有两个截然不同的方面: 在运行时,在方法参数和集合或数组等位置,派生类的对象可以作为基类的对象处理。发生此情况时,该对象的声明类型不再与运...转载 2019-01-31 15:12:27 · 119 阅读 · 0 评论 -
面向对象之继承
原网址:https://www.cnblogs.com/visionfeng/p/6592134.html介绍:第一天的内容主要是不同情形下的方法重载。这一部分则主要讲面向对象中继承的概念。首先用一个要点图形来定义继承。 继承一个简单的例子: 1 2 3 4 5 6 7 8 9 10 11...转载 2019-01-31 14:30:43 · 187 阅读 · 0 评论 -
接口和抽象类的定义和使用
原文网址:https://www.cnblogs.com/fangyz/p/5259619.html其他相关内容网址:https://www.cnblogs.com/ben-zhang/archive/2012/12/18/2823455.htmlhttps://blog.csdn.net/softwareldu/article/details/44948775接口和抽象类的区别:ht...转载 2019-01-30 09:56:32 · 729 阅读 · 0 评论 -
拆箱和装箱(转载)
原文:https://www.cnblogs.com/anding/p/5236739.html1.什么是拆箱和装箱?2.什么是箱子?3.箱子放在哪里?4.装箱和拆箱有什么性能影响?5.如何避免隐身装箱?6.箱子的基本结构?7.装箱的过程?8.拆箱的过程?9.下面这段代码输出什么?共发生多少次装箱?多少次拆箱?int i = 5;object obj =...转载 2018-12-06 16:58:07 · 121 阅读 · 0 评论 -
LINQ用法学习(转载)
语言集成查询 (LINQ) 是一组技术的名称,这些技术建立在将查询功能直接集成到 C# 语言(以及 Visual Basic 和可能的任何其他 .NET 语言)的基础上。 借助于 LINQ,查询现在已是高级语言构造,就如同类、方法、事件等等。对于编写查询的开发人员来说,LINQ 最明显的“语言集成”部分是查询表达式。 查询表达式是使用 C# 3.0 中引入的声明性查询语法编写的。 通过使用查询语...转载 2018-10-11 11:37:32 · 496 阅读 · 0 评论 -
FileStream常用的属性与方法总结(转载)
原网址:https://www.jb51.net/article/45696.htm对流进行操作时要引用 using System.IO; 命名空间FileStream常用的属性和方法:属性:CanRead 判断当前流是否支持读取,返回bool值,True表示可以读取CanWrite 判断当前流是否支持写入,返回bool值,True表示可以写入方法:Read() 从流中...转载 2018-12-01 09:55:02 · 290 阅读 · 0 评论 -
C# partial 作用
partial是局部类型的意思就是说有这个关键字的类、结构或接口可以写成几个部分是为了把一个类分到两个文件里,达到物理分离逻辑不分离。partial 表示这个类这里的代码只是一部分代码.你可以再另外的.cs文件中再写这个类的另外一部分代码.比如public partial class Program{static void Main(string[] args){}}...转载 2018-11-22 15:19:29 · 405 阅读 · 0 评论 -
C#委托和事件
原文:http://www.tracefact.net/tech/009.html原文很详细,这里我只把结论梳理了一下将方法作为方法的参数委托是一个类,它定义了方法的类型,使得可以将方法当成另一个方法的参数进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用if-else(switch)语句,同时使得程序具有更好的可扩展性using System;using Sys...转载 2019-02-14 17:15:04 · 112 阅读 · 0 评论