管理

随笔分类 -  【07】C#相关

上一页 1 2 3 4 5 6 ··· 11 下一页

摘要:我已经使用 .NET 超过十年,优化过许多 C# 代码,并掌握了那些将普通开发者与高性能工程师区分开来的微妙细节。性能优化并不依赖于最新的硬件或扩展规模,而是从一开始就高效地编写代码。 以下是我通过经验总结的 20 个技巧——有些常见,有些则较为冷门。这些技巧将使你的 .NET 应用程序运行得更快, 阅读全文

posted @ 2025-03-24 17:21 lzhdim

摘要:.NET Standard 是一个规范,定义了.NET平台的通用API集,旨在实现.NET代码的跨平台兼容性。是一个抽象层,允许开发者编写一次代码,然后在多个.NET平台上运行,而无需对代码进行大量修改。.NET Standard 2.0 是该规范的一个具体版本。 核心概念 1. 统一的API集: 阅读全文

posted @ 2025-03-23 14:27 lzhdim

摘要:在C#编程领域,性能优化始终是开发者们关注的焦点。随着软件系统复杂度的不断增加,一点点性能提升都可能带来巨大的效益。今天,我们将深入探讨一些强大的C#性能优化技巧,如Span、MemoryPool等,这些技巧可以用看似简单的代码,实现程序性能的大幅飞跃,甚至让微软工程师都为之惊叹。 Span:高效处 阅读全文

posted @ 2025-03-23 00:16 lzhdim

摘要:在当今数字化时代,软件性能的优劣直接影响着用户体验。对于C#开发者而言,性能优化是提升程序质量的关键环节。想象一下,原本响应时间长达100ms的程序,经过优化后能在1ms内迅速响应,这将为用户带来何等流畅的体验。本文将通过具体案例,结合Span、MemoryPool等高性能API,揭示C#性能优化的 阅读全文

posted @ 2025-03-22 23:28 lzhdim

摘要:在C#中,有许多简写技巧可以让你的代码更加简洁高效,以下是一些常见的: 1. 变量声明与初始化 使用 var 关键字 :当你能从初始化表达式中推断出变量类型时,可以使用 var 关键字代替显式的类型声明。例如: var name = "Kimi"; // 相当于 string name = "Kim 阅读全文

posted @ 2025-03-08 14:01 lzhdim

摘要:这次给出C#的保存应用启动后显示位置的例子。 这个例子主要是保存应用的位置,然后在下次启动的时候恢复到原来的位置。有两个例子,一个是默认窗体,一个是自定义窗体。 1、 项目目录; 2、 源码介绍; 1) 打开应用时; 2) 运行时; 3、 运行界面; 界面没啥特别,所以不提供截图了。 4、 使用介绍 阅读全文

posted @ 2025-03-02 12:23 lzhdim 阅读(10266) 评论(0) 推荐(0)

摘要:在本教程中,我们将使用 Windows Forms 开发一个功能完整的截图应用程序。这个应用程序将支持以下核心功能: 全屏截图 区域选择截图 保存截图到指定位置 复制截图到剪贴板 项目准备 创建 Windows Forms 应用程序 打开 Visual Studio 创建新项目 -> Windows 阅读全文

posted @ 2025-02-25 11:32 lzhdim

摘要:众所周知,WinForm采用基于像素的布局模型。因此,原生WinForm对于窗体自适应支持不是很好。但是我们也可以通过代码来实现。今天跟大家分享一下如何实现WinForm窗体自适应。 界面布局 当我们想要实现窗体自适应的时候,优先要通过界面布局设置好窗体和控件的一些属性:1、Anchor:用于固定控 阅读全文

posted @ 2025-02-25 11:11 lzhdim

摘要:在C#中,lock、Interlocked、Monitor、SpinLock、WaitHandle、Mutex、Semaphore、Events、Barrier、ReaderWriterLockSlim 这些同步机制虽然都用于多线程同步,但它们的底层实现、使用场景和性能特点各不相同。 1. lock 阅读全文

posted @ 2025-02-25 11:00 lzhdim

摘要:前言 嗨,大家好! 在你的编程生活中,一定少不了跟条件语句打交道,但是条件语句用得多了,你会发现程序变得越来越复杂,测试时经常会漏掉一些分支,而且大量的 if-else 语句阅读起来理解非常困难,维护起来也特别困难! 所以减少或简化条件语句不仅能提高代码的可读性,还能降低维护成本和减少潜在的错误。 阅读全文

posted @ 2025-02-24 17:47 lzhdim

