随笔分类 -  c#基础学习笔记

摘要:一、这是一个绘制圆角窗体的静态类:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;using System.Drawing;using System.Drawing.Drawing2D;namespace WindowsFormsApplication2{ public static class RoundFormDraw { public static void Paint(this object ... 阅读全文
posted @ 2012-08-02 15:13 zyswtwang 阅读(1052) 评论(0) 推荐(0)
摘要:NetworkInterface[] NetworkInterfaces = NetworkInterface.GetAllNetworkInterfaces(); foreach (NetworkInterface NetworkIntf in NetworkInterfaces) { IPInterfaceProperties IPInterfaceProperties = NetworkIntf.GetIPProperties(); UnicastIPAddressInformatio... 阅读全文
posted @ 2012-07-04 16:30 zyswtwang 阅读(6545) 评论(0) 推荐(2)
摘要:Response.ContentType = "application/octet-stream"; //通知浏览器下载文件而不是打开 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(model.Zlbt+"."+model.Zlhz, System.Text.Encoding.UTF8)); Response.BinaryWr... 阅读全文
posted @ 2012-06-15 10:42 zyswtwang 阅读(374) 评论(0) 推荐(0)
摘要:数据库中有表Users,有以下字段:id,name,pass,phone,email 导入导出时遵循以下规律: id|name|pass|phone|email 各字段值中间用"|"连接 使用StreamWriter进行数据导出 try { SaveFileDialog sfdExport = new Sa... 阅读全文
posted @ 2011-12-14 15:22 zyswtwang 阅读(1940) 评论(0) 推荐(0)
摘要:string类型可以看作char的只读数组 如: string s = "hello world";for(int i =0;i<s.Length;i++){Console.WriteLine(s[i]);}C#中字符串有一个重要的特性:不可变性,字符串一旦声明就不再可以改变,所以只能通过索引来读取指定位置的char,不能对指定位置的char进行修改。如果要对char进行修改,那么就必... 阅读全文
posted @ 2011-12-13 05:20 zyswtwang 阅读(301) 评论(0) 推荐(0)
摘要:namespace(命名空间),用于解决类重名问题,可以看作“类的文件夹”。 如果代码和被使用的类在一个namespace,则不需要using 在不同命名空间下的类调用有两种方法: 写全称 命名空间.类名 先using引用命名空间,再调用 阅读全文
posted @ 2011-12-12 08:49 zyswtwang 阅读(266) 评论(0) 推荐(0)
摘要:当实例化一个类时,系统会自动对这个类的属性进行初始化 数字型初始化成0/0.0 string类型初始化成null char类型初始化成\0 使用构造方法的好处: 1.对多个属性进行赋值时,不需要重复的写实例名 2.可以保证用户在new一个对象时,必须对某一个属性进行赋值 3,在创建对象时,对制度属性进行初始化 当我们定义好一个类后,如果没有写构造方法,那么系统会自动给我... 阅读全文
posted @ 2011-12-12 08:24 zyswtwang 阅读(6659) 评论(0) 推荐(0)
摘要:定义一个public的变量,在这个变量中含有get/set两个方法,这个变量是为了保护一个私有变量的。 属性是为了保护与之相对应的字段的,保证对字段的读取和赋值符合要求。 属性可分为:读写,只读,只写。 允许外部访问的变量一定要声明为属性 具有get/set方法的属性就叫做读写属性 只有get方法的属性就叫做只读属性 只有set方法的属性就叫做只写属性 练习题: 定义一个学生类,有六个属性... 阅读全文
posted @ 2011-12-12 04:36 zyswtwang 阅读(524) 评论(0) 推荐(0)
摘要:万物皆对象 属性——对象具有的各种特征 每个对象的属性都拥有特定的值 类是模子,确定对象将会拥有的特征(属性)和行为(方法) 类是对象的类型 类是抽象的概念,仅仅是模板,不如说:“人”类 对象是一个你能够看得到、摸得着的具体实体 对象可以叫做类的实例 类不占内存,对象才占内存 类的定义: [访问修饰符] class 类名 { 成员(属性/方法) …….... 阅读全文
posted @ 2011-12-11 05:41 zyswtwang 阅读(316) 评论(0) 推荐(1)
摘要:笔记写到这里,对c#的基础应该有所了解了,现在应该可以看懂一些c#代码,并且能写出简单的c#程序了,在这里要感谢一下传智播客.net培训的公开课,目前我所有的笔记都是边看视频教程编写的,传智播客.net培训的公开课视频确实不错,讲的很有重点,好了,废话少说,下面把我做的控制台应用程序的飞行棋的一些关键类代码贴出来,完整源码在文章最后,供大家参考,欢迎高手拍砖! 先看一下界面: 图例解释: 幸运轮... 阅读全文
posted @ 2011-12-10 07:27 zyswtwang 阅读(3690) 评论(1) 推荐(1)
摘要:概念: 一般在同一个类中,方法名相同,并且方法的参数个数或对应位置上的类型不同,才能构成方法的重载。 注意:方法重载和返回值没有关系,参数的个数或对应位置上的类型相同时,构不成重载 问题:方法只能返回一个值,当需要返回多个值时怎么办? 题:写一个方法,计算一个int类型数组中每个元素的总和 和 最大值与最小值? 该题需要返回3个参数,分别是sum(总和),max(最大值),min(... 阅读全文
posted @ 2011-12-09 08:08 zyswtwang 阅读(733) 评论(0) 推荐(0)
摘要:变量的作用域: 在方法中定义的变量称为局部变量,其作用域从定义开始,到其所在的语句块结束为止; 如何在一个方法中访问另一个方法的变量? 解决办法:参数和返回值 当被调用方法想得到调用者方法中的变量时,则可以让调用者通过参数的形式给被调用者 如: public static void Test(int number){ //代码}在方法名后面的括号内定义... 阅读全文
posted @ 2011-12-09 04:57 zyswtwang 阅读(1978) 评论(0) 推荐(0)
摘要:方法就是将一堆代码进行重用的一种机制。方法就是一段代码,这段代码可能有输入的值(参数),可能会有返回值。一个方法就想一个专门做这件事的人,我们调用它来完成一些事情,它可能需要我们提供一些数据给它,它执行完后可能会有一些执行结果给我们。要求的数据就叫参数,返回的执行结果就是返回值。string s = Console.ReadLine();就是一个有返回结果的方法;Console.WriteLine("hello word");就是一个有执行参数的函数,只有告诉WriteLine被打印的数据,它才知道如何打印;int i = Convert.ToInt32("123 阅读全文
posted @ 2011-12-09 02:51 zyswtwang 阅读(329) 评论(0) 推荐(0)
摘要:冒泡排序:让数组中的元素两两比较(第i个与第i+1个比较),经过n(i-1)遍两两比较,数组中的元素能按照我们预期的规律排序。要从大到小排序,我们进行两两比较的时候用“<”要从小到大排序,我们进行两两比较的时候用“>”第i个与第i+1个比较,满足条件时,两数交换值例:有如下数据10,20,30,40,50,60,70 原始数据7个元素20,30,40,50,60,70,10 第一趟 比较了6次 最小的数已跑到最后位30,40,50,60,70,20,10 第二趟 比较了5次 40,50,60,70,30,20,10 第三趟 比较了4次50,60,70,40,30,20,10 第四趟 阅读全文
posted @ 2011-12-09 02:20 zyswtwang 阅读(255) 评论(0) 推荐(0)
摘要:数组可以帮我们一次声明多个同类型的变量,这些变量在内存中是连续存储的声明:数据类型[] 数组名 = new 数据类型[数组长度]数据类型[] 数组名 = new 数据类型{值1,值2,...,值n}例如:int[] score = new int[5] int[] score = new int{3,5,9,1,4,22}声明了一个长度为5的数组,叫score通俗点说:就是声明了一个数组,里面包含5个int类型的变量数组名叫:score,里面的5个int类型的变量叫做 数组的元素如何访问数组:通过下标(索引)来访问数组比如,我们要想第0个元素赋一个3,可以这么写:score[0]=3;i... 阅读全文
posted @ 2011-12-08 03:00 zyswtwang 阅读(197) 评论(0) 推荐(0)
摘要:为什么要用结构:1.比如我们为了存储一个人的信息,要声明一组变量,当我们要存储n个人的信息时,就要声明n组变量,这样会很繁琐。2.存储一个人信息的这几个变量间没有关系,容易记乱语法:访问修饰符 struct 结构名{ 定义结构成员}如:public struct Person{ public string Name; public int Age; public string Phone; public void SayHi() { //......... } public ... 阅读全文
posted @ 2011-12-08 02:29 zyswtwang 阅读(174) 评论(0) 推荐(0)
摘要:枚举: 定义一种枚举类型并且在定义这种类型时我们要指定该类型的所有值语法: enum 类型名称{值1,值2,值3,...,值n}枚举的定义一般和类定义在同一级别,这样在同一个命名空间下的所有类都可以使用该枚举类型(方法中和类中也可以)实例:定义一个枚举类型:enum Gender{男,女}在放方法中使用:static Void Main(string[] args){Gender sex;sex = Gender.男;switch(sex){case Gender.男: Console.WriteLine("男性"); break;case Gender.女: ... 阅读全文
posted @ 2011-12-08 01:42 zyswtwang 阅读(329) 评论(0) 推荐(0)
摘要:结构与类很相似,都表示可以包含数据成员和函数成员的数据结构。但是,与类不同,结构是一种值类型,并且不需要堆分配。结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用。结构对于具有值语义的小的数据结构特别有用。复数、坐标系中的点或字典中的“键-值”对都是结构的典型示例。这些数据结构的关键之处在于:它们只有少量数据成员,它们不要求使用继承或引用标识,而且它们适合使用值语义(赋值时直接复制值而不是复制它的引用)方便地实现。。结构声明结构声明是一种用于声明新结构的类型声明: 使用struct关键字访问修辞符 struct 结构名{数据成员成员函数}类和结构的区别结构在以下几个重要方面... 阅读全文
posted @ 2011-11-28 16:30 zyswtwang 阅读(182) 评论(0) 推荐(0)
摘要:枚举类型是一种的值类型,它用于声明一组命名的常数。(1)枚举的声明:枚举声明用于声明新的枚举类型。访问修辞符enum 枚举名:基础类型{枚举成员 }基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。(2)枚举成员枚举成员是该枚举类型的命名常数。任意两个枚举成员不能具有相同的名称。每个枚举成员均具有相关联的常数值。此值的类型就是枚举的基础类型。每个枚举成员的常数值必须在该枚举的基础类型的范围之内 阅读全文
posted @ 2011-11-28 16:29 zyswtwang 阅读(142) 评论(0) 推荐(0)
摘要:命名规则:第一个字符必须是字母或者下划线_,其后的字符可以是任意个数字、字母,下划线。不能全部使用c#的关键字,比如class、namespace、new、void等,判断方式:VS中亮蓝色的就是关键字这也是类、函数等的命名规则。中文变量名(类名、函数名等)c#中建议变量的开头用小写 阅读全文
posted @ 2011-11-28 15:33 zyswtwang 阅读(241) 评论(0) 推荐(0)