C#使用变量

所有应用程序都要处理数据。数据都是先输入,再处理,最后输出。数据通常来自文件、数据库或者用户输入,可以放入临时变量中,这些变量存储再运行程序的内存中。当使用变量时,首先应该考虑它在内存中占了多少空间,其次考虑它的处理速度有多快。
变量可选择合适的类型来控制,可以将简单的常用类型(如int double)视为不同大小的存储盒,其中较小的的变量占的内存较小,但处理速度可能没那么块。

一、变量的命名和赋值

事物都有命名约定,最好遵循这些约定

命名约定实例使用场合
驼峰样式cost ,orderDetail,dateOfBirth局部变量、私有字段
标题样式String,Int32,Cost类型、非私有字段以及其他成员(如方法)
字面值

再给变量赋值时,赋予的经常(但不总是)字面值,什么是字面值呢,字面值是表示固定值得符号。

二、存储文本

对于一些文本,比如单个字母(如A),可存储为char类型,并在字面值的两边使用单引号来赋值,也可以直接赋予函数调用的返回值,如下所示:

char letter='A';
char dight='1';
char symbol='$';
char userChoice=GetKeystroke();
private static char GetKeystroke()
{
return 'S';
}

对于另外一些文本,比如多个字母(如Bob),可存储为字符串类型,并在字面值的两边使用双引号进行赋值,同时可也直接赋予为函数调用的返回值,如下所示:

string firstNmae="Bob";
=string lastName="Smith";
string phoneNumber="(215)555-4256";
string address=GetAddressFromDatabase(id:563);
private static string GetAddressFromDatabase(int id)
{
return "Bei jing Chang Ping Bei qi jia";
}
理解逐字字符串

在字符串变量中存储文本时,可以包括转义序列,转义序列使用反斜杠表示特殊字符,如制表符和新行,如下所示:

string fullNameWithTabSeparator="Bob\tSmith";
//但是如果要将路径存储到文件中,并且路径中有文件夹的名称以t开头,如下所示:
string filePaht="C:\televisions\sony\bravia.txt";
//编译器就会把\t转换成制表符,这显然是错误的,解决办法时逐字符串必须加上@符号作为前缀,如下所示:
string filePathTwo=@"c:\televisions\sony\bravia.txt";

1)字面字符串:用双引号括起来的一些字符。它们可以使用转义字符\t作为制表符。
2)逐字字符串:以@为前缀的字面字符串,以禁用转义字符,因此反斜杠就是反斜杠。
3)内插字符串:以$为前缀的字面字符串,以支持嵌入式的格式化变量。

三、存储数字

数字时细微进行算术计算的数据,例如,电话号码不是数字。要决定是否应该将变量存储为数字,请考虑是需要对数字执行算术运算,还是数据应包含圆括号或连字符等非数字字符。以便将数字格式化为(414)555-1234. 在本例中,数字是字符序列,因此应该存储为字符串。

int integerNumber=-23;
float realNumber=2.3F;
double anotherRealNumber=2.3;

四、存储布尔值

布尔值只能是如下两个字面值中的一个:true 或false。常用于分支和循环。

bool result1=true;
bool result2=false;

五、存储任意类型的对象

object类型,这种类型可以存储任何数据,但这种灵活性是以混乱的代码和可能较差的性能为代价的。由于这两个原因,你应该尽可能避免使用object类型。

object height=1.88;
object name="Amir";
Console.WriteLine($"{name}is{height}metrestall.");
int length1=name.Length;
int length2=((string)name).Length;
Console.WriteLine($"{name}has{length2}characters.");
Console.WriteLine("HelloWorld!");

object类型自从C#的第一个版本就已经可用了,但是C#2.0及其后期版本有了更好的选择——泛型,泛型可提供我们想要的灵活性,但没有性能开销。

六、动态存储类型

还有一种特殊类型名为dynamic,可用于存储任何类型的数据,并且灵活性相比object类型更强,代价是性能下降了。dynamic关键字是在C#4.0中引入的。但是,与object变量不同的是,存储在dynamic变量中的值可以在没用显示进行强制转换的情况下调用成员。

dynamic anotherName = "Ahmed";
  • 12
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

林祖师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值