C#基础知识 — Null/Nullable

C#提供了一个特殊的数据类型,可空类型(Nullable)。可以在其中指定正常范围值,以及空值(null)。
例如,可以存储任意值从-2,147,483,648到2,147,483,647或空,在一个可空变量。同样,也可以指定true,false或null的Nullable变量。
声明一个可空类型的语法如下:

 int? num = null

下面的例子演示了使用可空数据类型:

using System;

static void Main(string[] args)
{
    int? num1=null;
    int? num2=45;
    double? num3=new double?();
    double? num4=3.14157;

    bool? boolVal= new bool?();
    
    //display the value
    Console.WriteLine("Nullables at show: {0},{1},{2}",
            num1,num2,num3,num4);
    Console.WriteLine("A Nullable boolean value: {0}",boolVal);
    Console.ReadLine();
}

编译和运行上面的程序,将产生以下结果:

 Nullables at show: ,45, ,3.14157
 A Nullable boolean value:
Advertisements

C#基础知识 – 预处理指令

本文转自 http://www.yiibai.com/csharp/csharp_preprocessor_directives.html


预处理器指令编译预处理指令在给定的信息实际编译开始之前。

所有的预处理指令以#开头,只是用空白字符在同一行上的预处理器指令之前出现。预处理器指令都没有声明,所以他们不以分号(;)结束。

下表列出C#中可用的预处理指令:

预处理指令 描述
#define 它定义了字符序列,称为符号
#undef 它可以取消定义的符号
#if 它允许测试符号或符号来看看计算结果是否为true。
#else 它允许创建复合条件指令,使用#if
#elif 它允许创建复合条件指令
#endif 指定一个条件指令的末端
#line 它可以让修改编译器的行号和(可选)的文件名输出错误和警告
#error 它允许在代码生成从一个特定的位置的误差
#warning 它允许产生从一个特定的位置一级预警在代码中
#region 它可以让你指定使用Visual Studio代码编辑器的概述功能时展开或折叠代码块
#endregion 它标志着#region 块的结束

Windows Service发布和配置

Windows服务是指在windows会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。

创建Windows Service项目

使用Visual Studio创建新项目,选择“Windows 服务”即可。

发布Windows Service

完成Windows服务项目之后,想要将程序发布到计算机上。可以按照以下步骤,假设程序路径为:F://WinService.exe

  • 以管理员身份打开cmd
  • 输入命令  cd c:\Windows\Microsoft.NET\Framework\v4.0.30319
  • 进入目录后,输入命令 InstallUtil F:\WinService.exe。安装服务
  • 启动服务,出入命令 net start WinService。或者运行中输入 services.msc,手动启动服务

调试Windows Service

发布后可以使用Visual Studio 调试,以管理员身份打开服务项目,“调试” -》 “附加到进程”,选择服务的进程即可。

删除Windows Service

以管理员身份到开cmd,输入 sc delete 服务名称。如“sc delete WinService”。即可

Visual Studio 单元测试

单元测试(unit testing),是指软件中的最小可测试单元进行检查和验证。对于单元测试中的单元的含义,一般来说,要根据实际情况去判断其具体含义,如C语言中单元指一个函数,C#里单元指一个类等。总得来说,单元就是认为规定的最小的被测功能模块。单元测试是软甲开发过程中要进行的最低级别的测试活动,软件独立单元将在与程序的其他部分相隔离的情况下进行测试。

以下介绍如何使用Visual Studio 2015进行单元测试。

1、创建简单的项目
具体方法就不多说了。

2、在项目中创建一个类
如创建类名为MathOperate,包含方法Add和Minus。如下图。
1

3、创建单元测试
在该类区域右击鼠标打开上下文菜单,选择“创建单元测试”。如下图。
2

选择后,Visual Studio自动创建一个单元测试项目,并且在项目中自动生成一个测试MathOperate类的测试类MathOperateTests。如下图。
3

在MathOperateTests中测试方法AddTest和MinusTest分别测试MathOperate的方法Add和Minus。在测试方法中写测试逻辑即可。如下图。
4

4、启动测试
完成测试逻辑的填写之后,点击菜单栏中的测试,启动单元测试。如下图
5

下图是运行结果。
6

PS:这里只介绍如何创建单元测试,具体代码自己搞定。这里只能测试类中的public方法