随笔分类 - C#
关于C#,WPF等
摘要:写在前面:大内老A的这篇“老生常谈:值类型VS引用类型”放在微信收藏里好几个月了,终于趁着要讲JAVA传参机制的时候仔细地按照这篇博客,自己写代码跑一下,对C#的传参,ref,in,out关键字有了一个更好的理解。因此本文仅记录自己的学习心得。 1.值传递&引用传递 2.ref关键字 3.in关键字
阅读全文
摘要:写在前面:最开始了解中缀表达式和后缀表达式是在leetcode刷题刷到的。当时其实并没有深入想过这个有什么用,只是单纯的把题做出来而已。后来读了吴军的《计算之魂》里面P82提到了:“在很多大学计算机系的编程课或数据结构课中,初学者会被要求使用堆栈实现一个简单的计算器“。并大概在书中讲解了一下堆栈在这
阅读全文
摘要:https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods 扩展方法可以直接给现有的类扩展方法。扩展方法是静态方法,但是它们像扩展类的实例方法一样被调用。
阅读全文
摘要:之前几篇关于TreeView的博客中只是贴了源代码,并没有把整个项目上传到github。最近就想着把我常用的几个控件做成一个demo,这样也方便自己以后查看。本人也是WPF新手,但是我并没有打算就往这个方向发展,只是搞课题的时候需要一点可视化,就用到了WPF。总体感觉WPF很强大很灵活。 本次dem
阅读全文
摘要:该例子是我临时想出来的,不具有任何的实际意义。类图如图1所示。 图1 类代码: [Table("student")] public class Student { public int id { get; set; } public string name { get; set; } public
阅读全文
摘要:链表的类通常表示如下: public class ListNode { public int val; public ListNode next; public ListNode(int val, ListNode next=null) { this.val = val; this.next = n
阅读全文
摘要:1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了。我直接使用了默认的安装目录。否则的话,应该需要配置一下环境变量吧。 1.2下载并安装RabbitMQ https://www.rabbitmq.com/
阅读全文
摘要:本文主要参考: https://www.cnblogs.com/qtiger/p/13497807.html ThreadPool中有若干数量的线程。当有任务需要处理时,会从线程池中获取一个空闲的线程来执行任务,任务执行完毕后线程不会销毁,而是被线程池回收以供后续任务使用。当线程池中所有的线程都被占
阅读全文
摘要:在比较两个对象是否完全相同时,对于string, int等其他value object,可以直接通过“==”或者“Equals”来进行判断。但是对于复杂类,如下的Student类,则需要比较每个属性的值是否相同。并且在Student类中还涉及到了列表的对比问题。如果没有在Student类中重写Equ
阅读全文
摘要:本文主要实现下图所示的应用场景: 对于Class1页,会显示用户的age和address属性,对于Class2页,会显示用户的age,address和sex属性。在左边的ListBox中选择对应的用户,右侧会显示其对应的属性信息。 xaml代码如下: <Controls:MetroWindow x:
阅读全文
摘要:Ocelot是一个用.NET Core实现的开源API网关技术。IdentityServer4是一个基于OpenID Connect和OAuth2.0的针对ASP.NET Core的框架,以中间件的形式存在。OAuth是一种授权机制。系统产生一个短期的token,用来代替密码,供第三方应用使用。 使
阅读全文
摘要:添加Microsoft.Win32程序集 private void OnOpenFile(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Title
阅读全文
摘要:首先发布了一个名为PersonService的WCF服务。服务契约如下: [ServiceContract] public interface IPersonService { [OperationContract] string GetPersonName(string name); [Opera
阅读全文
摘要:问题描述:左侧是一个ListView控件,用于显示User类的Name属性,右侧显示其SelectedItem的其他属性,包括Age, Address,和Category。其中Category用ComboBox表示。在下拉框选中其他category,可以更改User的属性值。 如果Category是
阅读全文
摘要:问题描述:左侧treeview控件中点击不同类别的节点时,右侧的页面会显示不同的权限。比如对于My Publications,拥有Modify和Delete两种权限,对于My Subscriptions,只拥有Unsubscribe的权限。 我想到的办法是将权限绑定到TreeView控件的Selec
阅读全文
摘要:背景描述:在Number1和Number2文本框中输入数字后,在Answer文本框中会按照下图所示显示。 xaml代码: <Window.Resources> <local:MyValueConverter x:Key="MyValueConverter"/> </Window.Resources>
阅读全文
摘要:写在前面:在(一)中,介绍了TreeView控件MVVM模式下数据绑定的方法。在这篇文章中,将总结给节点添加事件的方法,这样说有些不对,总之实现的效果就是点击某个节点,将出现对应于该节点的页面或者数据。(我这里用的方法肯定不是最好的,但是是我能想到的最佳方法了,WPF初学者,希望大家多多指教。) E
阅读全文
摘要:问题描述:使用C#调用下面的带参数的用python写的方法,并且想要获取返回值。 def Quadratic_Equations(a,b,c): D=b**2-4*a*c ans=[] ans.append((-b+math.sqrt(D))/(2*a)) ans.append((-b-math.s
阅读全文
摘要:先明确一个概念: 元数据。.NET中元数据是指程序集中的命名空间、类、方法、属性等信息。这些信息是可以通过Reflection读取出来的。 再来看个例子: 运行结果: 将#define BUG注释掉,#define NOBUG的注释取消,重新运行的结果如下: 那么可以理解为,上述代码中的[Condi
阅读全文
摘要:早期绑定(early binding),又可以称为静态绑定(static binding)。在使用某个程序集前,已知该程序集里封装的方法、属性等。则创建该类的实例后可以直接调用类中封装的方法。 后期绑定(late binding),又可以称为动态绑定(dynamic binding),需要使用Sys
阅读全文