自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 动态地生成用户输入的函数表达式(C#)

我在一篇随笔“画函数图形的C#程序,兼论一个病态函数”中提到:这个画函数图形的C#程序有一个严重的缺点,就是函数表达式是直接写的源程序中的,不能象SciLab和Matlab那样交互式地输入。不知道用 System.Reflection.Emit.ILGenerator 类能不能动态地生成用户输入的函数表达式?“空间/IV”在该随笔的评论中指出: 关于动态地生成用户输入的函数表达式, 看

2015-07-31 06:25:51 652

原创 《.NET探秘:MSIL权威指南》读书笔记

第1章 简单示例 (第2页至第20页) 第3页,倒数第4自然段IL代码由CLR“托管”。CLR托管至少包括三个主要的活动:类型控制、结构化异常处理和垃圾收集。类型控制涉及在执行期间项类型的验证和转换。托管异常处理在功能上与“非托管的”结构化异常处理类似,但它是由CLR执行的而不是由操作系统执行的。垃圾收集涉及对不再使用的对象进行自动标识和释放。上述段落中红色的“结构化异常处

2015-07-31 06:22:17 952

原创 浅谈 GetHashCode

我们知道,System.Object 类是 .NET Framework 中所有类的最终基类,它是类型层次结构的根,并为派生类提供低级别服务。通常不要求类声明从 Object 的继承,因为继承是隐式的。因为 .NET Framework 中的所有类均从 Object 派生,所以 Object 类中定义的每个方法可用于系统中的所有对象。派生类可以而且确实重写这些方法中的某些,其中包括:E

2015-07-31 06:20:45 826

原创 一次程序调试小记

我用 C# 编写的一个 WinForm 程序,在业务部门的机器上运行出现“SqlDbType 枚举值 31 无效”错误,如下图所示: 而这个程序在我自己的机器上运行很正常: 于是我就到业务部门的机器上打开该程序的 debug 模式(在程序命令行后跟 /debug 参数,下面这个屏幕截图是在我自己的机器上截取的): 再次运行这个

2015-07-31 06:18:04 633

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

Buffer 类 (public static class)下面就是 mcs/class/corlib/System/Buffer.cs:001: //002: // System.Buffer.cs003: //004: // Authors:005: // Paolo Molaro ([email protected])006: // Dan Lewis

2015-07-30 08:43:11 746

原创 Windows 操作系统与 .NET Framework

Windos 2000在单位的机房里好不容易才找到一台安装 Windows 2000 Server SP4 操作系统的服务器,这台硕果仅存的服务器到本月底也要退役了。Windows 2000 操作系统是没有预装任何版本的 .NET Framework 的。下图中的 Microsoft .NET Framework 2.0 是我为了在该服务器上运行一些 C# 语言写的

2015-07-30 08:40:08 1658

原创 谈谈 .NET Reflector

著名的 .NET Reflector 现在要收费了,价格还不低:.NET Reflector Standard: $95.NET Reflector VS: $195.NET Reflector VSPro: $295还好,我以前下载的 .NET Reflector 6 还是免费的。

2015-07-30 08:35:25 650

原创 C#解惑29: 循环者的新娘

谜题29: 循环者的新娘    请提供一个对i的声明,将下面的循环转变为无限循环:    while (i != i)    {    }解惑29: 循环者的新娘    这个循环可能比前一个更令人困惑。不管在它前面作何种声明,它看起来确实应该立即终止。一个数字总是等于它自己,对吧?    对,但IEEE 754浮点算术保留了一个特殊的值用来表示一个不是数字的数量。这

2015-07-29 09:16:04 620

原创 C#解惑26: 在循环中

谜题26: 在循环中    下面的程序计算了一个循环的迭代次数,并且在循环终止时打印这个计数值。那么,它打印的是什么呢?    class InTheLoop    {      const int END = int.MaxValue;      const int START = END - 100;            static void Main() 

2015-07-29 09:13:26 513

原创 再谈 C# 交互窗口

Ubuntu 10.10 操作系统中自带的是 mono 2.6.7:ben@ben-m4000t:~$ cat /etc/issueUbuntu 10.10 \n \lben@ben-m4000t:~$ mono --versionMono JIT compiler version 2.6.7 (Debian 2.6.7-3ubuntu1)Copyright (C) 2002-2

2015-07-29 09:07:29 1125

原创 解决 Paste from Visual Studio 插件中文乱码问题

以前在 Windows Live Writer 中一直使用 Paste from Visual Studio 插件来在博文中粘贴代码。这个插件对 Visual Studio 2008 很好用,但是从 Visual Stduio 2010 中粘贴代码的话,每个中文字符后面,会跟着一个乱码,如下 ClipboardTester.cs 所示:01: using System;02: using

2015-07-28 07:41:17 1020

原创 传智博客2014 IOS开发第一期基础+就业

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

2015-07-28 07:39:09 388

原创 按键精灵官方(按键学院)

初级基础班第10节-颜色初级基础班第11节-文件初级基础班第12节-窗口.wmv初级基础班第13节-后台初级基础班第14节完整脚本的周边初级基础班第15节-QUI(上)初级基础班第16节-QUI(下)初级基础班第17节-实战实验室初级基础班第18节-实战实验室2初级基础班第19节-赤月传说1-49主线初级基础班第19节自动保护的实现初级基础班第20节

2015-07-28 07:35:27 1531

原创 Java开发工程师案例-网络日志分析系统

章节1:项目简介课时1项目简介14:50章节2:创建工程课时2创建数据库09:40课时3搭建程序框架09:09章节3:主窗口布置课时4创建主窗口14:45课时5主窗口布局 10:57课时6添加菜单栏12:09课时7添加工具栏13:29课时8添加按钮面板11:29课时9按钮联动操作09:19章节4:日志采集课时10日志读取17:23课时11

2015-07-28 07:34:37 924 1

原创 浅谈 Linux 的 C# 开发环境

我们知道 mono 是一个跨平台的、开源的 .NET 开发框架。它是 Novell 公司基于 SUSE Linux 操作系统开发的。虽然在 openSUSE 操作系统下开发 C# 程序可以轻松获得最新的 mono 开发环境,但是我更喜欢 Ubuntu 操作系统。 由于 Ubuntu 操作系统包括了“阿帖便笺(Tomboy)”和“F-Spot 照片管理器”这两个使用

2015-07-28 07:29:42 2974

原创 也谈在 .NET 平台上使用 Scala 语言(续)

而我是在 Ubuntu 操作系统中使用 Scala.NET 的,应该没有这个问题。那么,就让我们来测试一下吧。现在,我们增加一个 DotNet.cs 文件,如下所示:1234567891011121314151617

2015-07-28 07:23:23 1129

原创 Ubuntu 中的编程语言(下)

FortranFortran 语言在2010年6月编程语言排行榜中排名第三十一位。下面就是 GregorianTest.for 程序:我没有在 Fortran 语言的标准库中找到设置指定日期的函数,只好从 1970-01-01 往回倒数 141,438 天得到 1582-10-04 。安装 GNU Fortran 编译器,编译和运行:ben@ben-1520

2015-07-28 07:18:20 1615

原创 Arch Linux 安装 Virtualbox 4.2.0 备忘录

第一步: 安装基本系统$ sudo pacman -S --needed dkms qt virtualbox virtualbox-guest-iso$ sudo gpasswd -a `whoami` vboxusers$ sudo systemctl enable dkms$ sudo vim /etc/modules-load.d/virtualbox.confvb

2015-07-28 07:15:59 538

原创 泰课在线围住神经猫

课时目录:课时1.概述课时2.添加多行多列Pot1课时3.Item类的实现课时4.添加带动画效果的Cat课时5.Pot鼠标点击和Cat的移动功能实现课时6.点击切换Item状态和二维数组的建立课时7.计算Cat可以移动的Pot课时8.Cat的简单AI实现课时9.神经猫是否逃脱判断课时10.添加开始界面和开始游戏功能课时11.失败成功界面切换和重玩游戏功能

2015-07-27 09:35:49 809

原创 2015年Jquery_Mobile精品教程

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

2015-07-27 09:33:33 532

原创 两小时搞定C#版超级战舰游戏

课程简介  游戏开发已然是目前火星上都很火的开发技术,而休闲的小游戏超级战舰也是目前白领中最流行的小游戏。那超级战舰游戏是如何在两个小时快速搞定的呢?休闲类的小游戏快速开发的指南是什么?C#是怎样运用面向对象的思想跟游戏开发结合在一块的呢?游戏开发的最底层的碰撞原理用C#是怎样实现的呢?游戏引擎内部的实现原理是怎样的?如果自己实现一个微型的游戏引擎呢?  传智播客高级讲师带您一步一步搭

2015-07-27 09:31:15 987

原创 应用程序的版本升级

我们写了一个应用程序发布后,以后该应用程序有新版本后如何将升级后的版本部署到客户的机器上去呢?我目前的做法是:如果这个升级版本是一个不重要的升级版本,比如说仅针对特定客户增加一些新的功能,可以通知这部分客户按以下方法进行升级:如上图所示,程序当前版本是 1.225 版,而该程序的更新版本 1.226 版已经发布了。这时可以在程序的“关于”对话框中点击“更新”按钮来升

2015-07-27 09:26:46 928

原创 在 Linux 操作系统中运行 ASP.NET 4 (下)

现在,我们进入“GNOME 终端”,使用 ifconfig 命令验证一下本虚拟的 IP 地址就是一开始我们在宽带路由器中为它分配的静态地址。ben@linux-nyhn:~> /sbin/ifconfigeth0 Link encap:Ethernet HWaddr 08:00:27:51:5B:0B inet addr:192.168.1.251

2015-07-27 09:22:48 2493

原创 ADO.NET(OleDb)读取Excel表格时的一个BUG

假设我们有如下一个Excel表格:  现在要使用C#程序读取其内容: using System; using System.Data.OleDb;  namespace Skyiv.Ben.Test {   sealed class ExcelTest   {     static void Main()     {       try   

2015-07-27 09:16:28 1596

原创 泰课在线逃离地球

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

2015-07-26 15:29:09 1230

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

这是“使用 C# 开发智能手机软件:推箱子” 系列文章的第二十三篇。在这篇文章中,介绍 Window/MainForm.Common.cs 源程序文件。这个源程序文件是 MainForm 类的一部分,该类继承自 System.Windows.Forms.Form 类,表示推箱子的主窗体。而本篇文章讲述的是 MainForm 类的一些公用方法。下面就是 MainForm.Common.cs 的源

2015-07-26 11:29:55 515

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

这是“使用 C# 开发智能手机软件:推箱子” 系列文章的第二十二篇。在这篇文章中,介绍 Window/MainForm.Replay.cs 源程序文件。这个源程序文件是 MainForm 类的一部分,该类继承自 System.Windows.Forms.Form 类,表示推箱子的主窗体。而本篇文章讲述的是推箱子“回放”过程,如下图所示:我们先看看 MainForm.Designer

2015-07-26 11:29:03 875

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

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

2015-07-26 11:27:12 688

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

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

2015-07-26 11:19:38 613

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

推箱子的配置文件(PushBox.cfg)是一个 xml 文件,格式如下所示:PushBox>  files>    file>konkafile>    file>boxworldfile>    file>lenovofile>    file>sokobanfile>  files>  option stepdelay="100" save="True" 

2015-07-26 11:16:00 627

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

这是“使用 C# 开发智能手机软件:推箱子”系列文章的第四篇。在这篇文章中,介绍 Common/FindPath.cs 源程序文件。using System;using System.Drawing;using System.Collections.Generic;namespace Skyiv.Ben.PushBox.Common{  ///   /// 

2015-07-26 11:13:07 736

原创 挖一挖C#中那些我们不常用的东西之系列(4)——GetHashCode,ExpandoObject

一:GetHashCode  从MSDN上可以看到的解释是:用作特定类型的哈希函数,也就是说任何对象的实例都会有一个int32类型的HashCode,并且存放在FCL中的HashCollection中,废话不说,看个例子:从图中可以看到,两个类实例的hashcode不同,说明二者不是同一个引用,也就有了不同的hashcode,利用这个特性,我们是不是可以生成

2015-07-25 09:07:33 520

原创 关于“构造函数”中的几个小问题,也许面试会问到哦~

构造函数这玩意也是面试官经常会问到的东西,我们知道一个类的状态初始化就全靠它了,下面提几个小问题。Q:我看到Web项目里面通常都有一个BasePage页面,其中构造函数里面做了权限验证,     请问为什么要这么做。A:  既然这么做了,那么设计者肯定就知道了一个原则就是实例构造器中,父类构造器先于子类执行,那么这个先执行就可     以做很多有意思的事情,比如你说

2015-07-25 09:03:50 544

原创 看看这个超级实用的一种类型——匿名类型

既然说到匿名类型超级实用,得要找到场景来说服一下,如果大家玩过php,里面有一个万能的关联数组array,任你在关联数组array里面怎么写,都可以用json_encode来生成json,非常非常的方便。<?php //可以这么写 $arr= array("name"=>"hxc","age"=20,"isMale"=>true); //也可以这么写

2015-07-25 08:59:48 474

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

一:自动初始化属性     确实这个比之前的版本简化了一下,不过你肯定很好奇,到底编译器给我们做了哪些东西呢?1 class Student2 {3 public string Name { get; set; } = "ctrip";4 } 从这张图中可以看到,在ctor中k__backingfield=“

2015-07-25 08:53:52 523

原创 .NET好书盘点(二)

1.sqlserver 数据库方面的:【SQL 必知必会(第3版)】【SQL Server编程必知必会】这是上本书的“升级版”,主要是讲解T-SQL编程入门的。如果你想学习写复杂一点的存储过程、自定义函数、触发器.....可以看看这本书 【SQL 解惑(第2版)】此书比较有趣,精选了75个SQL编程问题,如果你想练手,提高自己的sql水平,可以拿这本书实战。 

2015-07-24 09:25:19 302

原创 RAID在企业服务器中的应用(RAID几种级别)

企业级的数据库应用大多部署在RAID磁盘阵列的服务器上,这样能提高磁盘的访问性能,并能够实现容错/容灾。RAID(冗余磁盘阵列),简单理解,就是拿一些廉价的硬盘来做成阵列。其目的无非是为了扩展存储容量,提升读写性能,实现数据冗余(备份容灾)。就像很早就有老外拿N台旧PC,做成一个强大的“服务器集群”。RAID技术诞生于1987年,由美国加州大学伯克利分校提出。主流的大概可以分为几个级别:R

2015-07-24 09:19:30 1422

原创 WPF 基础到企业应用系列5——WPF千年轮回 续前缘

一,摘要       首先很高兴这个系列能得到大家的关注和支持,前端时间身体状况不适,所以暂停了更新,对此表示非常抱歉,以后会逐渐加快进度,不过由于这是一个很长的系列,我也想把它写好,所以以后也会慢慢来,在这个系列的过程中也会穿插发一些其他文章,比如Windows Azure、设计模式、WCF、Silverlight等,同时也会发一些自己的技术随感和心得,反正只要自己写得开心且对大家有帮助

2015-07-22 11:25:20 1028

原创 移动方法

概念:本文所讲的移动方法就是方法放在合适的位置(通常指放在合适的类中)。 正文:移动方法是一个很简单也很常见的重构,只要是系统就会存在很多类,那么类里面包括很多方法,如果一个方法经常被另外一个类使用(比本身的类使用还多)或者这个方法本身就不应该放在这个类里面,那么这个适合应该考虑把它移到合适的类中。代码如下:namespace LosTechies.DaysOfRefactor

2015-07-21 10:08:12 1545

原创 重命名(方法,类,参数)

概念:本文中的改名(方法,类,参数)是指在写代码的时候对类、方法、参数、委托、事件等等元素取一个有意义的名称。 正文:如下代码所示,加入一个公司建立一个员工的类,类中有一个员工名字的字段和一个按照小时计算员工收入的方法,那么下面代码的取名就显得很难理解了,所以我们会重构名称。namespace LosTechies.DaysOfRefactoring.Rename.Before

2015-07-21 10:03:56 958 1

空空如也

空空如也

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

TA关注的人

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