文章
9
标签
19
分类
5
首页
归档
标签
分类
列表
音乐
影视
友链
关于
小夜博客
title
返回首页
搜索
首页
归档
标签
分类
列表
音乐
影视
友链
关于
title
发表于
2026-06-16
|
更新于
2026-07-01
|
私密日记
|
总字数:
8
|
阅读时长:
1分钟
|
浏览量:
请输入密码
确定
文章作者:
Ye Shang
文章链接:
https://blog.ifdo.de5.net/2026/06/16/test/
版权声明:
本博客所有文章除特别声明外,均采用
CC BY-NC-SA 4.0
许可协议。转载请注明来源
小夜博客
!
日记
视频
测试
上一篇
反射的基础用法与核心避坑
最近在项目开发中接触到了反射(Reflection),在看一些底层公共组件和基础框架时经常能遇到它。为了加深理解,我把反射的核心基础用法、实际应用场景以及需要注意的性能隐患做了一次梳理和记录。 一、 什么是反射?在 C# 中,常规编写代码是在编译期就确定了类型和调用关系;而反射则是提供了一种在运行期动态窥探和操作程序集的能力。 程序运行起来后,其对应的类、方法、属性等元数据都会保存在程序集中。通过反射,我们可以在程序运行的过程中动态地获取这些类型信息,甚至直接实例化对象、调用里面的方法或读写属性。 二、 获取 Type 对象的三种基础用法在 C# 中,使用反射的第一步永远是拿到目标类的 Type 对象。通常有以下三种最基础的获取方式: 1. 用法一:typeof(类名) 说明:在编译期就已经明确知道要获取哪个类的类型信息。 示例:1Type t = typeof(User); 2. 用法二:obj.GetType() 说明:手里已经有了具体的对象实例,在运行期通过实例来获取其真实的类型信息。 示例:12User user = new User();Type t = user.G...
下一篇
C# 常用类复盘
一、 String 的不变性与 StringBuilder 的最佳实践1. 什么时候该用 StringBuilder?以前我习惯在任何地方都直接用 + 或$符号去拼接字符串,直到在处理大量流水数据导出或者高频日志拼接时,发现程序直接卡死,内存占用飙升。 核心原因在于 C# 中的string具有不可变性。每次执行 str += "abc",系统其实并没有在原文本后面追加,而是在堆内存里重新开辟空间创建了一个新字符串,并把老字符串丢弃变成内存垃圾。 因此,划分使用场景的界限非常明确: 用 String 的场景:少量的字符串拼接(如 3 次以内),或者纯粹的常量文本组合。此时编译器会自动优化,性能反而最好。 用 StringBuilder 的场景:处于 for/foreach 循环内部的拼接,或者需要高频、动态组装大量文本的场景。 2. StringBuilder 的核心优势换成 StringBuilder 后,它之所以能解决卡顿问题,是因为它在内部机制中维护了一个可变的字符缓冲区(char 数组)。所有追加操作(Append)都是直接在这个数组上进行修改,避免...
评论
Ye Shang
文章
9
标签
19
分类
5
前往小家~
公告
欢迎来到我的博客!
目录
1.
测试私有仓库是否部署成功
最新文章
WordPress的数据迁移
2026-07-28
第一篇博客
2026-07-28
常用特殊符号与关键字语法糖速查指南
2026-07-28
委托与事件:从类型安全函数指针到发布-订阅模型
2026-07-08
C# 文件IO复盘
2026-07-07
繁
搜索
数据加载中