C#
文章平均质量分 83
水智
这个作者很懒,什么都没留下…
展开
-
C#的Switch语句3(如何为一段代码应用多个case标签)
进行字符串判断的时候,我们通常需要将其转换为小写或者大写,避免因为首字母大写或其他大小写问题,导致两个相同的字符串不匹配,在C#中,ToLower() 是 System.String 类的一个实例方法,用于将字符串中的所有字符转换为小写。当在switch语句块中遇到return语句时,它不仅仅会终止当前switch块的执行,而且会直接结束包含该switch语句的整个函数的执行,并立即返回到调用该函数的地方。使用return可以在处理特定情况后立即结束函数,避免了不必要的代码执行,提高了代码的效率。原创 2024-06-19 14:31:16 · 1071 阅读 · 0 评论 -
C#的Switch语句2(case后的值与模式匹配)
关键字了,default定义了一个默认的代码块,当Switch表达式的值与任何一个case标签的值都不匹配时,程序会执行default语句块中的代码。这在处理未预期或不明确的输入值时非常有用,确保了代码的健壮性,避免了因没有匹配的case而直接跳过Switch结构导致的潜在问题。当在switch语句块中遇到return语句时,它不仅仅会终止当前switch块的执行,而且会直接结束包含该switch语句的整个函数的执行,并立即返回到调用该函数的地方。但在某种写法下,C#也是可以穿透的,在文章后面会讲解。原创 2024-06-19 13:41:57 · 1779 阅读 · 2 评论 -
C#的Switch语句(在C#中如何根据结果执行不同的代码)
注意,仅限于离散值,也就是说你不能直接用switch来测试一个范围内的值(比如年龄是否在18到65之间),或者浮点数的精确相等(因为浮点运算可能存在误差),而是需要将这类连续的或非精确的比较转化为对离散值的检查,比如通过区间划分成具体的 case。离散的值,指的是在一个集合或数列中,各数值之间彼此独立,不存在介于两者之间的其他可能值,这样的值我们称之为离散值。进行更复杂的条件检查。,当掷一个标准的六面骰子时,可能的结果是1、2、3、4、5、6,这些都是离散的值,因为不存在介于这些整数之间的结果。原创 2024-06-15 14:33:00 · 2486 阅读 · 0 评论 -
C#中实现接口的一些小知识(C#用abstract或virtual来实现接口成员)
在抽象类(abstract class)中实现接口时,如果抽象类选择部分实现接口(也就是只提供部分成员的实现),那么未实现的接口成员可以在抽象类中声明为。修饰),这并不影响它作为接口成员的实现,也就是说,你只需要实现这个方法,那么就相当于同时实现了接口和抽象类(或虚方法),同时也允许派生类进行覆盖。来实现接口成员,因为接口中的成员默认都是实例成员,并且它们表示一种契约,要求任何实现该接口的类都必须提供这些成员的具体实现。在非抽象类中,如果一个方法同时是接口实现也是基类虚方法或抽象方法(即用。原创 2024-03-08 22:39:29 · 649 阅读 · 0 评论 -
C#中的浅度和深度复制(C#如何复制一个对象)
接着,我们修改了复制得到的对象及其引用类型字段的属性值,最后输出原始对象和复制对象的属性值。这意味着如果一个类包含引用类型成员,在执行深度复制时,不仅复制这些引用,还会递归地复制引用所指向的对象,直到所有的引用都指向全新的对象实例。当进行浅复制时,系统会创建一个新的对象实例,但这个新对象的字段将与原始对象中的值类型字段具有相同的值,而对于引用类型字段,则仅仅是复制了。也就是说,如果一个类中有引用类型的成员变量(比如数组、其他自定义类的对象等),那么浅复制后,新对象和原对象的这些引用类型成员仍然指向。原创 2024-02-07 17:36:01 · 3694 阅读 · 0 评论 -
C#的属性讲解
除了普通属性外,C#还提供了只读属性(只有get访问器)和写入器属性(只有set访问器),以及静态属性和索引器属性等类型的属性,以满足更多复杂的需求。属性只是封装了对类的字段的访问和修改,它们提供了一种更高级的方式来读取和写入字段的值。例如,我们可以在设置器中验证输入值的有效性,并在获取器中返回计算的属性值。当我们定义属性时,我们可以使用自动实现属性来简化代码,特别是对于只提供基本的 get和 set的属性。使用属性时,我们可以像使用字段一样访问和设置属性的值,但实际上是调用了对应的访问器。原创 2023-09-24 22:00:22 · 1338 阅读 · 0 评论 -
VS2022创建控制台应用程序后没有Main了,如何显示Main?
用VS2022创建一个控制台应用后,没有名称空间和Main函数了,只有一个WriteLine,如下所示。原创 2023-09-24 21:30:55 · 4570 阅读 · 0 评论 -
C#实现局域网之间互相传递消息
本文章做的程序使用UDP协议进行消息传输,使用简单的C#控制台应用程序。包含了两个设备之间的通信功能。原创 2023-08-16 09:06:29 · 1672 阅读 · 0 评论 -
C#如何获取当前主机的局域网IP
获取到主机名后,我们使用Dns.GetHostAddresses(hostName)方法来获取IP列表,这也是一个静态方法,用于获取指定主机名(或 IP 地址字符串)对应的 IP 地址列表。它接受一个主机名或 IP 地址作为参数,并返回一个 IPAddress[] 数组,其中包含与该主机名或 IP 地址关联的所有 IP 地址。另外,如果传入的参数是一个有效的 IP 地址字符串(例如:“192.168.0.1”),那么方法将直接将该字符串解析为一个 IPAddress 对象并放入数组中返回。原创 2023-08-16 08:52:02 · 1794 阅读 · 2 评论 -
Visual Studio 2019如何显示行号
进入Visual Studio 2019,随便打开一个项目,点击“工具” > 点击“选项” > 点击“文本编辑器” > 点击“所有语言” > 点击“常规” > 在右侧窗口,勾选“行号” > 点击“确定”;原创 2023-03-15 16:18:16 · 1773 阅读 · 0 评论