自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(126)
  • 收藏
  • 关注

原创 C#中的字符编码问题

该文件的编码为GB18030,每行的宽度为23个字符,其中第1-8列为员工姓名,第10-23列为工资额。现在我们要写一个C#程序求出该单位员工的平均工资,如下所示: 1using System;  2using System.IO;  3using System.Text;  4  5namespace Skyiv.Ben.Test  6{  7  sealed c

2015-07-31 06:27:23 962

原创 对 File.Delete 方法的一点看法

在我写的“推箱子”程序的 DataFile 类中有下面这么一个方法:    ///     ///  删除通关步骤文件    ///     /// 关数    private void DeleteStepsFile(int level)    {      File.Delete(GetStepsFileName(fileName, level));  

2015-07-31 06:25:17 5778

原创 .NET Framework CLR 版本检测

我写了一个 C# 程序来检测 .NET Framework CLR 版本。在 Ubuntu 操作系统中的运行结果:ben@ben-m4000t:~/work$ ./ClrInfo.exe OS Version: Unix 2.6.31.16 CLR Version: 2.0.50727.1433 ( Mono 2.4.2.3 )Default Encodi

2015-07-31 06:22:56 654

原创 [翻译] Programming F#

最近,空军和我试译 Microsoft F#团队的 Chris Smith 所著的 Programming F# 一书。

2015-07-31 06:18:59 765

原创 PageSetupDialog 类的一个 BUG

我们在用 C# 语言编写 WinForm 程序时,如果在程序中需要打印一些东东的话,经常需要先使用页面设置对话框进行一些设置。而 Microsoft .NET Framework Base Class Library 已经为我们考虑得很周到了,我们只需要使用 System.Windows.Forms 命名空间中的 PageSetupDialog 类就行了。但是这个类有个小小的 BUG,下面就是相应

2015-07-31 06:16:04 629

原创 Mono源代码学习笔记:Console类(四)

