![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#学习
在河之洲
这个作者很懒,什么都没留下…
展开
-
C#学习笔记一
c#学习笔记一 c#学习笔记一 1 1. 注释 3 1.1. ///是文档注释,用于类和方法的说明 3 1.2. #region #endregion可以折叠代码 3 2. 操作符 3 2.1. +号用在一个字符串与另一个类型之间起连接字符串的功能 3 2.2. 占位符 3 2.2原创 2015-05-08 12:02:16 · 504 阅读 · 0 评论 -
c#解析XML文件来获得pascal_voc特定目标负样本
最近在做船只识别方面的事情,需要大量的负样本来训练adaboost分类器。我从网上下载到一个pascal_voc的数据集,需要找到不包含船只的那些复制出来。数据集特点对于每个图片有一个xml文件,介绍了这个文件的信息,有个object标签介绍了图片中目标类别 比如上面这副图片的xml文件为:<annotation> <folder>VOC2007</folder> <file原创 2015-08-12 13:57:06 · 1811 阅读 · 1 评论 -
用c#编写爬虫在marinetraffic下载船只图片
最近在做船只识别方面的事情,需要大量的正样本来训练adaboost分类器。于是到marinetraffic这个网站上下载船只图片。写个爬虫来自动下载显然很方便。网站特点在介绍爬虫之前首先了解一下marinetraffic这个网站的一些特点: 1. 会定期检测爬虫行为,如果认为有爬虫大量下载图片。会把该连接加入黑名单,后几天都没办法下载。 2. 船只图片资源差异大,有的船只有1000多张图,有的船原创 2015-08-11 10:32:36 · 2353 阅读 · 0 评论 -
c#运用——简体字转繁体字
下面通过用c#的字符串和Hashtable类来实现一个简体字转繁体字的功能,然后分析一些c#的语法源码using System;using System.Collections;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threadin原创 2015-05-24 20:33:17 · 4186 阅读 · 1 评论 -
深入理解c#的字段与属性
属性属性的作用就是保护字段,对字段的赋值和取值进行限定 属性的本质就是两个方法,一个叫get()对取值进行限定,一个叫set()对存值进行限定,属性只是对属性的再赋值。 如果只有get是只读属性,set是只写属性。在get里面用的值是字段的值,set里面用的是value的值 所以在类里面的public 方法要访问私有字段,尽量访问属性,虽然这样可能会降低访问的效率,但是一方面会更安全地访问字段原创 2015-05-19 10:59:21 · 7028 阅读 · 4 评论 -
GUID与MD5加密
GUID可以生成一个不太容易重复的ID号; MD5加密可以保护你的密码,加密过程认为是不可逆,把MD5码放在服务器数据库中,即使服务器被攻破,密码也不能被盗取。 第二个程序使用了ToString的格式化.using System;using System.Collections.Generic;using System.Linq;using System.Text;using Syste原创 2015-06-01 10:25:29 · 4317 阅读 · 0 评论 -
c#练习之超市收银系统
类的设计第一种类:商品的类,父类是个抽象类; 第二种类:折扣的类,父类也是个抽象类 类图如下; 使用技能用继承抽象类实现多态,用多态来实现工厂模式;使用反射机制来实现构造实例的多态和工厂模式;工厂模式可以增加系统的可扩展性;使用Dictionary中的list集合来减少代码量;源代码仓库类using System;using System.Collections.Generic原创 2015-05-31 23:10:23 · 5660 阅读 · 2 评论 -
c#-关于自动属性的思考
自动属性是什么自动属性就是写的时候只写一个属性,并不写字段,一般情况下也不实现。为什么要用自动属性下面的程序一测试了一下在一般的类中使用自动属性的情况;发现编译器会在生成解决方案的时候会自动生成一个私有的字段,这个可以在一些反编译软件里都可以看到。在类中使用自动属性的目的就在于可以不用写字段了,但是问题又出现了,既然你自动属性里面没有什么实现,为什么不直接用一个public的字段呢,连set,get原创 2015-05-28 16:15:38 · 5902 阅读 · 0 评论 -
c#的List
list泛型集合,可以取代ArrayList常用方法List<int> list = new List<int>(); 方法名 作用 Add() 添加元素 AddRange 添加一个集合 ToArray() 将集合转数组数组有个方法叫ToList(),可以将数组转成集合;为什么用list 而不是ArrayList装箱与拆箱 把值类型转换为为引用类型叫装箱,把引用类型原创 2015-05-26 20:05:17 · 952 阅读 · 0 评论 -
C#的Dictionary字典
Dictionary有一种新的遍历方式foreach(KeyValuePair <int,string> kv in dic){}dictionary练习using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace原创 2015-05-26 20:00:29 · 1189 阅读 · 0 评论 -
c#的序列化与反序列化
序列化与反序列化这个可以直接把对象转化为二进制进行存储与通信; 在需要序列化的类前加[Serializable],使用BinaryFormatter类来进行操作;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;usi原创 2015-05-26 19:43:06 · 802 阅读 · 0 评论 -
c#的FileStream文件流
文件流FileStream、StreamReader和StreamWriter可以操作大文件; FileStream 操作字节;可以操作任何类型的文件; StreamReader和StreamWriter操作字符;FileStream 方法名 作用 参数 FileStream() 创建FileStream对象 第一个是路径,第二个是文件模式FIleMode枚举,第三个数据模原创 2015-05-26 19:48:06 · 2474 阅读 · 0 评论 -
c#多态|抽象类|访问修饰符
多态在父类方法前面加一个virtual 在子类方法前加一个override;子类不一定要重写这个方法抽象类与抽象方法抽象方法没有方法体;抽象方法一定要在抽象类里面,抽象类的方法不一定是抽象方法 当父类实现一个方法没有意义的时候,可以写成抽象方法; 直接非抽象子类也要用override,要求子类必须重写这个方法;;alt shift F10 可以快速添加命名空间 和 快速实现父类的抽象方法 ct原创 2015-05-26 19:42:50 · 972 阅读 · 0 评论 -
c#飞行棋游戏头
固定资源我们在写游戏的时候,界面上显示的有些东西是不变的,比如游戏头,这样我们可以封装成一个方法。Console.ForegroudColor属性表示控制台的前景色;画游戏头初始化地图(加载地图所需要的资源)画地图玩游戏 初始化地图我们用int型数组存这个地图,把数字变成地图上的字符串的过程,就是初始化地图的过程//我用0表示普通,显示给用户就是 □//....1...幸运轮盘,显示原创 2015-05-17 11:57:54 · 799 阅读 · 0 评论 -
c#的double型精度控制
c#小数精度c#中对于double型的小数如果想保留一定的精度,即小数点位数,可以在转换成字符串的时候,用参数限制;下面的程序演示了这个做法using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace double原创 2015-05-16 19:32:13 · 9570 阅读 · 0 评论 -
c#中的ref、out、params参数
out参数与c++的引用的对比out参数可以用来传递方法返回值,与c++中的引用有点像,但是还有有些不同: - 调用方法的时候必须写out参数 - 调用方法之前必须先分配空间 - 调用方法之前不用先赋值. - 必须在方法内部对out参数赋值;下面自己实现一个tryparse函数using System;using System.Collection原创 2015-05-12 21:12:38 · 803 阅读 · 0 评论 -
c#中的结构与枚举
结构与c++不同的是,结构应该定义在命名空间或者类里面,成员变量叫字段,字段并且有访问控制符,每个字段前要加一个下划线例子using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace 结构{ public原创 2015-05-12 20:53:26 · 1265 阅读 · 0 评论 -
c#中的类型转换
Parse类型转换Parse()函数int、double都能调用Parse()函数,Parse(string str);如果转换成功就成功,失败就会抛出一个异常;TryParse()函数相应地有一个TryParse函数,bool TryParse(string str,out int a);这里的out参数相当于c++中的&,引用(区别是c#的这个方法里必须对a赋值,且所有分支都要赋值)。如果能够原创 2015-05-12 20:40:25 · 937 阅读 · 0 评论 -
c#将文件写入mysql中和从mysql中读数据
主代码这样需要自定义mysql的连接参数;主要代码如下MySqlCommand cmd = new MySqlCommand();cmd.CommandText = sql;//这句需传参数;cmd.CommandType = CommandType.Text;cmd.Parameters.Add("@id", MySql.Data.MySqlClient.MySqlDbType.Int16);原创 2015-11-13 23:31:54 · 6174 阅读 · 1 评论