摘要:一、C#语言方面 1.1、垃圾回收 垃圾回收解放了手工管理对象的工作,提高了程序的健壮性,但副作用就是程序代码可能对于对象创建变得随意。 1.1.1、避免不必要的对象创建 由于垃圾回收的代价较高,所以C#程序开发要遵循的一个基本原则就是避免不必要的对象创建。以下列举一些常见的情形。 避免循环创建对象 阅读全文

posted @ 2025-02-24 16:17 lzhdim

摘要:在C#开发中,性能优化是提升系统响应速度和资源利用率的关键环节。本文将通过开源基准测试框架BenchmarkDotNet,针对5个高频场景进行实测分析,结合具体代码案例与性能对比数据,揭示让代码性能提升10倍的核心技巧。 一、BenchmarkDotNet:性能优化的科学武器 作为.NET生态中功能 阅读全文

posted @ 2025-02-24 00:09 lzhdim

摘要:在Windows程序开发过程中,文件被其他进程占用是一个常见的问题,尤其是在多进程或多线程环境下。当多个进程或线程同时尝试访问同一个文件时,可能会出现文件锁定的情况,导致程序无法正常读取或写入文件,从而引发异常。这种问题不仅会影响程序的稳定性,还可能导致数据丢失或损坏。因此,开发者需要采取有效的措施 阅读全文

posted @ 2025-02-23 14:35 lzhdim

摘要:作为一名资深软件工程师,我深知在实际项目中掌握C#高级概念的价值所在。本指南将深入探讨每个C#开发人员都应该了解的重要且影响力大的特性,并辅以实际示例和最佳实践,以提升代码质量、可维护性以及性能。 继承:构建健壮的类层次结构 继承在面向对象编程(Object-Oriented Programming 阅读全文

posted @ 2025-02-02 13:02 lzhdim

摘要:值此新年之际,整理10个C#特色的语法,用以表达“新年快乐”的祝福,你知道几个? 1、异步编程 (async/await) var greeting = await NewYearAsyncGreeting();Console.WriteLine(greeting);async Task<strin 阅读全文

posted @ 2025-01-26 23:55 lzhdim

摘要:这天在网上遇到一个Windows的盘符图标修改软件,但是它那个是.net framework 2.0的,所以就将其改成4.8.1的了,用于Windows 11等默认不安装2.0库的操作系统里使用。 1、 项目目录; 2、 源码介绍; 它直接进行注册表的修改即可,设置和恢复都是。 3、 运行界面; 4 阅读全文

posted @ 2025-01-01 20:11 lzhdim 阅读(10324) 评论(0) 推荐(0)

摘要:前言 在咱们的印象中C# WinForm一直只支持Windows系统运行,无法支持跨平台运行。今天大姚给大家分享一个开源框架:GTKSystem.Windows.Forms,它能够让C# Winform支持跨平台运行。 项目介绍GTKSystem.Windows.Forms是一个C#桌面应用程序跨平 阅读全文

posted @ 2024-12-27 16:10 lzhdim 阅读(92) 评论(0) 推荐(0)

摘要:引言 存储在磁盘中的文件,由于对其操作,文件会产生变化。如何监视文件系统的变化,如文件的创建、删除、修改和重命名等。.NET框架是否提供什么相关类库。本文了解C#如何使用FileSystemWatcher实现监控磁盘文件变化。 FileSystemWatcher 1、概述 FileSystemWat 阅读全文

posted @ 2024-12-01 21:33 lzhdim 阅读(94) 评论(0) 推荐(0)

摘要:以前编写过一个日志记录组件的博文,这次发布一个修改过的完善版本。 1、 项目目录; 2、 源码介绍; 1) 实现; 2) 使用; 后面的参数为级别设置,只有大于这个级别的才进行日志记录,限制了日志记录的等级,如果想记录全部进行,则设置为ALL即可。 3、 运行界面; 4、 使用介绍; 参考例子里的代 阅读全文

posted @ 2024-11-17 19:02 lzhdim 阅读(9977) 评论(0) 推荐(0)

摘要:上次写过一个随系统启动的例子,不过那个是写到注册表中的,自从更新Windows操作系统后就不好使了,所以就换了个方式,只是将应用的快捷方式添加到操作系统的启动目录里,这样随系统启动。 1、 项目目录; 2、 源码介绍; 1) 实现; 2) 应用; 3、 运行界面; 4、 使用介绍; 参考例子中的代码 阅读全文

posted @ 2024-10-31 17:25 lzhdim 阅读(10025) 评论(0) 推荐(0)

上一页 1 2 3 4 5 6 ··· 11 下一页
Copyright © 2000-2022 Lzhdim Technology Software All Rights Reserved