Fish in the river

C#
C#

值类型和引用类型

不管是面向对象还是面向过程编程。值类型和引用类型都是必须理解的基础概念。 如以下C#代码 以上代码运行之后,你就会发现结构类型(值类型)和类类型(引用类型)的不同之处。 大家都是先构造了一个实例,p和person。再分别通过PrintPoint和PrintPerson方法传入这个实例进行了重新赋值。 在方法中显示了一下各个实例的属性值。毫无疑问,在方法中打印出来的值 ,都是在方法中重新设置的值。但是在方法执行完成后,再分别打印这两个实例的属性值会发现。结构体的属性值还是原来的那个属性值。而结构体的值通过方法执行后,成为执行之后的值。 结论应该是在结构体实例做为参数传递到方法中的时候,这个结构体复制了一遍。不影响原来的结构体。而类实例做为参数传递到方法中的时候,只是将类的引用标签传递到了方法体中。在方法体中对类的实例的操作,都会影响原来的类的实例。

2025年3月15日 0comments 39hotness 0likes joey Read all
C#

类之间的关系

掌握设计模式,开启编程的魔法之门!

2024年11月24日 0comments 27hotness 0likes joey Read all
C#

VPN记录

本篇博客主要记录我不常用的VPN服务器。 公司地址: 223.68.139.168:13572 台湾地址: 211.20.110.125

2024年3月23日 0comments 84hotness 0likes joey Read all
C#

GitHub Copliot使用录影

今年,AI爆火。在编程界感受最先。各种辅助编程工具如雨后春笋般的涌现。极大的提高了程序员的编程效率。 随之而来的就是经典的疑问了,程序员会被取代吗? 这个问题,仁者见仁智者见智。我没有办法回答,也没有办法预见。 但是作为程序员的我们必须拥抱AI。这是毋庸置疑的。如果对新技术不敏感。就不是程序员了。 在AI辅助编程的工具中,Copilot是无可争议的第一名。 所以,基于此,我录制了GitHub Copilot的使用视频作为入门。 希望大家会喜欢。 下载地址如下:

2024年3月17日 0comments 93hotness 0likes joey Read all
C#

c# 注入框架 AutoFac

C#注入框架有很多,有微软自己的Microsoft.Extensions.DependencyInjection。也有号称比微软还好的AutoFac。 但我好多都不了解。也不理解。所以我就按AutoFac的Start敲了一遍。 做完了,功能实现了,确实很好。 但还是一知半解。为了理解还写了一下UML图。将就着看吧。 记录一下吧。 原码下载地址如下: 在Vs2022下编译成功。

2024年3月12日 0comments 92hotness 0likes joey Read all
C#

wpf 使用CommunityToolKit.Mvvm实现多线程

接上一个文章,我们在上一个文章中使用CommunityToolKit.Mvvm写了命令。我们在这篇文章中,写一下MVVM模式下的多线程。 在开发过程中,不可避免的会使用到多线程,用以提高程序运行的响应性。在这个过程中就会碰到在另一个线程中操作UI线程中的控件。 这时必须要用到WPF的多线程线度调度器“Dispatcher”。这个相对于在Winform中的使用,已经简单了许多了。 但是和大神的文章相比,我发现CommunityToolKit.mvvm中没有DispatcherHelper这个类。我找了很久,也没有找到,所以还是只能使用Dispatcher这个WPF中的原生的类来实现了。 还是那句老话,写程序一定要用成熟的技术。千万别用一些小众的框架。要不,到时有你受的。 同上篇文章,这篇文章的实现来自这位大神的文章。我只是将他原来使用mvvmLight的框架使用CommunityToolKit重新实现了一遍 大神的文章如下。 https://www.cnblogs.com/wzh2010/p/6518834.html 重写的Demo源码如下。在Visual studio2022 + .net 6.0下编译实现。

2024年2月7日 0comments 177hotness 0likes joey Read all
C#

