- 博客(23)
- 资源 (4)
- 收藏
- 关注
原创 C#基础:Lambda表达式匿名方法
示例代码如下:public class Program{ static int counter = 0; static string displayString = "消息显示文本"; static void WriteChar(object source,ElapsedEventArgs e) { if (cou...
2018-11-23 22:48:23 195
原创 C#基础:可选参数和命名参数
可选参数:调用参数时,常常需要给方法传参数,例如public List<string> GetValue(string str,bool b1,boolb2){},str是必须参数,如果给b1,b2提供一个默认值,就可以把b1,b2变成可选参数,调用方法时,如果不给b1,b2传值,就使用默认值。默认值必须是字面值,常量或者默认值类型的值。可选参数必须位于方法参数列表末尾...
2018-11-23 22:26:18 1163
原创 C#基础:动态查找dynamic
动态查找技术,是为了处理其他语言创建的交互技术。使用dynamic关键字修饰public class MyClass1 { //参数也可以用dynamic修饰 public int Add(dynamic var1, dynamic var2) => var1 + var2;//浪漫哒表达式 } public class ...
2018-11-23 21:52:16 1445
原创 C#基础:对象初始化器和集合初始化器
初始化器提供一种简洁的方式实例化和初始化对象。 public class Curry { //自动属性 public string MainIngredient { get; set; } public string Style { get; set; } public int Spiciness { get; set;...
2018-11-23 21:17:29 306
原创 C#基础:特性
C#特性是一种代码标记信息,这中信息可以从外部读取。[attribute].示例代码如下: //创建特性 AllowMultiple允许多次使用,AttributeUsage应用到什么类型的目标 AttributeTargets构造函数参数值 [AttributeUsage(AttributeTargets.Class|AttributeTargets.Method,A...
2018-11-23 19:41:53 168
原创 C#基础:匿名方法
利用委托实现一个打印完成事件正常方法:public delegate void Print();//定义委托 class Printer{ public static void PrintFinished(){ Console.WriteLine("正常方法打印完成!"); } } public static void Main(string[]...
2018-11-23 17:37:51 108
原创 C#基础:观察者设计模式,委托与事件
我们就简单的写一个猫和老鼠的示例,如下//猫 public class Cat { public delegate void CatShoutDele (string name);//委托 猫叫委托 public event CatShoutDele catshoutdele;//事件 猫叫事件 private string name;//名字 pu...
2018-11-23 15:57:18 181
原创 C#基础:自定义异常
//通过继承Exception类来实现自己定义异常public class CardOutOfRangeException:Exception{ public Cards cards; public Cards Cards{ get{return cards;} } public CardO...
2018-11-23 15:30:43 210
原创 C#基础:泛型类和泛型方法
C#中的泛型能够将类型作为参数传递,创建类型是用符号T作为占位符代替实际类型,实例化时,用实际类型替换。定义泛型类: public class Farm<T> :IEnumerator<T> where T :Animal//泛型类使用where关键字进行约束 { ...
2018-11-23 14:56:40 1552
原创 C#基础:协变和抗变
把泛型类型参数定义为斜变,可以使用out关键字,接口 public interface Method<out T>{...}对于接口定义 斜变可以作为参数返回值,或者属性的get; 把泛型类型参数定义为抗变,可以使用in关键字,接口 public interface Method<in T>{...}对于接口定...
2018-11-22 02:15:48 442
原创 C#基础:泛型集合排序和查找
泛型List<T>Sort()方法,Find()方法。示例代码如下:public static void Main(string[] args){ List<int> ls = new List<int>(); ls.Add(5); ls.Add(3); ls....
2018-11-22 01:07:25 589
原创 C#基础:泛型字典
//Dictionary<K,V>示例代码 public static void Main(string[] args){ Dictionary<string, int> things = new Dictionary<string, int>(); things.Add("Green Things", 29); ...
2018-11-22 00:38:46 1093
原创 C#基础:自定义显式转换和隐式转换
显式转换和隐式转换不仅可以用在数学运算符,还可以自定义类型之间的显式转换和隐式转换。示例代码如下: //自定义 隐式转换,显示转换 public class ConvClass1 {//类型1:隐式转换关键字implicit public int val; //int类型 operator运算符关键字 public static ...
2018-11-21 23:10:11 470
原创 C#基础:运算符重载
运算符重载可以对类使用。关键字operator .可以重载的运算符:一元运算符:+,-,!,~,++,--,true,false 二元运算符:+,-,*,/,%,&,|,`,<<,>> 比较运算符:==,!=,<...
2018-11-21 22:47:23 672
原创 C#基础:内部类
内部类是嵌套在类的内部,内部类可以访问类的private,protected成员。 示例代码如下: public class ClassA{//外部类 private int state = -1;//私有字段 public int State { get => state; set => state = value; } ...
2018-11-21 21:57:20 1132
原创 C#基础:结构体和类的区别
结构体和类非常相似,结构体用struct修饰,类用class修饰,结构体是值类型,类是引用类型。具体示例代码如下: public class MyClass//类 { public int val; } public struct MyStruct://结构体 { publ...
2018-11-21 21:31:15 148
原创 C#基础:迭代器原理
在迭代器块中,使用yield关键字返回给foreach循环中使用的值,下面是迭代器的原理。SimpleList()是迭代器块。 public static IEnumerable SimpleList()//迭代器使用yield return返回值给foreach { yield return "string 1"; yie...
2018-11-08 16:14:30 406
原创 C#基础:自定义字典的使用
字典,通过key---value键值对存储,访问数据的,可以通过继承DictionaryBase类来创建自定义字典,DictionaryBase类实现了IEnumerable和ICollection接口。 public abstract class Animal//父类,抽象类 { private string name; public strin...
2018-11-08 14:35:25 3439
原创 C#基础:定义集合
我们可以创建自己的集合,可以从System.Collections.CollectionBase类中派生,CollectionBase实现了接口IEnumerable,ICollection,IList. public abstract class Animal//父类,抽象类 { private string name; public strin...
2018-11-08 12:25:55 1291
原创 C#基础:高级集合
命名空间System.Collections.ArrayList,实现IList,ICollection,IEnumerable接口,相比数组,可以添加,删除等。 public abstract class Animal//父类,抽象类 { private string name; public string Name { ...
2018-11-08 11:43:17 184
原创 C#基础:数组(对象数组)
数组实现位System.Array类的实例,实现了IList,ICollection,IEnumerable接口,数组一旦创建大小固定,不能添加,删除元素。 public abstract class Animal//父类,抽象类 { private string name; public string Name { ...
2018-11-08 11:23:11 2097
原创 C#基础:判断一个数是否是质数
质数是一个除了1和本身,不能被任何数整除的数 int number = int.Parse(Console.ReadLine());//输入一个数 bool isTrue = true; for (int i = 2; i < number; i++) { if (number ...
2018-11-08 11:06:02 6364 2
原创 C#基础:部分类,部分方法的简单使用
如果创建的类中包含一种类型或者其它类型的许多成员时,就很容易引起混淆,就可以使用部分类定义,把类的定义放在多个文件中。例如,可以将字段,属性,构造放在一个文件中,方法放到另一个文件中。部分方法是在一个部分类中定义,另一个部分类中实现。 部分类使用partial关键字定义。示例代码如下:public partial class ClassA{//partial定...
2018-11-06 22:36:18 872
unity3d UI 插件 NGUI
2019-09-17
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人