📝 C#
1894篇技术文档📅  最后修改于: 2020-10-31 10:23:12        🧑  作者: Mango
C#队列<T>C#队列<T>类用于使元素入队和出队。它使用队列的概念以FIFO(先进先出)顺序排列元素。它可以具有重复的元素。在System.Collections.Generic命名空间中找到它。C#队列<T>例让我们看一个通用队列的例子<T>类,使用Enqueue()方法存储元素,使用Dequeue()方法删除元素,并使用for-each循环迭代元素。输出:...
📅  最后修改于: 2020-10-31 10:24:12        🧑  作者: Mango
C#链接列表<T>C#链接列表<T>类使用链表的概念。它使我们能够快速插入和删除元素。它可以具有重复的元素。在System.Collections.Generic命名空间中找到它。它允许我们在前一个或最后一个索引处添加和删除元素。C#链接列表<T>例让我们看一个通用的LinkedList的例子<T>类,使用AddLast()和AddFirst()方法存储元素,并使用for-each循环迭代元素。输...
📅  最后修改于: 2020-10-31 10:25:10        🧑  作者: Mango
C#字典<TKey, TValue>C#字典<TKey, TValue>类使用哈希表的概念。它根据键存储值。它仅包含唯一键。借助键,我们可以轻松地搜索或删除元素。在System.Collections.Generic命名空间中找到它。C#字典<TKey, TValue>例让我们看一个通用字典的例子<TKey, TValue>使用Add()方法存储元素并使用for-each循环迭代元素的类。在这里,...
📅  最后修改于: 2020-10-31 10:26:08        🧑  作者: Mango
C#SortedDictionary<TKey, TValue>C#SortedDictionary<TKey, TValue>类使用哈希表的概念。它根据键存储值。它包含唯一的密钥,并在密钥的基础上保持升序。借助键,我们可以轻松地搜索或删除元素。在System.Collections.Generic命名空间中找到它。C#SortedDictionary<TKey, TValue>例我们来看一个通用...
📅  最后修改于: 2020-10-31 10:27:06        🧑  作者: Mango
C#SortedList<TKey, TValue>C#SortedList<TKey, TValue>是键/值对的数组。它根据键存储值。 SortedList<TKey, TValue>类包含唯一键,并在键的基础上保持升序。借助键,我们可以轻松地搜索或删除元素。在System.Collections.Generic命名空间中找到它。就像SortedDictionary<TKey, TValue>...
📅  最后修改于: 2020-10-31 10:28:05        🧑  作者: Mango
C#泛型泛型是一个概念,允许我们使用占位符定义类和方法。 C#编译器在编译时将这些占位符替换为指定的类型。泛型的概念用于创建通用类和方法。o定义通用类,必须使用尖括号<>。尖括号用于将类或方法声明为泛型类型。在下面的示例中,我们正在创建可用于处理任何类型的数据的通用类。C#通用类示例输出:C#还允许我们创建通用方法。在下面的示例中,我们正在创建可以通过传递任何类型的参数来调用的通用方法。通用方法示...
📅  最后修改于: 2020-10-31 10:29:02        🧑  作者: Mango
C#委托在C#中,委托是对该方法的引用。它的工作方式类似于C和C++中的函数指针。但是它比函数指针具有面向对象,安全和类型安全的特点。对于静态方法,委托仅封装方法。但是对于实例方法,它同时封装了方法和实例。委托的最佳用途是用作事件。在内部,委托声明定义一个类,该类是System.Delegate的派生类。C#委托示例让我们看一个简单的C#委托示例,该示例调用add()和mul()方法。输出:...
📅  最后修改于: 2020-10-31 10:30:09        🧑  作者: Mango
C#反射在C#中,反射是在运行时获取某种类型的元数据的过程。 System.Reflection命名空间包含进行反射所需的类,例如:类型会员信息构造器信息方法信息现场信息物业信息类型信息事件信息模组部件AssemblyName指针等System.Reflection.Emit命名空间包含用于发出元数据的类。C#Type类C#Type类代表类类型,接口类型,枚举类型,数组类型,值类型等的类型声明。可...
📅  最后修改于: 2020-10-31 10:31:08        🧑  作者: Mango
C#匿名函数匿名函数是一种没有名称的函数。换句话说,我们可以说没有名称的函数称为匿名函数。在C#中,有两种类型的匿名函数:Lambda表达式匿名方法C#Lambda表达式Lambda表达式是一个匿名函数,可用于创建委托。我们可以使用lambda表达式创建可以作为参数传递的局部函数。编写LINQ查询也很有帮助。C#Lambda表达式语法例输出:C#匿名方法匿名方法提供与lambda表达式相同的功能,...
📅  最后修改于: 2020-10-31 10:47:58        🧑  作者: Mango
C#多线程C#中的多线程是其中多个线程同时工作的过程。这是实现多任务处理的过程。因为一次执行多个任务,所以可以节省时间。要在C#中创建多线程应用程序,我们需要使用System.Threding命名空间。System.Threading命名空间System.Threading命名空间包含提供多线程编程便利的类和接口。它还提供了用于同步线程资源的类。下面列出了常用的类:线互斥体计时器监控信号线程本地线...
📅  最后修改于: 2020-10-31 10:48:55        🧑  作者: Mango
C#线程生命周期在C#中,每个线程都有一个生命周期。创建System.Threading.Thread类的实例时,将启动线程的生命周期。线程的任务执行完成后,其生命周期结束。在C#中,线程的生命周期中存在以下状态。未开始可运行(准备运行)跑步无法运行死亡(终结)未启动状态创建Thread类的实例后,默认情况下它处于未启动状态。可运行状态在线程上调用start()方法时,它处于可运行状态或准备运行状...
📅  最后修改于: 2020-10-31 10:49:54        🧑  作者: Mango
C#线程类C#Thread类提供创建和控制线程的属性和方法。在System.Threading命名空间中找到它。C#线程属性下面列出了Thread类的重要属性:PropertyDescriptionCurrentThreadreturns the instance of currently running thread.IsAlivechecks whether the current threa...
📅  最后修改于: 2020-10-31 14:03:51        🧑  作者: Mango
C#线程示例:静态方法我们可以在线程执行时调用静态和非静态方法。要调用静态和非静态方法,您需要在ThreadStart类的构造函数中传递方法名称。对于静态方法,我们不需要创建类的实例。您可以通过类名来引用它。输出:上面程序的输出可以是任何东西,因为线程之间存在上下文切换。C#线程示例:非静态方法对于非静态方法,您需要创建该类的实例,以便可以在ThreadStart类的构造函数中引用它。输出:像上面...
📅  最后修改于: 2020-10-31 14:04:51        🧑  作者: Mango
C#线程示例:Sleep()方法Sleep()方法将当前线程挂起指定的毫秒数。因此,其他线程有机会开始执行。输出:...
📅  最后修改于: 2020-10-31 14:05:52        🧑  作者: Mango
C#线程示例:Abort()方法Abort()方法用于终止线程。如果未完成中止操作,则会引发ThreadAbortException。输出:输出是不可预测的,因为线程可能处于运行状态。...