![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
就是有点傻
我自飘零我自狂,犹如野鹤游四方
展开
-
C#中重写tospring方法
在C#中,重写ToString方法允许你自定义对象的字符串表示形式。当你想要打印对象或者在调试时查看对象的状态时,重写ToString方法非常有用。默认情况下,ToString方法返回对象的类型名称。通过重写这个方法,你可以返回一个更有意义的字符串,通常包含对象的属性值。原创 2024-07-30 19:06:11 · 109 阅读 · 0 评论 -
什么是C#
NET Framework 是一个由微软开发的软件开发平台,提供了一系列预设计的代码,用于常见程序任务。它是一个全面的、可扩展的平台,用于构建和运行 Windows 应用程序和网络服务。公共语言运行时(CLR):CLR 是 .NET Framework 的核心,它是一个代码执行引擎,提供内存管理、异常处理、安全性、垃圾回收等服务。CLR 允许不同的编程语言共享 .NET Framework 提供的公共类型系统和运行时服务。基类库(BCL)原创 2024-07-08 19:59:07 · 1467 阅读 · 1 评论 -
C#中的函数
函数是越单一越好。原创 2024-07-08 20:39:08 · 731 阅读 · 0 评论 -
C#中的类
protected intelnal:内部保护访问 只能是本项目内部或子类访问 其他类不能访问。类里面 的属性可以输入prop之后再按Tab键 然后再按Tab进行修改属性的名称等等。protected: 受保护的 当前类 以及继承他的子类可以访问。intelnal:内部的 只限于本项目访问 其他的不能访问。如果属性中具有set关键字,说明可以设置该属性的值。方法的访问修饰符要和参数的访问修饰符 保持一致。private:私有的 当前类的内部可以访问。public:公共的 所有的类都可以访问。原创 2024-07-09 19:47:03 · 367 阅读 · 0 评论 -
C#中的集合
是一个动态数组,可以存储任何类型的元素,因此它本身不需要指定泛型。ArrayList是非泛型的集合,这意味着它可以存储任何类型的对象,包括null值。原创 2024-07-09 21:17:20 · 1029 阅读 · 2 评论 -
C#中的Dictionary
是一个泛型集合,它存储键值对(key-value pairs),其中每个键(key)都是唯一的。这个集合类提供了快速的数据插入和检索功能,因为它是基于哈希表实现的。Dictionary的使用索引器查找元素的时候 和数组不一样 不是从0开始 而是根据你添加的tkey寻找。是泛型集合,这意味着你可以指定存储在字典中的键和值的数据类型。:尝试获取与指定键相关联的值,如果键存在,返回。方法来检查字典中是否存在特定的键。属性来获取字典中所有键和值的集合。方法来移除字典中的所有元素。:使用索引器通过键来检索值。原创 2024-07-10 18:57:19 · 524 阅读 · 0 评论 -
C#中的方法
在基类中使用。原创 2024-07-12 19:42:49 · 2893 阅读 · 0 评论 -
C#中的泛型
在C#中,泛型(Generics)是一种强大的特性,它允许你定义类型安全的方法、类、接口、委托等,这些定义可以处理不同类型的数据,同时保持代码的复用性和灵活性。:泛型不需要通过装箱和拆箱来进行类型转换,这可以提高性能,特别是在处理值类型时。:泛型允许你编写可以用于多种数据类型的单一实现,而不是为每种类型编写特定的代码。:泛型接口和委托支持协变和逆变,这使得它们在使用子类型时更加灵活。:泛型使用编译时类型检查,可以防止在运行时插入错误类型的数据。等)可以是强类型的,这样在访问元素时不需要进行类型转换。原创 2024-07-12 20:57:05 · 335 阅读 · 1 评论 -
C#中where的约束
从C# 7.1开始,可以使用特定的类型作为约束,要求。从C# 8.0开始,可以指定引用类型参数可以为。关键字用于泛型中的约束,以便限制泛型参数。(Struct Constraint)或。表示,可以指定多个接口,用逗号分隔。约束结合使用,以确保值类型不是。必须有一个公开的无参数构造函数。可以同时使用多个约束来进一步限制。是给定类型的子类或实现给定接口。必须是指定类的子类或本身。必须实现一个或多个接口。原创 2024-07-13 09:56:50 · 382 阅读 · 0 评论 -
c#协变逆变
协变允许你将一个泛型类型的子类型赋值给其父类型的变量。逆变允许你将一个泛型类型的父类型赋值给其子类型的变量。关键字定义泛型方法时,可以利用协变返回类型。这意味着方法可以返回输入参数的子类型。关键字定义泛型方法时,可以利用逆变参数类型。这意味着方法可以接受输入参数的父类型。:从C# 4.0开始,委托可以是协变的,这意味着如果。:从C# 4.0开始,接口可以是协变的,这意味着如果。:从C# 4.0开始,委托可以是逆变的,这意味着如果。:从C# 4.0开始,接口可以是逆变的,这意味着如果。原创 2024-07-13 10:56:55 · 289 阅读 · 0 评论 -
C#中的反射
可以读取类型或成员上定义的自定义属性。原创 2024-07-13 20:03:12 · 865 阅读 · 0 评论 -
C#中反射与MVC和AOP
面向切面编程(Aspect-Oriented Programming,简称AOP)是一种编程范式,它允许程序员将横切关注点(如日志记录、安全性、事务管理、缓存等)与业务逻辑分离,从而提高代码的模块化和可维护性。:通过反射,可以在运行时动态地将切面(advice)织入到目标对象的方法中,实现如日志记录、性能监控等功能。:使用反射创建动态代理对象,这些对象可以在不修改原始类代码的情况下,拦截方法调用并添加额外的行为。:在AOP中,反射可以用来检查目标对象的类型和方法,以确定是否应用特定的切面。原创 2024-07-14 08:15:00 · 769 阅读 · 0 评论 -
c#中的特性
开发者可以创建自定义特性,以提供特定的行为或功能。例如,通过自定义特性,可以在运行时动态地改变程序的行为。原创 2024-07-14 20:44:00 · 914 阅读 · 0 评论 -
C#中的委托
Console.WriteLine($"这个是加法的结果{result1:F2}");Console.WriteLine($"这个是减法的结果{result2:F2}");结果为。原创 2024-07-15 16:23:51 · 1597 阅读 · 0 评论 -
c#中的事件
Console.WriteLine("-------------事件的写法---------------");Console.WriteLine($"{name}这是Lamda语句");Console.WriteLine($"{name}这是一个匿名函数");Console.WriteLine($"{name},你好呀");Console.WriteLine($"{name},再见");//委托的解释:将方法以变量的形式传递,并且以方法的形式执行。//声明一个SayhelloDlg类型的事件。原创 2024-07-15 19:44:01 · 937 阅读 · 0 评论 -
c#中匿名方法的定义和使用
在Action里面传入参数变量 action是不需要返回值的。在Func里面也要传入参数变量 但是最后一个是返回值类型。t2("你好",250);原创 2024-07-16 13:53:16 · 232 阅读 · 0 评论 -
c#中的字符串方法
Equals 字符串1.Equals("字符串") 判断两个字符串是否一样返回布尔值 Index0f 字符串1. IndexOf("字符串") 首次查找 返回索引没有对应的值返回-1 LastIndex0f 字符串1.Lastlndex0f("字符串") 查找到最后一个 返回索引没有对应的值返回-1 Index0fAny 字符串1.lndex0fAny(字符类型的数组) 返回 查找数组中 任意字符 第一次出现的位置。Concat() String.Concat(字符串1+ 字符串n) 字符串拼接。原创 2024-07-16 17:32:23 · 364 阅读 · 0 评论 -
用C#写一个方法对字符串里面的字符次数排序
是 C# 中的一个方法,它允许你改变数组的大小。这个方法定义在System命名空间下的Array类中。并不是直接修改原始数组的大小,而是创建一个新的数组,并根据需要复制原始数组的内容到新数组中。原创 2024-07-17 15:58:16 · 924 阅读 · 0 评论 -
用c#打印佛祖保佑,永不宕机
【代码】用c#打印佛祖保佑,永不宕机。原创 2024-07-19 14:45:57 · 72 阅读 · 0 评论 -
用C#打印等腰三角形,打印四个方向的直角三角形
【代码】用C#打印等腰三角形,打印四个方向的直角三角形。原创 2024-07-19 19:34:58 · 301 阅读 · 1 评论 -
关于c#的简单应用三题
region 一个游戏,前20关是每一关自身的分数,,21-30关每一关是10分,31-40关,每一关是20分,41-49关,每一关是30分,50关,是100分,输入你现在闯到的关卡数,求你现在拥有的分数。两种做法:if嵌套for for嵌套if。Console.WriteLine("100以内与7有关的数有:");Console.WriteLine($"你的分数为{sum}");#region 输入一个正整数,求1~这个数的阶乘。原创 2024-07-19 20:19:23 · 399 阅读 · 0 评论 -
c#中的数据结构01(数据结构的介绍 )
算法可以理解为有基本运算及规定的运算顺序所构成的完整的解题步骤。或者看成按照要求设计好的有限的确切的计算序列,并且这样的步骤和序列可以解决一类问题。原创 2024-07-20 09:31:36 · 293 阅读 · 0 评论 -
C#中的线性表
线性表是最简单、最基本、最常用的数据结构。线性表是线性结构的抽象(Abstract),线性结构的特点是结构中的数据元素之间存在一对一的线性关系。这种一对一的关系指的是数据元素之间的位置关系,即:(1)除第一个位置的数据元素外,其它数据元素位置的前面都只有一个数据元素;(2)除最后一个位置的数据元素外,其它数据元素位置的后面都只有一个元素。也就是说,数据元素是一个接一个的排列。因此,可以把线性表想象为一种数据元素序列的数据结构。线性表就是位置有先后关系,一个接着一个排列的数据结构。原创 2024-07-20 14:38:41 · 1306 阅读 · 0 评论 -
堆和栈以及垃圾回收在C#中的使用
C#中的垃圾回收(Garbage Collection,简称GC)是.NET框架中公共语言运行时(CLR)的一个重要组成部分,它负责自动管理内存。垃圾回收机制的主要目的是回收不再使用的对象所占用的内存,防止内存泄漏,并确保应用程序的稳定性和性能。在某些情况下,垃圾回收器还会进行内存碎片整理,将存活的对象移动到堆的连续区域,以减少内存碎片,提高内存使用效率。LOH的垃圾回收频率较低,以减少对性能的影响。:C#编译器可能会进行尾调用优化,将方法调用的参数和局部变量直接移动到调用者的栈帧中,以减少栈的使用。原创 2024-07-20 15:09:27 · 796 阅读 · 0 评论 -
在C#中,如何优化对象的创建和销毁以提高性能?
NET的垃圾回收器(Garbage Collector,GC)的并发执行是设计用来减少对应用程序性能的影响的一种策略。例如,在应用程序负载较低时,GC可以更积极地回收内存,而在应用程序负载较高时则减少回收活动。并发GC通过减少垃圾回收对应用程序执行的干扰,提高了应用程序性能的可预测性。它可以在需要时增加或减少垃圾回收的频率,以适应应用程序的需求。GC的自动管理确保了内存回收的及时性和有效性。对于需要高性能和低延迟的应用程序,考虑使用非托管内存(如指针操作)来管理内存,但这需要更谨慎的内存管理。原创 2024-07-20 16:30:20 · 1026 阅读 · 1 评论 -
C#中的栈和队列
栈和队列是非常重要的两种数据结构,在软件设计中应用很多。栈和队列也是线性结构,线性表、栈和队列这三种数据结构的数据元素以及数据元素间的逻辑关系完全相同,差别是线性表的操作不受限制,而栈和队列的操作受到眼制。栈的操作只能在表的一端进行,队列的插入操作在表的一端进行而其它操作在表的另一端进行,所以,把栈和队列称为操作受限的线性表。BCL中的栈namespace 栈T Pop();T Peek();namespace 栈top = -1;原创 2024-07-20 17:30:58 · 793 阅读 · 0 评论 -
C#中栈和堆以及修饰符
在C#中,修饰符(Modifiers)用于定义类、方法、属性、字段等成员的访问级别和行为。访问修饰符public:成员可以被任何其他代码访问。private:成员只能在其定义的类内部访问。protected:成员只能在其定义的类或派生类中访问。internal:成员只能在同一个程序集(Assembly)中访问。:成员可以在同一个程序集或派生类中访问。非访问修饰符static:表示该成员属于类本身,而不是类的实例。const:表示一个常量,其值在编译时已知,并且在运行时不可更改。readonly。原创 2024-07-22 20:56:02 · 1914 阅读 · 0 评论 -
C#中的new以及类
使用。原创 2024-07-23 20:03:14 · 982 阅读 · 0 评论 -
C#中的字符串
Console.WriteLine("用户名:" + strings[0] + " 域名:" + strings[1]);如:用户输入https://www.baidu.com,提示:顶级域名为:.com,这是一个商业网站*/如:老赵是个邪恶的人 ==》老赵是个 * *的人。作业8:输入一个网址,判断顶级域名是什么类型,com为商业网站,net为网络服务机构网站,org为非营利组织网站,作业7:把{“诸葛亮”,“鸟叔”,“卡哇伊”}字符串数组,变成使用 | 连接的字符串,如:诸葛亮|鸟叔|卡哇伊。原创 2024-07-24 22:09:36 · 789 阅读 · 0 评论 -
c#中的数组进阶
set;set;}}public class PersonComparer : IComparer{ public int Compare(Person x, Person y) { // 根据年龄排序 return x.Age.CompareTo(y.Age);}}// 使用自定义的比较器来排序数组 Array.Sort(people, new PersonComparer());原创 2024-07-26 16:52:13 · 574 阅读 · 0 评论 -
C#中类和结构体的对比
在 C# 7.2 及更高版本中,引入了一个新的结构体类型,称为ref struct。ref struct是一种特殊的结构体堆分配必须在堆上分配不能在栈上分配。这意味着你不能直接将ref struct作为方法参数或返回类型,也不能作为局部变量使用,除非它们是通过引用传递的。引用传递ref struct实例必须通过引用传递,即使它们在堆上分配。这保证了对ref struct的任何修改都是可见的。不能包含引用类型字段ref struct不能包含引用类型的字段,因为它们不能被垃圾回收。原创 2024-07-29 13:46:39 · 488 阅读 · 0 评论 -
c#中的正则表达式和日期的使用(超全)
在 C# 中,正则表达式(Regular Expressions)是一种强大的文本处理工具,用于执行各种字符串搜索、替换和验证任务。原创 2024-07-29 17:27:37 · 545 阅读 · 0 评论 -
C#中栈和队列
在C#中,Stack和Queue是两种不同的集合类型,它们用于实现后进先出(LIFO)和先进先出(FIFO)的数据结构。原创 2024-07-30 17:28:37 · 272 阅读 · 0 评论