NullStream 类 (internal class)下面就是 mcs/class/corlib/System.IO/NullStream.cs:01: namespace System.IO02: {03: class NullStream : Stream04: {05: public override bool CanRead { get {

2015-07-30 08:42:33 594

原创 浅谈 ZipArchive 类

Microsoft .NET Framework 4.5 新增了 ZipArchive 类Microsoft Windows 8 Consumer Preview 操作系统已经内置了 Microsoft .NET Framework 4.5,它新增了对 Zip 文件的支持,这是通过 System.IO.Compression 命名空间中新增的 ZipArchive、ZipFile 等类实现

2015-07-30 08:38:01 2222

原创 浅谈 System.Linq.Enumerable.AsEnumerable 方法

引言在 MSDN 中对 System.Linq.Enumerable 类的 AsEnumerable 方法相关描述如下所示:Enumerable.AsEnumerable 方法: 返回类型化为 IEnumerable 的输入。命名空间: System.Linq程序集: System.Core (在 System.Core.dll 中)语法: public static 

2015-07-30 08:34:58 2338

原创 C#解惑30: 循环者的爱子

谜题30: 循环者的爱子    请提供一个对i的声明,将下面的循环转变为一个无限循环:    while (i != i + 0)    {    }    与前一个谜题不同,你必须在答案中不使用浮点数。换句话说,你不能把i声明为double或float类型。解惑30: 循环者的爱子    与前一个谜题一样,这个谜题初看起来是不可能实现的。毕竟,一个数字总是等于它自

2015-07-29 09:16:51 597 2

原创 C#解惑27: 变幻莫测的i值

谜题27: 变幻莫测的i值    你的任务仍旧是要指出这个程序将打印什么。    class Shifty    {      static void Main()      {        int i = 0;        while (-1           i++;        System.Console.WriteLine(i);     

2015-07-29 09:14:12 507

原创 C# 语言中 struct 的陷阱

假设我们要为某大学写一个工资管理程序。首先是表示员工的 Employee 类(Employee.cs):01: namespace Skyiv.Ben02: {03: class Employee04: {05: public string Department { get; private set; }06: public string Name

2015-07-29 09:11:32 567 2

原创 三谈 C# 交互窗口

mono 2.8.1 中和 csharp.exe 和 Mono.CSharp.dll 相关的 C# 源程序总共只有六十个左右,分布在以下目录中: Mono.CSharp.dll 需要以下57个 C# 源文件:..\..\mcs\anonymous.cs..\..\mcs\argument.cs..\..\mcs\assign.cs..\..\mcs\attri

2015-07-29 09:08:04 1066 1

原创 编写优雅程序的一点小小心得

初的程序现在,为了突出我们的主题,这里给出一个简化版本的只有 17 行的 CUI 程序 ConsoleColorCuiTester.cs:01: using System;02: using System.Drawing;03: 04: namespace Skyiv.Tester05: {06: static class ConsoleColorCuiTes

2015-07-28 07:40:38 408

原创 iphone ipad 项目开发实战

http://www.feixueteam.net/thread-381-1-1.html

2015-07-28 07:37:33 321

原创 Bmob视频教程

110439l9o8xlt9jahac88l.png (65.03 KB, 下载次数: 0)下载附件1 分钟前 上传1Bmob特点对于很多Android/ios/wp个人移动开发者来说,开发一个具有网络功能的应用不是一件容易的事,不仅需要购买/租赁服务器,还必须掌握一门诸如Java/.net/php这类的服务器开发语言,每开发一款移动应用程序,就必须

2015-07-28 07:34:45 2267

原创 国嵌语言的艺术之C++项目讲解精讲班

1.C到C++的升级数据类型的加强 面向对象的支持 C与C++的关系 2.函数的升级函数默认参数 函数重载 内联函数 C函数与C++函数的交互 3.华丽的新宠引用的定义 引用与指针 引用的使用技巧 4.新的关键字C++的类型转换 C++的动态内存分配 命名空间 5.基础C++经典问题解析 专题二乾坤合一 1.面向对象类的概念 

2015-07-28 07:33:11 1602

原创 在 Ubuntu 9.10 操作系统中安装 mono 2.6

我们知道,在 2009-10-29 发布的 Ubuntu 9.10 操作系统中已经内置 mono 2.4.2.3 版本了。到了 2009-12-08,mono 2.4.3 版本发布了。随后,在 2009-12-14 日,又发布了 mono 2.6 版本。而 Patric 又在 2009-11-29 日发表了 Mono 2.6 parallel environment on Ubuntu 9.1

2015-07-28 07:28:35 578

原创 在 Ubuntu 9.10 操作系统中安装 MonoDevelop 2.2

我们知道,在 Ubuntu 9.10 操作系统中可以使用以下命令来安装 MonoDevelop 2.0:$ sudo apt-get install monodevelop 但是,如果我们需要安装最新的 MonoDevelop 2.2 版本的话,可以按照以下步骤从源代码进行编译:ben@ben-vbox:~$ cd srcben@ben-vbox:~/src

2015-07-28 07:22:13 550

原创 在 Ubuntu 10.10 操作系统中安装 Mono 2.8.2

前言Ubuntu 10.10 自带了 Mono 2.6.7。而目前最新版本是 Mono 2.8.2。由于 Ubuntu 操作系统中的“阿贴便笺”等软件是用 C# 开发的,因此它们依赖于 Mono 。为了不破坏 Ubuntu 操作系统中这类软件,我们需要并行地安装 Mono 2.8.2,具体做法是安装到 /opt/mono-2.8.2 目录下。这样两个版本的 Mono 就可以共存了。

2015-07-28 07:19:12 634

原创 Arch Linux 安装配置备忘录

安装步骤基本上是按照“ArchWiki: Beginners' Guide(简体中文)”进行安装的。1. 硬件是 Lenovo S4700,Intel Pentium(R) D CPU 3.20GHz x 2,2GB 内存,250GB SATA 硬盘,nVidia GeForce G10 双头显卡。2. 将 archlinux-2012.09.07-dual.iso 刻录到

2015-07-28 07:14:11 845

原创 泰课在线逃离地球

这个是一款跑酷类型的游戏,在这款游戏里因为你触犯了禁率,上帝委派了一个警察追捕你,而你需要控制主角在三个赛道上进行移动,逃离警察的追捕。你可以使用跳跃,蹲下技能,在逃跑过程中你会获得金币,等你成为土豪之后,就可以在商店中购买一些药水,就可以开挂喽! 部分课时目录:课时1   逃离地球游戏游戏演示课时2   创建工程,引入和介绍素材课时3   创建森林环境的Prefa

2015-07-27 09:35:26 771

原创 PHPChina学院jQuery Mobile与Phone

第1节01_课程简介与开发环境搭建01_课程简介与开发环境搭建第2节02_页面、按钮与对话框02_页面、按钮与对话框第3节03_可折叠内容区域、导航栏和列表03_可折叠内容区域、导航栏和列表第4节04_与服务端数据交互04_与服务端数据交互第5节05_Phonegap 3.X Android 开发环境搭建05_Phonegap 3.X Andro

2015-07-27 09:32:04 619

原创 文本文件打印类库(C#)

我写了一个打印文本文件的类库,功能包括:打印预览、打印。打印时可以选择打印机,可以指定页码范围。调用方法非常简单:TextFilePrinter p = new TextFilePrinter(tbxFileName.Text);p.View();  // 打印预览p.Print(); // 打印文件使用 TextFilePrinter 类的以下构造函数可以指定打印时使用的字体:

2015-07-27 09:28:43 725

原创 通用的“关于本软件”对话框

我们知道,大多数软件都需要有一个“关于本软件”的对话框,用于告诉用户该软件的一些重要信息,最主要的是该软件的版本号。例如下图就是“锦书背单词”软件的“关于本软件”对话框: 现在让我们来写一个通用的“关于本软件”对话框,封装为 Skyiv.Common.AboutDialog 类。这样,我们在开发应用程序时只需要直接使用该类就行了,避免了重复劳动。测试程序 AboutDial

2015-07-27 09:25:50 1233

原创 在 Linux 操作系统中使用 Nginx 运行 ASP.NET 4

前言在我上一篇博文“在 Linux 操作系统中运行 ASP.NET 4 (下)”中讲述了如何在 openSUSE 11.3 操作系统中使用 Apache 2.2.15 运行 ASP.NET 4。虽然说 Apache 是目前最流行的 HTTP 服务器,但是 Nginx 作为高性能的 HTTP 和反向代理服务器,目前已经得到越来越广泛的应用。国外的网站如 Ohloh、GitHub、Sour

2015-07-27 09:22:02 1201

原创 数据库小工具整合版

我在2005年10月9日写的一篇文章“数据库小工具(C#)”中提到:在编写有关数据库方面的C#程序时,经常需要知道数据库的表中各字段的以下信息: 1. 用于OracleParameter(或SqlParameter,...)中的字段和属性的数据库特定的数据类型。 2. 其对应的.NET数据类型。当时,对各个不同的数据库是分别实现这个“数据库小工具”的。现在,让我们将

2015-07-27 09:17:18 937

原创 黑马程序员android培训51期

下载地址:http://www.feixueteam.net/thread-394-1-1.html

2015-07-26 15:27:33 746

原创 使用 C# 开发智能手机软件:推箱子(十三)

这是“使用 C# 开发智能手机软件:推箱子”系列文章的第十三篇。在这篇文章中,介绍 Window/TopicDlg.cs 源程序文件。这个源程序文件包含 TopicDlg 类,该类继承自 System.Windows.Forms.Form 类,表示推箱子的“帮助”对话框。如下图所示:    下面是 Window/TopicDlg.Designer.cs 源程序的部分代码:

2015-07-26 11:28:34 633

原创 使用 C# 开发智能手机软件:推箱子(八)

昨天,根据网友“mobile”的要求, 完成了推箱子的 Smartphone 版本,可点击这里下载。将解压缩后的 PushBoxStd.exe 文件放在 Pocket PC Phone 版本解压缩后得到 PushBox 目录下,然后再将整个 PushBox 目录一起拷贝到 Smartphone 上使用。由于 Smartphone 没有触摸屏,且支持的控件也比较少,所以该版本中取消了“菜单 ->

2015-07-26 11:16:43 451

原创 使用 C# 开发智能手机软件:推箱子(三)

这是“使用 C# 开发智能手机软件:推箱子”系列文章的第三篇。在这篇文章中,介绍 Common/Block.cs 源程序文件。  1 namespace Skyiv.Ben.PushBox.Common  2 {  3   ///   4   /// 基本单元格: 地 槽 墙 砖 箱子 工人  5   ///   6   static class Block  

2015-07-26 11:12:33 714

原创 挖一挖C#中那些我们不常用的东西之系列(5)——FlagAttribute

说到FlagsAttribute,源自前几天看到了一小段代码,大概意思就是根据航班政策来返回哪些配送方式是否可用,根据这些是否可用来隐藏或者开启界面的相关配送方式,如果大家订过机票可能知道配送方式有很多种,比如“无需打印行程单(PJN)”,“机场自取(Airport)”,“市内配送(CND)”,“快递(EMS)”等等。根据上面的逻辑就可以知道,配送方式是有两种状态,

2015-07-25 09:06:55 550

原创 神奇的decimal,也许面试会问到哦~

这段时间忙的像狗一样,写博客的事情也就耽搁了,继续扯,为什么说decimal神奇呢,大家都知道decimal是基元类型,但是这个decimal类型在IL中居然没有相应的IL指令,也就是说CLR根本不认识decimal,全是编译器这一层在糊弄我们。     话不多说,看下最simple的例子,(加了点注释方便理解) 1 static void Main(s

2015-07-25 09:00:50 459

原创 简单看看这两个类 String和StringBuilder

我记得以前在园子里面讨论这两个类的文章有很多很多,并且还拿出了很多的测试报告,在什么情况下,谁比谁快,在什么情况下,该用谁不该用谁等等这些,我这里就不比较了,我就简单看看他们里面的内部实现,那就先看看String吧。 一:String类  说到String类,资料上都说是存在于堆上的一个不可CURD的一个不可变的字符集,当然看到这句话之后就想要看看是不是这样的,然后

2015-07-25 08:59:08 431

原创 看看C# 6.0中那些语法糖都干了些什么(中篇)

一:字符串嵌入值  我想String.Format方法就是化成灰大家都认识,比如下面代码:1 class Bird2 {3 private string Name = "swallow";4 5 public void Fly()6 {7 var result = string.

2015-07-25 08:54:40 611

原创 初探SQL Server CLR 集成

SqlServer 2005中,加入了很多新特性。对于开发人员(尤其是从事.NET开发的朋友)来讲,最值得一提的是对XML的支持以及CLR集成。当然,还有一些关于“高可用“(数据库集群/数据库镜像/日志传送等)的新特性,这些更适合DBA们学习和使用。当然不止我列举的这些,感兴趣的朋友,可以参考并学习webcast《sqlserver 2005盛宴系列》。相信很多朋友和我一样,一直很希望在s

2015-07-24 09:23:01 467

原创 SOA的浅析

曾今SOA的概念犹如今日“云计算、大数据”一样,被炒得火热,不少企业便纷纷响应,并宣称会拥抱和实施SOA。而事实上,业界出现了两种极端:一种是由于各类文章和书籍关于SOA的描述往往太过抽象,再加上各大厂商的呼吁,使得SOA往往显得“高大上”,令不少企业和架构师们望而却步。第二种恰好相反,有部分人却认为SOA无非是“新瓶装旧酒”。 个人理解,SOA在宏观上确实太复杂,因为它涉及到的不仅仅是技

2015-07-24 09:18:37 401

原创 WPF 基础到企业应用系列1——开篇有益

参考资料      提到参考资料,大家第一感觉就是MSDN,当然我也不例外,这个网站基本上是学习微软技术的首选站点,除了这个网站以外,我还参考了很多其他的社区和网站,基本上都在.NET 技术社区之我见(英文篇)做了介绍,比如CodeProject、CodePlex 、windowsclient、C# Corner等,除了这些网站还有一些国外技术专家blog。1.       Pro

2015-07-22 11:30:16 927

原创 WPF基础到企业应用系列6——布局全接触

一. 摘要  首先很高兴这个系列能得到大家的关注和支持,这段时间一直在研究Windows Azure,所以暂缓了更新,同时也本着想把它写好、宁缺毋滥的精神,在速度上自然也就慢了下来,这篇文章拖拖拉拉也经历了十多天才发布出来(每天写一点),不过请大家放心,这个系列一定会继续写下去。由于自己才疏学浅且是对这些技术的使用总结和心得体会,错误之处在所难免,怀着技术交流的心态,在这里发表出来,所以希

2015-07-22 11:28:04 854

原创 提升方法

概念:提升方法是指将一个很多继承类都要用到的方法提升到基类中。 正文:提升方法是指将一个很多继承类都要用到的方法提升到基类中,这样就能减少代码量,同时让类的结构更清晰。如下代码所示,Turn方法在子类Car 和Motorcycle 都会用到,因为Vehicle 都会有这个方法,所以我们就会想到把它提到基类中。namespace LosTechies.DaysOfRefactor

2015-07-21 10:07:42 413

原创 使用委派代替继承

概念:本文中的“使用委派代替继承”是指在根本没有父子关系的类中使用继承是不合理的,可以用委派的方式来代替。 如下代码所示,Child 和Sanitation (公共设施)是没有逻辑上的父子关系,因为小孩不可能是一个公共设施吧!所以我们为了完成这个功能可以考虑使用委派的方式。namespace LosTechies.DaysOfRefactoring.ReplaceInherit

2015-07-21 10:03:25 1224

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除