wpf 使用CommunityToolKit.Mvvm实现命令

接上一个文章,我们在上一个文章中使用CommunityToolKit.Mvvm写了绑定验证。我们在这篇文章中,写一下MVVM模式下的Command.即命令。 这一章节是我花时间最长的一个章节。主要原因是CommunityTookKit.Mvvm的模式下与MvvmLight的EventToCommand有较大的区别。如果有人参考这篇文章的话,一定要注意,引用的几个Nuget包。一个都不能少,要不然,你会发现调试不通。 还是那句老话,写程序一定要用成熟的技术。千万别用一些小众的框架。要不,到时有你受的。 同上篇文章,这篇文章的实现来自这位大神的文章。我只是将他原来使用mvvmLight的框架使用CommunityToolKit重新实现了一遍。但是在EventToCommad的部分是与他不同的,有些引用不同。要特别注意。 大神的文章如下。 https://www.cnblogs.com/wzh2010/p/6518834.html 重写的Demo源码如下。在Visual studio2022 + .net 6.0下编译实现。

2024年2月5日 0comments 94hotness 0likes joey Read all
C#

wpf 使用CommunityToolKit.Mvvm实现绑定验证

接上一个文章,我们在上一个文章中使用CommunityToolKit.Mvvm写了绑定。我们在这篇文章中,写一下绑定验证。 绑定验证在WPF系统中也是非常重要的一环。验证可以使得你的系统变得非常健壮。除非你的系统是游戏级别的自娱自乐级别。要么我都建议你加上验证。 还是那句老话,写程序一定要用成熟的技术。千万别用一些小众的框架。要不,到时有你受的。 同上篇文章,这篇文章的实现来自这位大神的文章。我只是将他原来使用mvvmLight的框架使用CommunityToolKit重新实现了一遍。 大神的文章如下。 https://www.cnblogs.com/wzh2010/p/6518834.html 重写的Demo源码如下。在Visual studio2022 + .net 6.0下编译实现。

2024年2月5日 0comments 86hotness 0likes joey Read all
C#

WPF 使用CommunityToolkit.Mvvm实现Binding示例

WPF 在国内的发展一言难尽。属于那种死不死,活不活的状态。 现在应用最多的场景就是上位机了。 最近研究了一下WPF中重要的特性之一Binding。如果你没有学会它,基本WPF就没有学明白。 研究Binding的时候,我也用了MVVM特性,这也是WPF必学的科目之一。我原来用的是MVVMLight。可是后来它就不维护了。现在使用Nuget安装时,它会直接提示你这个项目过时了,推荐了CommunityToolKit.MVVM框架了。 这个框架是微软在维护的。一直在更新,不知道大家怎么想,但是,我这么多年下来,总结出了一个想法。如果你想长期的维护一个项目,一定要用那种长期维护的项目。要不,除非你的项目不想继续维护了。要不,这些框架会把你搞死。 算了,不说废话了。 我在学习的过程中发现了这个大牛写的系列文章,虽然是写MVVMLight的,但是大牛就是大牛,人家写的那叫一个全面。虽能写的全面但是人家写的一点都不罗嗦。文章写的那叫一个漂亮。我觉得写的非常好,要给人家一个大大的赞。 我这个代码就是仿照他的文章写的,我用.net 6.0,CommunityToolKit.MVVM框架实现了一遍。 大牛的文章链接如下: https://www.cnblogs.com/wzh2010/p/6425060.html 我实现的源码如下,感兴趣的,可以拿去研究。我是在visual studio 2022下实现的。其它的开发环境我没有测试过。

2024年2月5日 0comments 165hotness 0likes joey Read all

近期文章

  • 你得到了什么
  • 激活windows和Windows
  • 自建KMS_SERVER激活Windows 11
  • 数据透视表
  • EXCEL 折线图 X轴显示的位置

近期评论

No comments to show.

COPYRIGHT © 2024 水中小鱼. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang