一起学C#(八)

变量的类型(续)

我们在一起学C#(六)中学习了整型、浮点型、decimal型、布尔型和字符型的变量,也了解了每个类型用来保存什么样的数据,换个角度说,我们知道了什么样的数据需要定义哪种类型的变量来保存它。比如,可以通过“char ch = 'A';”这条语句把字符'A'保存在变量ch里。

其实,还有一个关于字符的坑,早晚会让我们掉进去,让我们来看看。假如,我们想在字符变量里存放一个单引号,可不可以这样写:

char ch = ''';

用两个单引号,把一个单引号引在中间,我们的本意是把一个单引号赋值到变量ch中,但是,这样写是有问题的。

我们已经知道,任何C#代码,如果想要运行,第一步就需要进行编译,在编译的时候,编译器读取到三个连续的单引号时,认为单引号不匹配,就会报错,我们的程序就没有办法继续运行了。

为了避免这个误会,编译器规定了一个转义字符“\”(反斜线),,当这个字符出现的时候,与它紧连的字符跟这个转义字符一起被看作是一个字符,所以单引号在代码中应该写成返斜线加上一个单引号,“\'”,所以上面的代码需要改为:

char ch = '\'';

这样,编译器把“\'”看作是“'”,就不会报错了。同理,双引号、反斜线等都需要使用转义字符,如“\"”、“\\”。

还有一些特别的字符,叫做控制字符,如“\n”、“\t”等,我们写一个程序来看看它们的用法。

using System;

namespace csdn.blog.areosea
{
  class Char
  {
    static void Main()
    {
      // \n表示换行,使用\n把一行文字在显示到屏幕的时候分为两行
      Console.WriteLine("这是第一行文字。\n这是第二行文字。");

      Console.WriteLine();  // 输出一个空行

      // \t表示制表符,使用\t对齐第二列的文字
      Console.WriteLine("第一行\t这是第一行。");
      Console.WriteLine("第2行\t这是第二行。");

      Console.ReadLine();
    }
  }
}

执行结果:

这是第一行文字。
这是第二行文字。

第一行  这是第一行。
第2行   这是第二行。

第一条输出语句,通过“\n”进行了换行,所以显示在屏幕上的文字被分成了两行。第二条输出语句输出了一个空行,便于看清演示结果。第三条和第四条输出语句,通过使用“\t”,尽管第一列的长度不一致,但使第二列做到了上下对齐。

我们学习的这些变量,是C#预定义的值类型的变量,另外还有两种变量,是C#预定义的引用类型的变量,它们分别是object和string类型。

1.objec类型

是一个最基本的类型,它可以执行许多一般用途的基本方法,如Equals()等等。在以后还会详细学习。

2. string类型

字符串类型,最大的用途是用来存放、处理字符串。字符串多数是用来和客户进行沟通的话语,每句话都是程序员精心设计,与相关的信息组合后显示到屏幕上的。

比如,在写程序的时候,我们并不知道用户登录系统时会使用什么样的名称,如果需要在登录后给用户一个欢迎信息,就需要把欢迎词和用户登录时使用的名称合并起来。我们还是通过例子来了解一下吧。

using System;

namespace csdn.blog.areosea
{
  class Hello
  {
    static void Main()
    {
      string welcome = ",欢迎你登录系统!";  // 把欢迎信息放到welcome变量中

      Console.Write("请输入登录名,然后按回车键:");  // 提示用户输入登录名
      string name = Console.ReadLine();  // 读取用户输入的内容到变量name中

      Console.WriteLine();  // 显示一个空行
      Console.WriteLine(name + welcome);  // 显示欢迎信息

      Console.ReadLine();  // 等待一个回车后结束
    }
  }
}

执行结果:

请输入登录名,然后按回车键:aerosea

aerosea,欢迎你登录系统!

通过连接两个字符串name和welcome,我们顺利完成了欢迎信息的显示工作。

然后,我们可能又遇到了一个坑,如果用户只输入了一个回车,没有输入用户名,屏幕上会显示什么?

请输入登录名,然后按回车键:

,欢迎你登录系统!

对,就是这个样子,不太好看吧。显得我们的程序有些傻傻的,人家什么都没说,它还傻傻地欢迎。

我们随后就学习怎样对付这个坑。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值