loading
📄index.md×
📝about.md×

随笔分类 -  Csharp

摘要:在C#中 string 和 String 到底有什么区别?哪个才是正确的写法? 阅读全文
posted @ 2026-08-14 14:29 少年。 阅读(8) 评论(0) 推荐(0)
摘要:char 到底是一个“字符”还是“数字”?为什么它既能用来装一个字母,又能参与数学运算?这篇就来聊聊 char 值类型,分析它背后的 Unicode 本质与实际用法。 阅读全文
posted @ 2026-08-13 17:12 少年。 阅读(6) 评论(0) 推荐(0)
摘要:C# StringBuilder 基础入门,为什么拼接大量字符串的时候,推荐使用 StringBuilder 而不是简单的 + 或 string.Concat?来聊聊 StringBuilder,分析它的底层机制、性能优势和最佳实践到底是怎么回事。 阅读全文
posted @ 2026-07-07 16:49 少年。 阅读(19) 评论(0) 推荐(0)
摘要:C# 中的 string 类型远比你想象的复杂。它不仅是日常开发中使用最频繁的类型之一,其背后的内存管理、不可变性等特性,也直接影响着代码的性能和正确性。 阅读全文
posted @ 2026-06-23 14:56 少年。 阅读(16) 评论(0) 推荐(0)
摘要:C# 预处理器指令的完整语言参考,涵盖所有指令的精确语法、使用规则和边界条件。与前一篇教程风格的文章不同,这篇侧重语法规范和细节,适合需要精确查阅特定指令的开发者。 阅读全文
posted @ 2026-06-18 16:50 少年。 阅读(14) 评论(0) 推荐(0)
摘要:C# 提供了丰富的内置类型——整数、浮点数、布尔值、字符和字符串——无需额外引用即可直接使用。这篇汇总了所有常用内置类型及其字面量写法,是一份实用的速查参考。 阅读全文
posted @ 2026-06-15 15:36 少年。 阅读(12) 评论(0) 推荐(0)
摘要:C# 中的值类型 值类型和引用类型是 C# 类型系统的两大支柱。值类型变量"直接装数据",引用类型变量"装数据地址"——这看似简单的差别,却深刻影响着赋值、传参、方法返回的行为。这篇来彻底拆解。 阅读全文
posted @ 2026-06-15 14:20 少年。 阅读(13) 评论(0) 推荐(0)
摘要:C# 中 `Main` 方法的完整用法,涵盖所有 8 种有效签名、返回值规则、命令行参数处理及异步支持。`Main` 必须为 `static`,可返回 `void`、`int`、`Task` 或 `Task 阅读全文
posted @ 2026-06-09 16:09 少年。 阅读(20) 评论(0) 推荐(0)
摘要:C# 12中`using alias`(类型别名)功能的改进。核心变化是:此前C# 1~11中,别名仅支持普通类、结构体、接口、委托和封闭泛型,不支持元组、指针、开放泛型和`ref struct`等类型。C# 12大幅扩展了支持范围,允许为任何类型创建别名,包括:元组类型(如`using Point = (int X, int Y)`)、指针类型(需unsafe上下文)、开放泛型(如`using Pair 阅读全文
posted @ 2026-06-09 13:42 少年。 阅读(21) 评论(0) 推荐(0)
摘要:C# using 语句与资源管理 using 到底管了什么?为什么说它“安全”?这篇文章就来聊聊 using 语句的核心原理、最佳实践以及一些容易被忽略的注意事项。 阅读全文
posted @ 2026-06-09 11:15 少年。 阅读(30) 评论(0) 推荐(0)
摘要:C# 中 `using` 别名的核心用法和关键注意事项。`using` 别名通过为命名空间或具体类型(包括泛型)创建简短、易记的替代名称,主要用于解决命名冲突、简化深层命名空间、提高代码可读性以及处理版本兼容问题。文章详细说明了别名的作用域规则(仅限声明文件内有效,不同文件需重新声明),以及避免与现有类型或变量命名冲突的注意事项。基础用法包括命名空间别名和类型别名,高级特性则涵盖了 C# 10 引入的 `global using`(项目级别名)、文件范围别名,以及别名与静态 `using` 指令的协同使用,从而进一步提升代码的整洁度和可维护性。 阅读全文
posted @ 2026-06-09 08:45 少年。 阅读(19) 评论(0) 推荐(0)
摘要:本文介绍了C# 10引入的全局using指令(global using),用于在项目中声明全局命名空间,避免每个文件重复编写using。全局using适用于项目公共命名空间、工具类以及大型项目统一管理。使用时需注意作用域优先级、命名冲突、编译顺序及项目兼容性(需C# 10及以上版本)。基本用法通过在文件中添加`global using`声明实现,也可在项目文件中启用`ImplicitUsings`自动生成常用命名空间。高级用法包括条件编译、静态全局using和别名全局using,能提升代码简洁性,但需谨慎使用以避免可读性下降。建议团队项目中建立“全局using清单”并文档化。 阅读全文
posted @ 2026-06-05 10:10 少年。 阅读(23) 评论(0) 推荐(0)
摘要:C# 10 引入的 `global using` 指令允许在项目级别全局声明命名空间,使所有代码文件自动引用,无需重复写 `using` 语句。推荐创建 `GlobalUsings.cs` 文件统一管理全局引用。新项目通过 `ImplicitUsings` 设置可隐式生成常用命名空间。使用时需注意:不能放在 `namespace` 内部、支持条件编译、避免重复声明。该特性减少代码重复、提升开发效率,适用于基础稳定且全局通用的命名空间,模块特定命名空间仍建议使用传统 `using`。 阅读全文
posted @ 2026-06-01 14:44 少年。 阅读(33) 评论(0) 推荐(0)
摘要:本文介绍了C#匿名类型的核心概念、用法及适用场景。匿名类型通过`new { ... }`语法快速封装一组只读属性,无需预先定义命名类型,属性名可由变量自动推断,且必须使用`var`声明。它在LINQ的`select`子句中用于投影(提取属性子集)最为常见。匿名类型具有基于值的相等性(相同属性名和类型的实例会共享同一编译器生成类型,`Equals`按值比较)。支持嵌套匿名类型,可通过`with`表达式创建副本,支持表达式树,但属性只读、不能跨方法使用(不能作为返回类型、参数或字段)。与元组的比较显示:匿名类型是引用类型,适合表达式树(如EF查询);元组是值类型,支持解构和可写属性,更通用、性能更好。新代码推荐优先使用元组,而匿名类型仍是LINQ投影和表达式树场景的专用工具。 阅读全文
posted @ 2026-05-30 16:33 少年。 阅读(15) 评论(0) 推荐(0)
摘要:C# 9 引入的“顶级语句”允许开发者直接在文件顶部编写可执行代码,省去传统的 `using`、`class` 和 `Main` 方法包装,编译器会自动在背后生成包含 `Main` 的 `Program` 类。入口点唯一,且项目中只能有一个文件使用顶级语句。编译器根据代码是否包含 `await` 和 `return` 自动生成不同签名的隐式 `Main`(如 `void Main`、`int Main`、`async Task Main` 等)。`using` 指令必须放在文件最开头,类型定义和命名空间声明必须放在所有顶级可执行代码之后。`args` 变量直接可用,代表命令行参数,永不为 null。顶级语句天然支持 `await` 和 `return`,可实现异步执行和返回退出状态码。整体上,顶级语句是纯语法糖,编译后与传统 `Main` 方法完全等效,适合新项目使用。 阅读全文
posted @ 2026-05-29 17:01 少年。 阅读(22) 评论(0) 推荐(0)
摘要:本文介绍了.NET程序的五层组织模型(解决方案→项目→程序集→命名空间→类型),重点说明:项目拆分应基于代码共享、关注点分离、依赖控制三个正当理由,避免过早拆分;命名空间要镜像文件夹路径并按功能而非按类型分组;访问修饰符策略建议默认用`internal`,只在必要时设为`public`。 阅读全文
posted @ 2026-05-29 14:14 少年。 阅读(39) 评论(0) 推荐(0)
摘要:本文介绍了C# 6.0引入的`using static`指令,用于直接导入类的静态成员(如方法、属性、字段),从而在调用时省略类型前缀,简化代码并提升可读性。文章从背景出发,说明传统写法的冗余问题,然后讲解基本语法和用法,给出`System.Math`、`System.String`、`System.Console`等实用示例,涵盖数学计算、字符串处理、控制台输出等场景。还讨论了最佳实践:适合在某个作用域内大量频繁调用同一类静态成员时使用,但不建议滥用。最后指出常见限制:不会导入扩展方法和嵌套类型,仅导入直接声明的静态成员。文章强调合理使用可增强代码简洁性,但过度使用会降低清晰度。 阅读全文
posted @ 2026-05-28 14:00 少年。 阅读(18) 评论(0) 推荐(0)
摘要:C# using 关键字用法 阅读全文
posted @ 2026-05-27 09:34 少年。 阅读(19) 评论(0) 推荐(0)
摘要:C# 类型系统 阅读全文
posted @ 2026-05-26 17:33 少年。 阅读(15) 评论(0) 推荐(0)
摘要:C# 预处理器指令 — 条件编译、文件应用指令与警告控制 阅读全文
posted @ 2026-05-26 16:32 少年。 阅读(18) 评论(0) 推荐(0)

$ cd ~/
⎇ main ● 已连接
UTF-8 Markdown Ln 1, Col 1 空格: 2