
C# 入门
xuanyin235
稳住,我们能赢!!!
展开
-
C#入门一一委托(delegate)
一、委托的使用 委托可以理解为函数的一个包装,它使得C#中的函数可以作为参数来被传递,这在作用上相当于C++中的函数指针。我们先来看一个完整的委托示例:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace Example_delega...原创 2018-04-05 16:02:58 · 317 阅读 · 0 评论 -
C# 入门一一Lambda表达式
定义:Lambda表达式可以理解为一个匿名方法,它可以包含表达式和语句,并且用于创建委托或转换为表达式树。使用“=>”运算符,该运算符左边是匿名方法的输入参数,右边是表达式或语句块。用法一:创建委托public class Friend{ public string Name; public Friend( string name ) { Name = name;...原创 2019-03-12 17:21:27 · 398 阅读 · 0 评论 -
C# 入门一一可空类型、匿名方法和迭代器
一、可空类型定义:可空类型也是值类型,但它是包含null值的值类型。有两种表示方式,如下://T?a 类型 ---第一种int? value = 1;//Nullable<T> ---第二种Nullable<int> value = 1; 代码可以通过HasValue属性来判断可空类型是否有值:如果有值则直接输出可空类型的值;如果没有值,...原创 2019-03-11 23:45:46 · 348 阅读 · 0 评论 -
C# 入门一一泛型
一、定义泛型:通过参数化类型来实现在同一份代码上操作多种数据类型。利用“参数化类型”将类型抽象化,从而实现灵活的复用。//Compare<T>为泛型类,T为类型参数public class Compare<T> where T : IComparable{ public static T CompareGeneric( T t1, T t2 ) { i...原创 2019-03-11 16:31:15 · 251 阅读 · 0 评论 -
C# 入门一一值类型和引用类型
一、值类型和引用类型的区别上表区别中,关于值的存储方式:通常被分配在线程的堆栈上,表明还有个例:(1). 在引用类型中嵌套值类型(2). 值类型装箱这两种情况下,值类型的实例会被分配到托管堆中。1. 引用类型中嵌套定义值类型 如果类的字段类型是值类型,它将作为引用类型实例的一部分,被分配到托管堆中。但那些作为局部变量(例如下列代码中的c变量)的值类型,则仍会被...原创 2019-03-11 12:17:08 · 231 阅读 · 0 评论 -
C# 入门一一面向对象
面向对象的三个基本特征:封装——把客观事物封装成类,并将类内部的实现隐藏,以保证数据的完整性。继承——通过继承可以复用父类的代码。多态——允许将子对象赋值给父对象的一种能力。一、封装定义:把内部的数据隐藏起来,不让对象实例直接对其操作。C#提供了属性机制来对类内部的状态进行操作。在C#中封装可以通过public、private、protected和internal等关键字来...原创 2019-03-09 11:12:48 · 258 阅读 · 0 评论 -
C# 入门一一事件(event)的应用:如何在TextBox控件中实时显示Log
上一章节我们介绍了事件(event)的相关用法,那么我们利用所学知识,实现在TextBox控件中实时显示Log的一个功能。同样,针对事件,我们需要明确事件的两类角色:1.事件发布者:是指触发事件的对象,本例中,Log每写一行数据便触发相应事件2.事件订阅者:是指捕获事件并作出相应处理,本例中,捕获到Log每次写入一行这个事件,作出实时在TextBox控件中显示的处理接下来,我们按照...原创 2019-03-08 18:32:10 · 4495 阅读 · 0 评论 -
C# 入门一一事件(event)
一、什么是事件事件涉及两类角色——事件发布者和事件订阅者事件发布者:是指触发事件的对象,发布消息。事件订阅者:是指捕获事件并作出相应处理。二、使用事件我们先来查看一个完整的使用事件示例:示例一:using System;using System.Collections.Generic;using System.Linq;using System.Text;n...原创 2019-03-08 16:58:54 · 1262 阅读 · 0 评论 -
C#入门一一回调函数
概念: 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 回调函数不是由该函数的实现方直接调用,而是在特定的事件或条件发生时由另外的一方调用的,用于对该事件或条件进行响应。通俗点讲就是讲某个实现函数作为参数传入另一个函数中去,当然我们可以通过委托接口等其他一些手段...原创 2019-01-28 09:51:39 · 1507 阅读 · 1 评论 -
C#入门一一类(class)
一、什么是类类的定义class Person //默认修饰符是internal,表示仅在当前项目内可被访问{ //Class members}类访问修饰符注意:(1). 在C#中只能有一个基类,如果继承了一个抽象类,则必须实现所继承的所有抽象成员(除非派生类也是抽象的)(2). 派生类的访问性不可高于基类(3). 除了继承基类还可以继承接口,接口可以...转载 2018-08-17 08:45:29 · 565 阅读 · 0 评论 -
C#入门一一IComparable与IComparer
C#中的基本类型都提供了默认的比较算法,C#可以调用比较算法为基本类型的数组进行排序。若希望对自建类进行比较或排序,那么可以使用IComparable<T>和IComparer<T>接口。一、IComparable<T>接口继承IComparable<T>接口,可以给自建类实现一个通用的比较方法,使自建类的数组或List<T>...原创 2018-08-16 23:35:22 · 372 阅读 · 0 评论 -
C#入门一一字段与属性的区别
在C#中,我们可以非常自由的、毫无限制的访问公有字段,但在一些场合中,可能存在以下几种情况(1).希望限制只能给字段赋于某个范围的值(2).要求字段只能读或只能写(3).在改变字段时能改变对象的其他一些状态 这些单靠字段是无法做到的,于是就有了属性,属性中包含两个块:set和get,set块负责属性的写入工作,get块负责属性的读取工作。在两个块中都可以做一些其他操作,如...原创 2018-08-16 17:01:51 · 359 阅读 · 0 评论 -
C#入门一一this的几种用法
用法一:this代表当前实例对象using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ public class Test { private string strText = "...原创 2018-08-18 17:16:41 · 5722 阅读 · 1 评论 -
C#入门一一接口(interface)
一、如何使用接口来编程一、接口定义 接口是把公共实例(非静态)方法和属性组合起来,以封装特定功能的一个集合.一旦定义了接口,就可以在类中实现它.这样,类就可以支持接口所指定的所有属性和成员. C#接口中包含方法、属性、索引器和事件的声明,但常用的接口中一般就是方法和属性。不能包含常量、字段、运算符、实例构造函数、析构函数等类型。接口成员会自动成为公共成员,不能...原创 2018-04-13 17:42:38 · 565 阅读 · 0 评论 -
C# 入门一一扩展方法
概念:用来扩展已定义类型中的方法成员的一种方法。用途:如果想为一个已有类型自定义含有特殊逻辑的新方法时,不想通过重新定义一个类型来继承已有类型的方式去添加该方法,另外当已有类型为值类型或密封类(不能被继承的类)等也不能被继承时,我们可以使用扩展方法来解决。示例:using System;using System.Collections.Generic;using System.L...原创 2019-03-13 09:54:52 · 202 阅读 · 0 评论