
c#
文章平均质量分 84
zhanglei1234321
这个作者很懒,什么都没留下…
展开
-
c#基础知识---Thread 类常用的属性和方法
下表列出了 Thread 类的一些常用的 属性:属性描述CurrentContext获取线程正在其中执行的当前上下文。CurrentCulture获取或设置当前线程的区域性。CurrentPrinciple获取或设置线程的当前负责人(对基于角色的安全性而言)。CurrentThread获取当前正在运行的线程。CurrentUICulture获取或设置资源管理器使用的当前区域性以便在运行时查找区域性...原创 2018-01-29 18:16:58 · 2410 阅读 · 0 评论 -
c#基础知识---多线程
线程 被定义为程序的执行路径。每个线程都定义了一个独特的控制流。如果您的应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了 CPU 周期的浪费,同时提高了应用程序的效率。到目前为止我们编写的程序是一个单线程作为应用程序的运行实例的单一的过程运行的。但原创 2018-01-29 18:15:48 · 290 阅读 · 0 评论 -
c#基础知识---匿名方法
我们已经提到过,委托是用于引用与其具有相同标签的方法。换句话说,您可以使用委托对象调用可由委托引用的方法。匿名方法(Anonymous methods) 提供了一种传递代码块作为委托参数的技术。匿名方法是没有名称只有主体的方法。在匿名方法中您不需要指定返回类型,它是从方法主体内的 return 语句推断的。编写匿名方法的语法匿名方法是通过使用 delegate原创 2018-01-29 12:35:43 · 196 阅读 · 0 评论 -
c#基础知识---不安全代码
当一个代码块使用 unsafe 修饰符标记时,C# 允许在函数中使用指针变量。不安全代码或非托管代码是指使用了指针变量的代码块。指针变量指针 是值为另一个变量的地址的变量,即,内存位置的直接地址。就像其他变量或常量,您必须在使用指针存储其他变量地址之前声明指针。指针变量声明的一般形式为:type *var-name;以下是有效的指针声明:int *原创 2018-01-29 12:34:36 · 203 阅读 · 0 评论 -
c#基础知识---泛型
泛型(Generic) 允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。下面这个简单的实例将有助于您理解这个概念:using System;using Syst原创 2018-01-27 18:15:27 · 254 阅读 · 0 评论 -
c#基础知识---集合之点阵列(BitArray)
BitArray 类管理一个紧凑型的位值数组,它使用布尔值来表示,其中 true 表示位是开启的(1),false 表示位是关闭的(0)。当您需要存储位,但是事先不知道位数时,则使用点阵列。您可以使用整型索引从点阵列集合中访问各项,索引从零开始。BitArray 类的方法和属性下表列出了 BitArray 类的一些常用的 属性:属性描述原创 2018-01-27 15:53:23 · 1008 阅读 · 1 评论 -
c#基础知识---集合之队列
队列(Queue)代表了一个先进先出的对象集合。当您需要对各项进行先进先出的访问时,则使用队列。当您在列表中添加一项,称为入队,当您从列表中移除一项时,称为出队。Queue 类的方法和属性下表列出了 Queue 类的一些常用的 属性:属性描述Count获取 Queue 中包含的元素个数。下表列出了 Queu原创 2018-01-27 15:35:17 · 221 阅读 · 0 评论 -
c#基础知识---集合之堆栈(Stack)
堆栈(Stack)代表了一个后进先出的对象集合。当您需要对各项进行后进先出的访问时,则使用堆栈。当您在列表中添加一项,称为推入元素,当您从列表中移除一项时,称为弹出元素。Stack 类的方法和属性下表列出了 Stack 类的一些常用的 属性:属性描述Count获取 Stack 中包含的元素个数。下表列出了原创 2018-01-27 15:28:34 · 282 阅读 · 0 评论 -
c#基础知识---集合之排序列表(SortedList)
SortedList 类代表了一系列按照键来排序的键/值对,这些键值对可以通过键和索引来访问。排序列表是数组和哈希表的组合。它包含一个可使用键或索引访问各项的列表。如果您使用索引访问各项,则它是一个动态数组(ArrayList),如果您使用键访问各项,则它是一个哈希表(Hashtable)。集合中的各项总是按键值排序。SortedList 类的方法和属性下表列出了 So原创 2018-01-27 15:16:34 · 800 阅读 · 0 评论 -
c#基础知识---集合之哈希表(Hashtable)
Hashtable 类代表了一系列基于键的哈希代码组织起来的键/值对。它使用键来访问集合中的元素。当您使用键访问元素时,则使用哈希表,而且您可以识别一个有用的键值。哈希表中的每一项都有一个键/值对。键用于访问集合中的项目。Hashtable 类的方法和属性下表列出了 Hashtable 类的一些常用的 属性:属性描述Count原创 2018-01-27 15:08:29 · 293 阅读 · 0 评论 -
c#基础知识---集合之动态数组(ArrayList)
动态数组(ArrayList)代表了可被单独索引的对象的有序集合。它基本上可以替代一个数组。但是,与数组不同的是,您可以使用索引在指定的位置添加和移除项目,动态数组会自动重新调整它的大小。它也允许在列表中进行动态内存分配、增加、搜索、排序各项。ArrayList 类的方法和属性下表列出了 ArrayList 类的一些常用的 属性:属性描述原创 2018-01-27 14:59:28 · 663 阅读 · 0 评论 -
c#基础知识---事件
事件(Event) 基本上说是一个用户操作,如按键、点击、鼠标移动等等,或者是一些出现,如系统生成的通知。应用程序需要在事件发生时响应事件。例如,中断。事件是用于进程间通信。通过事件使用委托事件在类中声明且生成,且通过使用同一个类或其他类中的委托与事件处理程序关联。包含事件的类用于发布事件。这被称为 发布器(publisher) 类。其他接受该事件的类被称为 订阅器(subsc原创 2018-01-26 22:29:51 · 199 阅读 · 0 评论 -
c#基础知识---委托
C# 中的委托(Delegate)类似于 C 或 C++ 中函数的指针。委托(Delegate) 是存有对某个方法的引用的一种引用类型变量。引用可在运行时被改变。委托(Delegate)特别用于实现事件和回调方法。所有的委托(Delegate)都派生自 System.Delegate 类。声明委托(Delegate)委托声明决定了可由该委托引用的方法。委托可指向一个与其原创 2018-01-26 11:55:30 · 143 阅读 · 0 评论 -
c#基础知识---索引器
索引器(Indexer) 允许一个对象可以像数组一样被索引。当您为类定义一个索引器时,该类的行为就会像一个 虚拟数组(virtual array) 一样。您可以使用数组访问运算符([ ])来访问该类的实例。语法一维索引器的语法如下:element-type this[int index] { // get 访问器 get { // 返回 i原创 2018-01-26 11:14:54 · 214 阅读 · 0 评论 -
c#基础知识---特性
特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。特性(Attribute)用于添加元数据,如编译器指令和注释、描述、方法、类等其他信息。.Net 框架提供了两种类型的特性:预定义特性和自定义特性。规原创 2018-01-25 14:42:37 · 382 阅读 · 0 评论 -
c#基础知识---Windows 文件系统的操作
C# 允许您使用各种目录和文件相关的类来操作目录和文件,比如 DirectoryInfo 类和 FileInfo 类。DirectoryInfo 类DirectoryInfo 类派生自 FileSystemInfo 类。它提供了各种用于创建、移动、浏览目录和子目录的方法。该类不能被继承。下表列出了 DirectoryInfo 类中一些常用的属性:序号原创 2018-01-23 21:50:41 · 230 阅读 · 0 评论 -
c#基础知识---二进制文件的读写
BinaryReader 和 BinaryWriter 类用于二进制文件的读写。BinaryReader 类BinaryReader 类用于从文件读取二进制数据。一个 BinaryReader 对象通过向它的构造函数传递 FileStream 对象而被创建。下表列出了 BinaryReader 类中一些常用的方法:序号方法 & 描述原创 2018-01-23 21:48:46 · 384 阅读 · 0 评论 -
c#基础知识---文本文件的读写
StreamReader 和 StreamWriter 类用于文本文件的数据读写。这些类从抽象基类 Stream 继承,Stream 支持文件流的字节读写。StreamReader 类StreamReader 类继承自抽象基类 TextReader,表示阅读器读取一系列字符。下表列出了 StreamReader 类中一些常用的方法:序号方法原创 2018-01-23 21:44:23 · 232 阅读 · 0 评论 -
c#基础知识---文件属性与文件路径操作
1.文件属性操作: File类与FileInfo都能实现。静态方法与实例化方法的区别!//use File classConsole.WriteLine(File.GetAttributes(filePath));File.SetAttributes(filePath,FileAttributes.Hidden | FileAttributes.ReadOnly);Conso原创 2018-01-23 21:38:38 · 1099 阅读 · 0 评论 -
c#基础知识---FileStream 类
FileStream 类System.IO 命名空间中的 FileStream 类有助于文件的读写与关闭。该类派生自抽象类 Stream。您需要创建一个 FileStream 对象来创建一个新的文件,或打开一个已有的文件。创建 FileStream 对象的语法如下:FileStream = new FileStream( ,FileMode Enumerator>, Fil原创 2018-01-23 21:37:09 · 851 阅读 · 1 评论 -
c#基础知识---常用的一些用来文件操作的类
System.IO 命名空间有各种不同的类,用于执行各种文件操作,如创建和删除文件、读取或写入文件,关闭文件等。下表列出了一些 System.IO 命名空间中常用的非抽象类:I/O 类描述BinaryReader从二进制流读取原始数据。BinaryWriter以二进制格式写入原始数据。Buffere原创 2018-01-23 21:35:01 · 256 阅读 · 0 评论 -
c#基础知识---正则表达式
正则表达式 是一种匹配输入文本的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符、运算符和结构组成。定义正则表达式下面列出了用于定义正则表达式的各种类别的字符、运算符和结构。字符转义字符类定位点分组构造限定符反向引用构造备用构造替换杂项构造字符转义正则表达式中的反斜杠字符(\)指示其后跟的字符是原创 2018-01-23 20:45:31 · 198 阅读 · 0 评论 -
c#基础知识---预处理器指令
下表列出了 C# 中可用的预处理器指令:预处理器指令描述#define它用于定义一系列成为符号的字符。#undef它用于取消定义符号。#if它用于测试符号是否为真。#else它用于创建复合条件指令,与 #if 一起使用。#elif它用于创建复合条件指令原创 2018-01-23 20:12:23 · 186 阅读 · 0 评论 -
c#基础知识--运算符的重载
运算符重载的实现下面的程序演示了完整的实现:using System;namespace OperatorOvlApplication{ class Box { private double length; // 长度 private double breadth; // 宽度 private double hei原创 2018-01-23 17:58:07 · 191 阅读 · 0 评论 -
c#基础知识---静态成员
我们可以使用 static 关键字把类成员定义为静态的。当我们声明一个类成员为静态时,意味着无论有多少个类的对象被创建,只会有一个该静态成员的副本。关键字 static 意味着类中只有一个该成员的实例。1.静态变量用于定义常量,因为它们的值可以通过直接调用类而不需要创建类的实例来获取。静态变量可在成员函数或类的定义外部进行初始化。你也可以在类的定义内部初始化静态变量。下面的原创 2018-01-21 17:29:43 · 267 阅读 · 0 评论 -
c#基础知识---构造函数的用法
类的 构造函数 是类的一个特殊的成员函数,当创建类的新对象时执行。构造函数的名称与类的名称完全相同,它没有任何返回类型。下面的实例说明了构造函数的概念:using System;namespace LineApplication{ class Line { private double length; // 线条的长度 public原创 2018-01-21 17:27:24 · 406 阅读 · 0 评论 -
c#基础知识---成员函数的用法
类的成员函数是一个在类定义中有它的定义或原型的函数,就像其他变量一样。作为类的一个成员,它能在类的任何对象上操作,且能访问该对象的类的所有成员。成员变量是对象的属性(从设计角度),且它们保持私有来实现封装。这些变量只能使用公共成员函数来访问。让我们使用上面的概念来设置和获取一个类中不同的类成员的值:using System;namespace BoxApplication{原创 2018-01-21 17:25:47 · 2587 阅读 · 0 评论 -
c#基础知识---枚举
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。C# 枚举是值数据类型。换句话说,枚举包含自己的值,且不能继承或传递继承。声明 enum 变量声明枚举的一般语法:enum { enumeration list };其中,enum_name 指定枚举的类型名称。enumeration list 是一个用逗号分隔的标原创 2018-01-21 16:15:26 · 271 阅读 · 0 评论 -
c#基础知识---字符串
在 C# 中,您可以使用字符数组来表示字符串,但是,更常见的做法是使用 string 关键字来声明一个字符串变量。string 关键字是 System.String 类的别名。创建 String 对象您可以使用以下方法之一来创建 string 对象:通过给 String 变量指定一个字符串通过使用 String 类构造函数通过使用字符串串联运算符( + )通原创 2018-01-20 18:26:31 · 257 阅读 · 0 评论 -
c#基础知识---Array类的属性和方法
C# Array 类Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义。Array 类提供了各种用于数组的属性和方法。Array 类的属性下表列出了 Array 类中一些最常用的属性:序号属性 & 描述1IsFixedSize获取一个值,该值指示数组是否带有固定大小。原创 2018-01-20 18:18:32 · 2438 阅读 · 0 评论 -
c#基础知识---参数数组
C# 参数数组有时,当声明一个方法时,您不能确定要传递给函数作为参数的参数数目。C# 参数数组解决了这个问题,参数数组通常用于传递未知数量的参数给函数。params 关键字在使用数组作为形参时,C# 提供了 params 关键字,使调用数组为形参的方法时,既可以传递数组实参,也可以传递一组数组元素。params 的使用格式为:public 返回类型原创 2018-01-20 17:19:19 · 304 阅读 · 0 评论 -
c#基础知识---参数传递
参数传递当调用带有参数的方法时,您需要向方法传递参数。在 C# 中,有三种向方法传递参数的方式:方式描述值参数这种方式复制参数的实际值给函数的形式参数,实参和形参使用的是两个不同内存中的值。在这种情况下,当形参的值发生改变时,不会影响实参的值,从而保证了实参数据的安全。引用参数这种方式复制参数的内存位置的引用给形式原创 2018-01-20 15:52:53 · 266 阅读 · 0 评论 -
c#基础知识---递归方法的调用
一个方法可以自我调用。这就是所谓的 递归。下面的实例使用递归函数计算一个数的阶乘:using System;namespace CalculatorApplication{ class NumberManipulator { public int factorial(int num) { /* 局部变量定义 */原创 2018-01-20 15:24:59 · 1020 阅读 · 0 评论 -
c#基础知识---调用方法
1.可以使用方法名调用方法。下面的实例演示了这点:using System;namespace CalculatorApplication{ class NumberManipulator { public int FindMax(int num1, int num2) { /* 局部变量声明 */ int resu原创 2018-01-20 15:23:04 · 1037 阅读 · 0 评论 -
c#基础知识---foreach的用法
foreach循环用于列举出集合中所有的元素,foreach语句中的表达式由关键字in隔开的两个项组成。in右边的项是集合名,in左边的项是变量名,用来存放该集合中的每个元素。该循环的运行过程如下:每一次循环时,从集合中取出一个新的元素值。放到只读变量中去,如果括号中的整个表达式返回值为true,foreach块中的语句就能够执行。一旦集合中的元素都已经被访问到,整个表达式的值为false原创 2018-01-19 20:40:56 · 785 阅读 · 0 评论 -
c#基础知识---转义序列
转义序列含义\\\ 字符\'' 字符\"" 字符\?? 字符\aAlert 或 bell\b退格键(Backspace)\f换页符(Form feed)\n换行符(Newline)\r原创 2018-01-19 20:03:09 · 757 阅读 · 0 评论 -
c#基础知识----占位符
当 WriteLine() 函数有多个参数时,输出第一个参数中的内容,而第二个参数中的内容替换掉第一个参数中对应位置的占位符一起输出。例:static void Main(string[] args){ Console.WriteLine("A:{0},a:{1}",65,97); Console.ReadLine();}运行结果:A:65,a:97如果第一个参数没有留占位符,原创 2018-01-19 16:51:18 · 1108 阅读 · 0 评论 -
c#:如何跳出框架?
最近,在做一个仓库管理系统时,有一项修改密码的功能,但是在修改完密码之后,并不是跳回原来的登录界面,而是在原来的小界面中跳回了登录界面,如图所示:然后自己想了大概两天也在网上试了不少方法,但都没有解决(ps.我搜索的关键字都是“修改密码后怎么跳回原登录界面”,所以关键字要打对啊)。后来咨询了老师,老师一眼就看出了是框架的问题,几分钟就解决了。只要将代码 Response.R原创 2018-01-19 11:34:53 · 459 阅读 · 0 评论