C#知识
主要讲解C#的一些知识,从最基本到高级用法以及代码示例
凉丶城
这个作者很懒,什么都没留下…
展开
-
C#基础知识-上下文关键字Yield
使用 yield 上下文关键字,则意味着它在其中出现的方法、运算符或 get 访问器是迭代器。使用 yield return 语句可一次返回一个元素。使用 yield break 语句来终止迭代。迭代器的声明必须满足以下要求:返回类型必须为下列类型之一:- IAsyncEnumerable- IEnumerable- IEnumerable- IEnumerator- IEnumerator声明不能有任何 in、ref 或 out 参数。以下情形中不能包含 yield return原创 2021-08-16 20:43:40 · 395 阅读 · 0 评论 -
C#基础知识-上下文关键字When
上下文关键字 when 在以下上下文中指定筛选条件:在 try/catch 或 try/catch/finally 块的 catch 语句中。在 switch 语句的 case 标签中。在 switch 表达式中。catch 语句中的 whenclass Program{ static void Main() { Console.WriteLine(MakeRequest().Result); } public static async Ta原创 2021-08-15 22:32:56 · 1215 阅读 · 0 评论 -
C#基础知识-访问关键字Base和This
Base:base 关键字用于从派生类中访问基类的成员:调用基类上已被其他方法重写的方法。指定创建派生类实例时应调用的基类构造函数。仅允许基类访问在构造函数、实例方法或实例属性访问器中进行。从静态方法中使用 base 关键字是错误的。//基类 Person 和派生类 Employee 都有一个名为 Getinfo 的方法。 通过使用 base 关键字,可以从派生类中调用基类的 Getinfo 方法。public class Person{ protected string ssn原创 2021-08-15 18:22:04 · 302 阅读 · 0 评论 -
C#基础知识-泛型类型关键字New和Where
New 约束new 约束指定泛型类声明中的类型实参必须有公共的无参数构造函数。 若要使用 new 约束,则该类型不能为抽象类型。class ItemFactory<T> where T : new(){ public T GetNewItem() { return new T(); }}new 关键字还可用于创建类型的实例或用作成员声明修饰符。Where 约束泛型定义中的 where 子句指定对用作泛型类型、方法、委托或本地函数中类型参数的原创 2021-08-15 18:09:56 · 446 阅读 · 0 评论 -
C#基础知识-方法参数Params、In、Ref、Out
**方法参数时可以使用的关键字:**params 指定此参数采用可变数量的参数。in 指定此参数由引用传递,但只由调用方法读取。ref 指定此参数由引用传递,可能由调用方法读取或写入。out 指定此参数由引用传递,由调用方法写入。**Params:**使用 params 关键字可以指定采用数目可变的参数的方法参数。 参数类型必须是一维数组。在方法声明中的 params 关键字之后不允许有任何其他参数,并且在方法声明中只允许有一个 params 关键字。使用 params 参数调用原创 2021-08-15 15:51:27 · 1237 阅读 · 0 评论 -
C#基础知识-语句关键字之Fixed
fixed 语句可防止垃圾回收器重新定位可移动的变量。 fixed 语句仅允许存在于不安全的上下文中。 还可以使用 fixed 关键字创建固定大小的缓冲区。fixed 语句将为托管变量设置一个指针,并在该语句的执行过程中“单边锁定”该变量。 仅可在 fixed 上下文中使用指向可移动托管变量的指针。 如果没有 fixed 上下文,垃圾回收可能会不可预测地重定位变量。 C# 编译器只允许将指针分配给 fixed 语句中的托管变量。Point point = new Point();double[] ar原创 2021-08-15 12:40:42 · 2795 阅读 · 0 评论 -
C#基础知识-语句关键字之Lock
作用:lock 语句获取给定对象的互斥 lock,执行语句块,然后释放 lock。持有 lock 时,持有 lock 的线程可以再次获取并释放 lock。 阻止任何其他线程获取 lock 并等待释放 lock。//一个对象object x = new object();lock (x){ // Your code...}准则:当同步对共享资源的线程访问时,请锁定专用对象实例或另一个不太可能被代码无关部分用作 lock 对象的实例。 避免对不同的共享资源使用相同的 lock 对象原创 2021-08-14 12:25:54 · 131 阅读 · 0 评论 -
C#基础知识-语句关键字之Checked和Unchecked
checked 关键字用于对整型类型算术运算和转换显式启用溢出检查。class Program{ static int maxIntValue = 2147483647; static int CheckedMethod() { int z = 0; try { z = checked(maxIntValue + 10); } catch (System.OverflowEx原创 2021-08-14 12:13:19 · 288 阅读 · 0 评论 -
C#基础知识-文本关键字之Default
default 关键字有三种用法:指定 switch 语句中的默认标签。作为 default 默认运算符或文本生成类型的默认值。作为泛型方法重写或显式接口实现上的 default 类型约束。第一种:public static void Main(){ int caseSwitch = 1; switch (caseSwitch) { case 1: Console.WriteLine("Case 1"); brea原创 2021-08-14 11:41:34 · 660 阅读 · 0 评论