- 博客(24)
- 收藏
- 关注
原创 C#Replace
在C#的字符串操作过程中,有时候需要替换字符串中的某个子字符串,此时就可以使用到字符串类自带的Replace方法来实现,Replace方法将查找到所有符合被替换的子字符串,然后将之全部替换为目标字符串。Replace方法有2个方法重载实现,一个是String Replace(String oldValue, String newValue),另一个是Replace(char oldChar, ch...
2019-07-18 09:03:55
12024
4
原创 C#进制转换
下面是用代码制作的一个进制转换的转换器代码如下:class Transform{internal string TenToBinary(long value)//将十进制转换为二进制{return Convert.ToString(value, 2);}internal string TenToEight(long value)//将十进制转换为八进制{return Conver...
2019-07-18 09:02:07
556
1
原创 C#多线程—线程池
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永...
2019-07-07 16:50:49
316
原创 C#多线程—信号量
信号量 Semaphore类似互斥锁,但它可以允许多个线程同时访问一个共享资源通过使用一个计数器来控制对共享资源的访问,如果计数器大于0,就允许访问,如果等于0,就拒绝访问。计数器累计的是“许可证”的数目,为了访问某个资源。线程必须从信号量获取一个许可证。通常在使用信号量时,希望访问共享资源的线程将尝试获取一个许可证,如果信号量的计数器大于0,线程将获取一个许可证并将信号量的计数器减1,否则...
2019-07-07 16:47:59
282
原创 C#泛型方法
定义泛型类、结构或接口时,类型中定义的任何方法都可引用类型指定的一个类型参数。类型参数可以作为方法的参数,作为方法的返回值,或者作为方法内部定义的一个局部变量来使用。CLR允许一个方法指定它独有的类型参数,这些类型参数可用于参数、返回值、或者局部变量。C#编译器支持在调用一个泛型方法时进行类型推断。执行类型推断时,C#使用变量的数据类型,而不是由变量引用的对象的实际类型。一个类型可以定义多个方法...
2019-06-27 19:52:18
4825
原创 C#泛型参数的约束
在定义泛型类时,可以对客户端代码能够在实例化类时用于类型参数的类型种类施加限制。如果客户端代码尝试使用某个约束所不允许的类型来实例化类,则会产生编译时错误。这些限制称为约束。约束是使用 where 上下文关键字指定的。下表列出了六种类型的约束:where T: struct类型参数必须是值类型。可以指定除 Nullable 以外的任何值类型。有关更多信息,请参见使用可以为 null 的类型(C...
2019-06-27 19:45:12
1790
原创 C#-委托(二)
一、Action和Func委托除了上篇描述的为每个参数和返回类型定义一个新委托类型之外,还可以使用Action和Func委托。通过T的标示,我们可以知道这是两个泛型委托。二、Action其中Action委托表示引用一个void返回类型的方法。这个委托存在不同的变体,可以传递最多16种不同的参数类型。如:Action表示调用带一个参数的方法(返回类型为void),Action<in T1...
2019-06-17 09:10:18
119
原创 C#-委托
一、委托把方法作为参数传给其他方法。二、声明委托在C#中使用一个类时,分两个阶段。首先,需要去定义一个类,然后实例化类的一个对象(只需要静态方法除外)。 使用委托也需要经过这2个步骤,首先必须定义要使用的委托,对于委托,定义它就是告诉编译器这种类型的委托表示哪种类型的方法。然后,必须创建该委托的一个或多个实例。编译器在后台将创建表示该委托的一个类。定义委托的语法如下:在这个示例中,定义了...
2019-06-17 09:07:04
150
原创 Parallel类
1,Parallel类Parallel类是对线程的一个很好的抽象。该类位于System.Threading.Tasks 命名空间中,提供了数据和任务的并行性。Parallel类定义了并行的for和foreach的静态方法。对于C#的for和foreach语句而言,循环从一个线程中运行。Parallel类使用多个任务,因此使用多个线程来完成这个作业。Parallel.For()和Paralle...
2019-06-09 12:30:38
564
原创 C#文件和注册表操作
1,Directory类和File类只包含静态方法,不能被实例化。只要调用一个成员方法,提供合适文件系统对象的路径,就可以使用这些类。如果只对文件夹或文件执行一个操作,使用这些类就很有效,因为这样可以省去实例化.NET类的系统开销。2,DirectoryInfo类和FileInfo类这两个类实现与Directory类和File大致相同的公共方法,并拥有一些公共属性和公共函数,但他们都是有状...
2019-06-09 12:26:54
278
原创 WPF事件
WPF的事件为路由事件,路由的环境为UI组件树(Visual Tree),Visual Tree由控件和控件的组成元素组成,事件可以在控件内部传递并处理。另一个树为Logical Tree,只包含布局控件和其他控件而不包括控件的组成元素。因此路由事件沿着Visual Tree传递。传统.Net开发中的直接事件模型的缺点事件拥有者和响应者必须建立订阅关系,如果想让事件向外层控件传递必须手动编写事...
2019-06-09 12:22:04
433
原创 XAML元素语法
对象元素语法对象元素语法是一种 XAML 标记语法,它通过声明 XML 元素将 CLR 类或结构实例化。 这种语法类似于如 HTML 等其他标记语言的元素语法。 对象元素语法以左尖括号 (<) 开始,后面紧跟要实例化的类或结构的类型名称。 类型名称后面可以有零个或多个空格,对于对象元素还可以声明零个或多个特性,并用一个或多个空格来分隔每个“特性名=“值””对。 最后,必须存在下列一种情况:...
2019-05-28 16:02:56
289
原创 XAML的命名空间和命名空间映射
什么是 XAML 命名空间?XAML命名空间实际上是 XML 命名空间概念的扩展。 指定 XAML 命名空间的方法依赖于 XML 命名空间语法、将 URI 用作命名空间标识符以及使用前缀提供从相同标记源引用多个命名空间等约定。 XML 命名空间的 XAML 定义增添的主要概念是,XAML 命名空间表示标记用法唯一性范围,还影响标记实体可如何受特定 CLR 命名空间和引用程序集支持。 后者也会受 ...
2019-05-28 15:58:01
460
原创 final修饰符
一、final关键字可以用来修饰类、方法、变量。各有不同。A、修饰类(class)。1、该类不能被继承。2、类中的方法不会被覆盖,因此默认都是final的。3、用途:设计类时,如果该类不需要有子类,不必要被扩展,类的实现细节不允许被改变,那么就设计成final类B、修饰方法(method)1、该方法可以被继承,但是不能被覆盖。2、用途:一个类不允许子类覆盖该方法,则用final来修...
2019-05-17 08:59:07
120
原创 Java Error和 Exception
在 Java 中,所有的异常都有一个共同的祖先 Throwable(可抛出)。Throwable 指定代码中可用异常传播机制通过 Java 应用程序传输的任何问题的共性。Throwable 有两个重要的子类:Exception(异常)和 Error(错误),二者都是 Java 异常处理的重要子类,各自都包含大量子类。Error(错误)是系统中的错误,程序员是不能改变的和处理的,是在程序编译时出...
2019-05-17 08:53:00
105
原创 Java中的反射机制
Java的反射机制在运行状态中,对于任意一个类,都能够获取到这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性(包括私有的方法和属性),这种动态获取的信息以及动态调用对象的方法的功能就称为java语言的反射机制。通俗点讲,通过反射,该类对我们来说是完全透明的,想要获取任何东西都可以。Class类型及对象的获取方法在运行时(runtime)承载类型信息的Class...
2019-05-08 19:14:10
129
转载 java集合
集合集合与数组数组(可以存储基本数据类型)是用来存现对象的一种容器,但是数组的长度固定,不适合在对象数量未知的情况下使用。集合(只能存储对象,对象类型可以不一样)的长度可变,可在多数情况下使用。注:数组我在前面的博客讲了大家可以看下集合中接口和类的关系Collection接口是集合类的根接口,Java中没有提供这个接口的直接的实现类。但是却让其被继承产生了两个接口,就是Set和List...
2019-05-08 18:46:24
76
原创 Java倒计时
利用Java的基础知识制作一个给定时间的倒计时器,实际用处是可以用来到计时,当作秒表使用。代码入如下图:首先设置好时间的设定好时间长度1分钟等于60秒,60分钟等于1小时,然后写一个时间的方法,给定好时间多少分多少秒,然后就是使用一个循环方法把这个时间进行一个自减,最后进行一个输出图上就是输出来的结果,这个方法只是用来给定的时间进行一个倒计时,还可以使用其他方法的倒计时,既然有倒计时那么也...
2019-05-08 18:27:48
13162
原创 Java接口
Java接口(Interface),是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。一、接口的含义1.Java接口,Java语言中存在的结构,有特定的语法和结构;2.一个类所具有的方法的特征集合,是一种逻辑上的抽象。3.Java接口本身没有任何实现,Java接口不涉及表象,而只...
2019-04-28 09:44:46
78
原创 String转字节数组
Java语言中字符串类型和字节数组类型相互之间的转换是经常发生的,网上的分析以及代码也比较多,本文将分析分析常规的byte[]和String之间的转换1.String转byte[]就是调用String类的getBytes()方法。如果没有带参数那就是转成软件默认的编码格式,如果带了参数的就是转换成参数里面的编码格式2.Byte[]转 Stringbyte[]转String就使用Cha...
2019-04-28 08:26:50
35470
1
原创 Java方法的重写
方法的重写(Override)在父子类中方法名相同,方法体不同:子类可以重写(覆盖)继承自父类的方法,即方法名和参数列表与父类的方法相同,但方法的实现不同。重写方法被调用时,看对象的类型:当子类对象的重写方法被调用时,运行的是子类的重写后的版本。子类在重写父类的方法时,可以通过super关键字调用父类的版本,这样的语法通常用于子类的重写方法在父类的方法基础上进行功能的扩展。重写原则重写“两同...
2019-04-18 09:16:49
142
原创 Java封装
封装从字面上的意思就是包装,专业点就是信息隐藏是指利用抽象数据类型将数据和基于数据的操作封装在一起,使其构成一个不可分割的独立实体,数据被保护在抽象数据类型的内部,尽可能地隐藏内部的细节,只保留一些对外接口使之与外部进行联系。系统的其他对象只能通过包裹在数据外面的已经授权的操作来与这个封装的对象进行交流和交互,也就是用户是无需知道对象内部的细节,但可以通过该对象对外提供的接口进行访问对象。封装的...
2019-04-18 09:08:34
87
原创 Java运算符
运算符是一种“功能”符号,用来通知Java进行相关的运算。Java语言中常见的运算符有以下几种Ø 算术运算符Ø 赋值运算符Ø 比较运算符Ø 逻辑运算符Ø 条件运算符运算符按照其要求的操作数数目来分也可以有Ø 单目运算符:~(按位取反)、!(取非)、-(负号运算符)、++(自增)、–(自减)Ø 双目运算符:+ - * / %(取余)Ø 三目运算符:(a<b)?a:b是一个“...
2019-04-18 09:02:25
109
原创 UI技术总结
UI设计总结平面设计基础平面设计,是一种用“视觉”作为沟通和表现的方式,从点,线,面开始认识,再深入的去了解“平面构成”,“色彩构成”,“立体构成”等基础;UI理论色彩搭配和版式设计用户体验和逻辑透视原理设计规范交互设计人机交互和用户的体验原型和架构设计原型设计是和交互设计师和网站开发工程师沟通的工具,架构设计指的是大型软件系统各个方面的设计...
2019-01-21 15:35:18
1066
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人