![](https://img-blog.csdnimg.cn/20210908220807424.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
C#
文章平均质量分 59
C# 的学习
3000bookworm
学,嘎嘎学
展开
-
C# MathNet
Vector在中,Vector是表示向量的类。Vector可以是列向量或行向量,具体取决于你如何创建它以及如何使用它。以下是一些创建和使用Vector原创 2024-07-04 19:31:30 · 337 阅读 · 0 评论 -
C# 命名规范
三个字母以下的全大写,超过的首字母大写,三个字母的都行(原创 2024-07-02 22:41:19 · 111 阅读 · 0 评论 -
C# LINQ
LINQ提供了一种声明式的方式来查询和操作数据,使代码更简洁、更易于阅读和维护。它还支持类型安全和编译时检查,减少了运行时错误的可能性。原创 2024-07-01 20:07:58 · 203 阅读 · 0 评论 -
C# enum Enumeration Type 枚举
你可以使用enum关键字来定义枚举类型。枚举类型默认是基于int的,但你也可以指定不同的整型基础,如bytesbyteshortlong等。// 默认基于int的枚举Red,Green,Blue// 基于byte的枚举Small,Medium,Large枚举是C#中非常有用的语言特性,可以提高代码的可读性和可维护性。原创 2024-06-29 22:41:58 · 344 阅读 · 1 评论 -
C# 特性 Attribute 反射 Reflection 元数据 Metadata
在C#中,元数据(Metadata)是指与程序代码本身相关的数据,这些数据提供了代码的额外信息,但并不直接影响代码的执行。C#中的反射是一个强大的机制,允许程序在运行时检查和使用类型信息。特性的使用场景:特性用于实现多种功能,如标记过时的API、指定序列化行为、控制方法的安全性、提供本地化资源信息等。资源文件:程序集可以包含嵌入的资源文件,如图像、本地化字符串等,这些资源文件的元数据描述了资源的名称和类型。类型元数据:定义了类、结构体、接口、枚举等类型的特性,包括它们的成员(字段、属性、方法等)。原创 2024-06-29 22:48:06 · 510 阅读 · 0 评论 -
C# Opacity 不透明度
在 () 应用程序中,控件的透明度可以通过设置 属性来调整。 属性是一个介于 完全透明 到 完全不透明 之间的浮点数。 从版本开始支持透明度设置。设置按钮的透明度:动态改变控件的透明度:使用定时器改变透明度:在窗体加载时设置透明度:请注意 中的 属性只影响当前控件,不会影响到其子控件。如果你想要一个控件组或窗体的某些部分透明,你需要单独设置每个控件的 属性。当设置窗体的透明度时,窗体的标题栏和边框也会受到影响,这可能会影响用户的交互体验。因此,使用透明度时需要考虑到用户界面的整体原创 2024-06-29 16:54:32 · 463 阅读 · 0 评论 -
C# as
as在C#编程语言中,as关键字是一个一元运算符,用于执行引用类型的转换。它尝试将对象转换为指定的类型,如果转换失败,它不会抛出异常,而是返回null。这使得as运算符成为在不确定对象类型时进行类型转换的一种安全方式。原创 2024-06-28 16:18:26 · 349 阅读 · 0 评论 -
C# StringBuilder
使用是处理大量字符串操作时提高性能的一种有效方式。原创 2024-06-28 09:14:02 · 308 阅读 · 0 评论 -
C# 初始化的代码是放在Form的构造函数还是放在Form_Load
在C#中使用Form的构造函数或Form的Load事件。原创 2024-06-27 09:26:04 · 325 阅读 · 0 评论 -
C# Socket
Socket。原创 2024-06-26 19:12:41 · 619 阅读 · 0 评论 -
C# 单列模式
这将用于获取窗体的实例。原创 2024-06-25 12:01:34 · 189 阅读 · 0 评论 -
C# Chart 不间断补充
是一个图,我们通过不断创建新的图去覆盖老图达到动态效果。你可以在设计视图中拖拽,或者在代码中创建。中使用图表通常涉及到以下几个步骤。配置图表的基本属性,如标题、图例、轴标签等。的所有点,然后重新写点,然后更新整个。创建数据系列,并将数据绑定到图表上。运行应用程序,查看图表的显示效果。增加上下余量)使得图像一直在中间。首先,确保你的项目中已经添加了。命名空间来创建图表。在你的窗体上添加一个。上述代码为先清空某个。原创 2024-06-20 10:06:29 · 424 阅读 · 0 评论 -
C# EventHander
通过这个简易委托来生成一个事件,比如鼠标点击,然后这个事件发生了(鼠标按了),就会执行先前绑定到这个事件上的委托,委托可以广播。原创 2024-03-30 03:23:08 · 643 阅读 · 0 评论 -
C# Task 包含 await ConfigureAwait CancellationTokenSource
Task类是.NET异步编程的基础,它提供了一种简单而强大的方式来编写和组织异步代码。await在C#中,await关键字用于异步编程,它有几个关键作用使用可以提高性能,特别是在高并发的环境下,因为它避免了不必要的上下文切换。然而,你应该谨慎使用它,确保不会因此而违反线程安全或UI更新的需求。是C#中的一个类,它提供了一种机制来发出取消请求。这个类与类一起使用,允许异步操作被取消。以下是的一些关键特性和用法:创建: 你可以创建一个的实例来开始一个取消操作。取消: 通过调用的Cancel。原创 2024-06-12 16:25:32 · 997 阅读 · 2 评论 -
C# range
在C# 8.0及以上版本中,引入了一种新的语法特性,称为“范围”(range),它提供了一种方便的方式来处理数组、列表和其他集合的子集。以下是一些关于C#中range。原创 2024-06-11 14:53:27 · 741 阅读 · 0 评论 -
C# 字段 属性 索引器
属性是C#中非常重要的特性,它们提供了一种安全和灵活的方式来访问和修改对象的状态。通过使用属性,你可以隐藏实现细节,同时提供对数据的控制。索引器是C#中一个强大的特性,它提供了一种自然和直观的方式来访问和操作对象的元素。通过使用索引器,你可以创建更加灵活和强大的数据结构。原创 2024-06-11 11:37:52 · 731 阅读 · 0 评论 -
C# 类或结构体的成员
类和结构体的主要区别在于它们在内存中的存储方式和继承能力。类是引用类型,可以继承其他类,而结构体是值类型,不能继承其他结构体或类。结构体在某些情况下可以提供更好的性能,但它们不支持继承和多态。原创 2024-06-10 22:22:53 · 392 阅读 · 0 评论 -
C# String
在C#中,String类型是一个非常常用的数据类型,用于表示文本数据。它是类的一个实例,位于System命名空间中。以下是一些关于C#中String。原创 2024-06-10 16:21:44 · 872 阅读 · 0 评论 -
C# Parallel
在C#中,Parallel.For 是一个非常有用的功能,它允许将一个循环的迭代分布到多个线程上,以利用多核处理器的计算能力。异常处理:在 Parallel.For 中,如果在循环体中抛出异常,PLINQ 会捕获异常并包装在一个 AggregateException 中。在这个例子中,start 是循环的起始索引,end 是循环的结束索引(不包括在内)。线程安全:Parallel.For 内部使用多个线程,因此循环体中的代码必须是线程安全的。优先级:Parallel.For 不改变线程的优先级。原创 2024-06-07 18:48:54 · 240 阅读 · 0 评论 -
C# BindingSource 未完BindingNavigator
允许开发者自定义数据绑定逻辑,包括数据格式转换、数据过滤等。是数据绑定中一个非常强大的工具,它简化了数据与UI控件之间的交互,使得数据操作更加直观和方便。原创 2024-06-06 18:34:39 · 808 阅读 · 0 评论 -
C# 运行时间
显然在处理这些数据的时候,有批量的就是比自己造轮子好使。原创 2024-06-06 17:42:12 · 101 阅读 · 0 评论 -
C# List
以下是一些常用的 操作:添加元素:使用 方法添加单个元素:使用 方法添加多个元素:插入元素:访问元素:移除元素:使用 方法移除一个元素:使用 方法移除指定索引的元素:使用 方法移除满足条件的所有元素:查找元素:使用 方法检查元素是否存在:使用 方法获取元素的索引:int index = numbers.IndexOf(7);排序:使用 方法对整个列表进行排序:使用 方法和一个比较器对列表进行自定义排序:反转列表:清空列表:获取列原创 2024-05-30 10:07:18 · 552 阅读 · 0 评论 -
C# 元组 Tuple
在C#中,元组(Tuple)是一种数据结构,它允许你将多个值组合成一个单一的对象。元组在处理多个返回值或临时组合几个相关数据时非常有用。从C# 7.0开始,元组得到了语言级别的支持,提供了一种轻量级的、不需要显式定义类型的组合数据的方式。原创 2024-05-29 22:16:47 · 971 阅读 · 0 评论 -
C# TextBox生成时不选中文本
【代码】C# TextBox生成时不选中文本。原创 2024-05-29 11:33:26 · 107 阅读 · 0 评论 -
C# Dispatcher 管理线程与UI元素之间的通信 从非UI线程安全地更新UI元素
Dispatcher在C#中,Dispatcher是一个与WPF) 应用程序开发相关的类,它是命名空间的一部分。Dispatcher类的主要作用是管理线程与UI元素之间的通信。在WPF中,UI元素只能在创建它们的线程(通常是主线程或UI线程)上被访问和修改。Dispatcher提供了一种机制,允许从非UI线程安全地更新UI元素。原创 2024-05-27 14:42:31 · 511 阅读 · 0 评论 -
C# 拓展方法(涉及Linq)
要定义一个扩展方法,需要遵循以下规则:扩展方法必须在静态类中定义。扩展方法的第一个参数要使用this关键字,并且这个参数指定了方法将扩展哪个类型。第一个参数之后的参数是扩展方法所需要的其他参数。下面是一个简单的扩展方法的例子,这个方法为 int 类型添加了一个名为Square// 这是一个扩展方法,它扩展了 int 类型。原创 2024-05-25 19:41:18 · 439 阅读 · 0 评论 -
C# 语法糖
是一种不断进化的编程语言,随着时间的推移,微软为其添加了许多语法糖,以简化代码和提高开发效率。扩展方法允许你向现有类型“添加”方法,而无需修改其源代码或创建新的派生类型。异步编程允许你以同步代码的形式编写异步逻辑,简化了异步任务的编写和阅读。这允许编译器根据赋值推断变量的类型,减少了冗长的类型声明。(语言集成查询)提供了一种声明性的数据查询和操作方法。这允许你创建匿名类型的实例,而不需要定义具体的类型。版本的更新,未来可能会有更多的语法糖被引入。表达式提供了一种简洁的方式来编写匿名函数。原创 2024-05-25 19:39:29 · 379 阅读 · 0 评论 -
C# 数据绑定 未完
上述代码效果为点击ButtonLable的值++原创 2024-05-25 18:28:47 · 243 阅读 · 0 评论 -
C# 异步编程
Task。原创 2024-04-23 18:55:44 · 540 阅读 · 0 评论 -
C# AutoResetEvent
主线程等待一段时间以确保 DoWork 方法已经开始执行并阻塞,然后调用。中的一个同步原语,用于在线程之间传递信号。在释放一个等待的线程后会立即重置,这意味着下一个调用。方法时,它会阻塞,直到另一个线程调用。将自动重置其状态,这意味着下一个调用。然后,我们启动了一个新线程来执行。将返回,线程将继续执行并输出消息。方法的情况下会保持其状态(无论是。在上面的示例中,我们创建了一个。在这个方法中,线程调用。实例并将其初始状态设置为。的线程将再次阻塞,直到。的线程将再次阻塞,直到。原创 2024-04-22 21:23:52 · 485 阅读 · 0 评论 -
C# 多线程
线程是能独立运行的最小单位,也是程序能够并发执行的一段指令序列线程是进程的一部分,一个进程可以包含多个线程,这些线程共享进程的资源进程有入口线程,可以创建更多的线程一个线程的创建和销毁是十分耗时的,开销很大当我们需要执行一个小任务时,直接找线程池要一个,做完再把线程还给他避免频繁地创建和销毁线程,从而减少了线程创建和销毁的开销,提高了系统的性能和效率多个线程访问共享资源时,对共享资源的访问不会导致数据不一致或不可预期的结果i < total;原创 2024-04-21 22:10:37 · 740 阅读 · 0 评论 -
C# lock
是一个关键字,用于实现同步,确保当一个线程正在执行某个代码块时,其他线程将等待直到该线程完成该代码块的执行。这是通过在代码块周围放置一个锁来实现的,这个锁是一个独特的对象,其他线程在尝试进入同样的代码块时必须获得这个锁。如果没有,线程会获得锁,执行代码块,然后在离开代码块时释放锁。锁定的代码块应该尽可能的短,只包含必要的操作,以减少锁定的持续时间,避免造成其他线程不必要的等待。应避免在持有锁时调用外部方法,尤其是那些可能同样会锁定其他资源的方法,因为这可能导致死锁。这里有一个简单的例子,展示了如何在。原创 2024-04-21 20:23:18 · 366 阅读 · 0 评论 -
C# ToString
你可以创建自定义数字格式字符串,这种字符串由一个或多个自定义数字说明符组成,用于定义设置数值数据格式的方式。自定义数字格式字符串是任何不属于 标准数字格式字符串的格式字符串。原创 2024-04-17 17:26:40 · 437 阅读 · 0 评论 -
C# winForm 异步问题 线程 从不同线程更行UI控件
目前使用简单粗暴的方法。原创 2024-04-16 15:38:14 · 410 阅读 · 0 评论 -
C# BitConverter
返回的字符串中每个字节都被表示为一个两位的十六进制数,即使该字节的高四位都是零也会这样表示。在大端字节序中,最重要的字节(高位字节)存储在最低的内存地址处,而最不重要的字节(低位字节)则存储在最高的内存地址处。在小端字节序中,最不重要的字节(低位字节)存储在最低的内存地址处,而最重要的字节(高位字节)则存储在最高的内存地址处。等: 这些方法用于从字节数组中的指定位置开始,将特定数量的字节转换为相应的整数或浮点数类型。等: 从字节数组的指定位置开始,将指定数量的字节转换回基本数据类型。原创 2024-04-03 13:45:41 · 1147 阅读 · 0 评论 -
C# 关于Encoding编码 举例UTF8
在UTF-8编码中,一个字符可能由一个或多个字节组成。每个字节的前几位用于指示该字符需要多少字节来表示。具体来说,UTF-8编码使用以下规则:如果一个字节的最高位是0,那么它表示一个ASCII字符,并且该字节就是该字符的完整表示。如果一个字节以110开头,它表示这是一个两字节字符的第一个字节。如果一个字节以1110开头,它表示这是一个三字节字符的第一个字节。如果一个字节以11110开头,它表示这是一个四字节字符的第一个字节。在你提供的byte[] bb(二进制表示为11100100)是以。原创 2024-04-03 13:35:26 · 423 阅读 · 0 评论 -
C# OpenFileDialog
它提供了一个标准的用户界面,让用户能够浏览文件夹、查看文件列表以及选择一个或多个文件。在这个例子中,我们设置了一个过滤器来允许用户选择所有类型的文件,或者仅选择文本文件。这通常是在设计视图中通过双击按钮来完成的,或者在代码中手动添加事件处理程序。当用户点击这个按钮时,就会打开文件选择对话框。然后,你可以在窗体的某个事件(如按钮点击事件)中调用。以下是一个简单的示例,展示了如何在按钮点击事件中使用。,表示用户只能选择一个文件。,然后我们可以获取用户选择的文件路径。属性包含了用户选择的文件的完整路径。原创 2024-04-03 12:06:53 · 333 阅读 · 0 评论 -
C# 委托与事件 终章
希望一个类的某些成员在发生变化时能被外界观测到。标准.Net事件模式。原创 2024-04-02 22:29:38 · 475 阅读 · 0 评论 -
C# 静态方法的小芝士
众嗦粥汁,静态方法只能调用静态方法和静态成员。而非静态方法享受世界。所在类的实例然后通过实例调用。是静态的,调用非静态的。原创 2024-04-02 18:47:20 · 297 阅读 · 0 评论 -
C# lambda表达式 匿名函数
匿名函数在C#中非常有用,特别是在需要快速定义一个小型函数,而不需要完整方法定义的情况下。它们在LINQ查询、事件处理、异步编程等场景中非常常见。/*});*/在C#中,你提供的两个代码片段定义了一个接受两个int类型参数并返回一个double类型结果的Func委托。虽然这两个代码片段在功能上完全相同,但它们在语法和可读性方面有一些细微的差别。第一个代码片段在这个片段中,rule是一个类型的变量,它直接通过lambda表达式进行初始化。这种语法在C#中非常常见,因为它简洁且直接。这里,原创 2024-04-02 18:01:16 · 998 阅读 · 0 评论