
C#学习
天使也有爱
Stay hungry,Stay foolish
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#利用反射技术访问私有变量
//下面例子中, ChangeValue类的myValue本是私有字段,//一般情况下在类外部是不能改它的值的, 但利用反射就能改了//-----------------------------------------------------using System;using System.Reflection;/* 引用反射技术命名空间 *//* 待修改值的类 */class ChangeValue{ private int myValue;/* 私有变量 */ /*原创 2020-06-02 14:39:37 · 2158 阅读 · 0 评论 -
写多线程程序注意的问题
1、线程安全、死锁问题2、线程同步:同步的线程对共享对象的操作能够以正确的顺序执行;比如当一个线程执行递增或者递减操作时,其他线程一次等待。...原创 2020-01-06 14:13:56 · 346 阅读 · 0 评论 -
程序中错误处理
1、同一个线程里面采用错误返回码****和异常捕获****分别比如函数返回值和try…catch…2、异步编程,不同线程里面,被调用函数被放在另一个线程里面运行,无法返回码和无法抛出异常,在异步编程里面最常用的是采用注册回调函数的方法...原创 2019-12-04 10:03:27 · 226 阅读 · 0 评论 -
C#中的Attribute
深入浅出Attribute (上)——Attribute初体验深入浅出Attribute (中)——Attribute本质论C#中的Attribute详解(下)转载 2019-11-29 09:42:46 · 110 阅读 · 0 评论 -
C# 如何反射方法
假设你的类名是MyClass,方法名是Add调用格式:object obj = Assembly.Load(程序集).CreateInstance(“MyClass”, false);object obj2 = Type.GetType("MyClass").GetMethod("Add").Invoke(obj,null);obj2 是返回值,举例:namespace MyNames...转载 2019-11-28 14:09:15 · 280 阅读 · 0 评论 -
C# 什么是反射
就是根据类型的元数据,动态获得类型或者实例的信息。例如,public class MyClass{ public void SayHello() { }}现在我知道它有个方法是SayHello,那我就可以通过反射的方式来调用该方法。一般情况下:MyClass myClass = new MyClass();myClass.SayHello();而通过反射:MyCl...转载 2019-11-28 13:50:34 · 539 阅读 · 0 评论 -
C#的接口和抽象类比较
1、在C#中抽象类只能单继承;多继承只能用接口实现2、抽象类可以提供某些方法的部分实现,接口不可以。抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。...原创 2019-11-28 11:25:01 · 147 阅读 · 0 评论 -
C#的正则表达式
比较好的参考资料:一篇文章学会C#的正则表达式转载 2019-11-26 09:37:41 · 120 阅读 · 0 评论 -
#program有什么用?
#pragma是一个预处理指令,会把后面的值传给编译器。这个预处理指令是用于向编译器提供窗外信息的标准方法。原创 2019-11-25 16:11:42 · 2594 阅读 · 0 评论 -
如何给C#应用程序添加应用图标
没加图标前(系统默认)添加图标后可以变成这样怎么添加图标??把对应的ICO文件添加然后编译启动即可原创 2019-11-25 14:58:06 · 6703 阅读 · 0 评论 -
C#周期执行某个方法或者间隔一定时间再执行
命名空间using System.Timers;类 System.Timers.Timer System.Timers.Timer timer = new System.Timers.Timer(3500);//周期调用Update方法间隔时间3500ms timer .Elapsed += new System.Timers.ElapsedEventHandler(Update);/...原创 2019-08-16 15:39:28 · 6284 阅读 · 0 评论 -
捕获Application异常信息,调试用
在调试的时候出现莫名的异常,但是不知道具体出错的位置,编译运行环境也不报错可以使用,在主窗体加载并初始化前添加日志打印异常信息代码。方便排查代码中隐藏的bug,比如数组越界访问的问题。就拿数组越界来说,程序在运行,莫名的某个时间点,在某个方法中数组访问越界了,会弹出异常信息对话框,里面会显示出错的源文件位置及那个方法那个行导致的bug。using System;usin...转载 2019-08-16 11:37:15 · 943 阅读 · 0 评论 -
浅复制和深复制的区别
详细请参考 链接一文搞懂C#中的赋值、深复制、浅复制1、赋值即用“=”,赋值和深度复制,浅度复制完全是不同的概念,并没有什么关系,很多文章说赋值对于值类型是深度复制,对于引用类型是浅度复制,这种说法是不正确的,它的本质是在线程栈上产生一样的副本。2、浅度复制,比如使用MemberwiseClone。值类型成员独立,但是引用类型成员共享。3、深度复制,主要优化Clone方法;值类型成员和引用类...转载 2019-08-21 14:40:21 · 866 阅读 · 0 评论 -
C#跨线程调用异常处理方法
跨线程调用异常 比较常见的情况是在另一个线程里访问UI窗口线程的控件赋值,如果是这种情况一般使用Invoke等相关方法来解决原创 2019-08-15 09:59:06 · 520 阅读 · 0 评论 -
c# 自定义类数组实例化与初始化
自定义的Studentt类,代码如下:public class Student{ public int id;//学号 public string name;//姓名}实例化类数组和初始化数组里面的每一个类;只有初始化数组里面的每一个类,才能给类的成员赋值。Student[] stu= new Student[100];//实例化类数组100个...原创 2019-07-22 17:33:17 · 8586 阅读 · 7 评论 -
C#字符串复制
转载自C#字符串复制(https://blog.youkuaiyun.com/QPC908694753/article/details/52137209)复制是通过Copy和CopyTo来实现的。string.Copy(要复制的字符串);CopyTo(要复制字符的起始位置(从第几个字符开始往后复制(不包括第几个字符)),目标字符数组,目标数组中的开始存放位置,要复制的字符个数);//Copy静态方法:...转载 2019-07-19 08:54:46 · 7812 阅读 · 0 评论