Beginning C# Objects从概念到代码——1.6 变量

Beginning C# Objects中文版:概念代码 Beginning C# Objects中文版:概念代码》关注的是软件对象:什么是软件对象?为什么它们如此神奇而直白以及如何正确使用对象去构建一个软件应用?这也是一本关于C#的书,但它并非一本“C#大全”,而是一份对该语言的温文但全面的介绍,还特别强调了如何把对象模型转换到功能完备的C#应用程序。《Beginning C# Objects中文版:概念代码》分三部分,结合C#深入浅出地阐述面向对象理论的基本内容,即从对象基本概念到对象建模,到C#代码的整个学习过程。为了完善《Beginning C# Objects中文版:概念代码》,我们还写了标题为“下一步”的最后章节,它给出一些建议,让你在读完《Beginning C# Objects中文版:概念代码》后,懂得如何继续自己的面向对象发现之旅。 立即下载

1.6 变量

如前所述,在使用变量之前,必须声明其名称和类型。在首次声明变量前,可以给它设置初始值,也可以在稍后的代码中赋值。例如,下面的代码片段声明两个简单类型变量。第一个是int类型,在声明时赋值。第二个是double类型,在后面的代码行中赋值。

int count = 3;

double total;

// 中间的代码……细节忽略

total = 34.3;

使用关键字true或false来给一个bool类型变量赋值。

bool blah;

bla h = true;

布尔类型变量常被用来作为代码执行的条件标识,如下例所示:

bool error = false; // 初始化标识。

// ...

// 在后面的程序中(伪代码):

if (发生某种情况) {

//把标识设置为真,表示错误发生了。

error = true;

}

// ...

// 在后面的代码中:

if (error) {

// 伪代码。

Take corrective action

}

我们稍后才谈到if语句的一个C#流程控制语句。

可以给一个char类型变量赋予一个字符值,赋值时把该值(单个Unicode字符)放在单引号里面:

char c = 'A';

1.6.1 变量命名约定

多数变量名采用所谓的Camel命名法,首字符小写,后续的每个词首字符大写,而其他字符则小写。

在后面章节中介绍更多对象概念时,我们还会对命名规则加以详述。

例如,下面的变量就依据C#变量命名约定来命名:

int grade;

double averageGrade;

string myPetRat;

bool weAreFinished;

如前所述,C#关键字不能用作变量名。

int float; // 无法通过编译——“float”是关键字

1.6.2 变量初始化

在C#中,变量被声明时并不同时被自动赋予初始值,在访问变量值前,必须明确地为其赋值。在下面的代码片段中,声明了两个整型变量foo和bar。代码给变量foo赋了值,但没有给变量bar赋值,然后尝试把两个变量相加。

int foo;

int bar;

foo = 3; // 初始化foo,但没有初始化bar。

foo = foo + bar; // 本行不能被编译

如果试图编译上例,将会得到针对最后一行的编译错误信息:

error CS0165: use of unassigned local varrialle 'bar'

编译器的意思是,变量bar已被声明,不过未被赋值。改正错误的方法是在执行相加操作前,明确地给bar赋值:

int foo;

int bar;

foo = 3;

bar = 7; // 明确地初始化两个变量。

foo = foo + bar; // 这一行能被正确编译。

有关变量初始化的内容,其复杂度已经超出我们这里的讨论范围。在第13章里,你将学习到,当与对象的“内部工作”打交道时,还有不同的自动初始化规则。

 
BEGINNING C# OBJECTS中文版:概念代码 完整版 完整高清版 立即下载

相关推荐

C#Object的方法含义以及使用(详)

C#Object的方法含义以及使用(详)

猪猪的博客 5826

C# object 类型

是个对象类型 Object 数据类型 保存引用对象的 32 位(4 字节)地址。可以为 Object变量分配任何引用类型(字符串、数组、类或接口)。Object 变量还可以引用任何值类型(数值、Boolean、Char、Date、结构或枚举)的数据。 Object 数据类型可以指向任意数据类型的数据,包括您的应用程序识别的任意对象实例。当您在编译时不知道变量可能指向哪种数据类型时,请使用 Ob

sangjisuonan的博客 6900

2.4 基本数据类型3

前面讲过的 (类型)变量 是一种强制类型转换(或称为显式类型转换),它主要用于在数值类型之间进行转换,或者从派生类向基类的转换。表示进制的字符串转为整数,使用Convert.ToInt32方法,第一个参数是一个表示二进制、八进制和、十进制或者十六进制的字符串,第二个参数必须为2、8、10 或 16,表示进制。整数转为表示进制的字符串,使用Convert.ToString方法,该方法的第一个参数是一个整数,第二个参数必须为2、8、10 或 16,相应地将整数转为二进制、八进制、十进制或十六进制的字符串。

学习微软 .net 技术开发 998

2021-9-6 C++ 引用 降低程序处理时间 (炉边小坐)

今天上数据结构,提到了如何评价一个程序的质量,其首先就是衡量其时间复杂度,复杂度越高,程序的质量可能就越差。今天复习到C++的类,深感其对提升程序质量之好处,故写此文。 1、我们如何理解“引用”? 引用是个别名,当建立引用时,程序用另外一个名字来初始化它,作为目标址别名使用。对引用的改动就是对目标的改动。 建立引用,我们需要: int someInt; int&rInt=someInt; 如此,someInt的别名就叫rInt。建立引用,我们先要明确目标的数据类型,再跟&号,最.

Menou16的博客 580

c# 把一个匿名对象赋值给一个Object类型的变量后,怎么取这个变量c# dynamic动态类型和匿名类 详解C# 匿名对象(匿名类型)、var、动态类型 dynamic 深入浅析C#...

比如有一个匿名对象,varresult=......Select(a=>new{id=a.id,name=a.name});然后Objectobj=result;我怎么从obj中取出id和name? dynamica=obj;varbb=a.id;varcc=a.name; 如果要重复使用数据模式,那么最可行的做法是重构代码...

1160

日泽IT笔记系列1-Beginning C# Objects概念代码-1

  《Beginning C# Objects概念代码》 自去年9月份买了这本书,正好一年了,将里面自己认为是重要的话语摘录了下来。同时也庆祝我的第一篇博客日志的诞生。1 A Little Taste of C#.NET Framework是全新的革命性应用开发和运行环境管理平台,支持超过20种语言。.NET Framework的核心要素之一是公共语言运行时(CLR),它负责

JIN RIZE's 研一 (1st) 1007

Beginning C# Objects概念代码 ——第1章 初尝C#

本书主要介绍了C#语言各方面的知识以及使用C#进行开发的原则与实践,结合C#深入浅出的阐述面向对象理论的基本内容。本书是由该书作者之一Jacquie Barker的经典畅销著作Beginning Java Object一脉传承而来,与之具有异曲同工的特色。 本书最初和最重要的关注点,是软件对象:什么是软件对象,为什么它们如此神奇而直白,以及如何正确使用对象去构建一个软件应用。这也是一本关于C#的书

optop的专栏 1152

Beginning C# Objects概念代码 ——1.1 C#上手指南

1.1 C#上手指南可能你已经迫不及待要开始编写、编译和运行C#程序了。不过我们特意地不急于介绍如何下载、安装C#.NET Framework,也不着急谈到如何编译程序等等类似细节。下面是本书组织结构的概略:l 本书第一部分集中介绍对象的概念——即“什么”是对象。我们不想让配置C#开发环境中的种种繁文缛节使你分心,你应该专注于学习这些基本概念。l 本书第二部分集中介绍对象建模——即“

optop的专栏 876

Beginning C# Objects概念代码——1.13 代码块和变量作用范围

C#(C、C++和Java也一样)是一种块结构语言(block structured language)。如本章前文所言,代码块即用大括号{…}包括起来的0行或多行代码。l      方法声明,如SimpleProgram的Main方法,定义了一个块。l      类声明,如SimpleProgram类,也定义了一个块。l      如你所见,许多流程控制语句都定义了代码块。块

optop的专栏 971

日泽IT笔记系列1-Beginning C# Objects概念代码-2

 5 Relationships Between Objects行为关系(behavioral relationship):两个对象之间因互换信息而存在的一种短暂关系。结构关系(structural relationship):因为对象需要通过attribute的形式来持久地维护相关对象的句柄,才能保持这样的关系。5.1 关联(association)与链接(link)类与类之

JIN RIZE's 研一 (1st) 1087

Beginning C# Objects概念代码——1.2 为什么用C#

1.2 为什么用C#      我们可以使用任何OO编程语言带领你创建SRS系统:Java、C++、Ada、Smalltalk、Eiffel、C#或是任何其他略带有OO意味的传统编程语言,如COBOL、Fortran、Visual Basic等等。那为什么要用C#呢?看下去,很快你就会知道。1.2.1 实践出真知C#语言的设计者们参考了之前的其他OO编程语言,从中吸取经验和教训。他们从

optop的专栏 883

Beginning C# Objects概念代码——1.3 C#语言基础

1.3 C#语言基础对于那些从未见过C#代码的读者,本章的剩余部分将介绍C#编程语言的基本语法。记住,现在只是对C#的浅尝辄止,仅足以帮助你理解本书第一和第二部分中的范例代码。在第三部分(从第13章到第16章)中我们会充分地深入C#语言,创建一个功能完整的学生选课系统(Student Registration System, SRS)应用程序。如果你还没有花时间阅读本书前言,现在正当其

optop的专栏 906

Beginning C# Objects目录初译稿

(译者按:下面是本书目录的初译稿,大多数术语都加上了英文原文。翻译不是一蹴而就的事,需要经过仔细的推敲才能保证最终译稿的质量。这个初译稿,一定存在不少问题,请大家多提意见。我在下一步的翻译中,会充分考虑您的建议和意见。)目录关于作者致谢前言本书简介第一部分 对象ABC第一章 浅尝C#语言上手指南为什么选用C#C#语言初阶剖析一个简单的C#程序预定义类型(Predefined Types)

Beginning C# Objects: from Concepts to Code中文版Blog 2870

(转帖)Beginning C# Objects 抓住一个对象

3.4.2.1  封装(Encapsulation)封装(Encapsulation)是一个正式术语,表示将对象状态和行为绑到单一逻辑单元中的机制。理论上,对于某个特定学生,我们需要了解的情况,要么直接表现为对象的字段(field),要么间接表现为给出问题的答案或影响对象状态的方法(method)。封装不是OO语言所独有的,但从某种意义上说,被OO语言完善了。如果你熟悉C语言,会知道一个C

Oneil_Sally的专栏 741

Beginning C# Objects: From Concepts to Code

Beginning C# Objects: From Concepts to Code (Note) 目录Beginning C# Objects: From Concepts to Code (Note). 1第2章 抽象与建模... 1第3章 对象和类... 1第4章 对象互操作... 1第5章 对象间关系... 2第6章 对象群集... 2第7章 对象

Jie 518

Beginning C# Objects概念代码——1.9 C#表达式

简单的C#表达式有以下数种。 l      常量:7,falsel      char(字符)引文:‘A’,‘&’l      string引文:“foo”l      某种我们讨论过的预定义类型的变量名:myString,xl      用C#二元操作符(本章稍后详述)连接的两个上述项:x+2l      使用C#一元操作符(本章稍后详述)修改的一个上述项:i++

optop的专栏 966

Beginning C# Objects概念代码——1.7 字符串

本章将讨论更为重要的一种预定义类型——string(字符串)类型。记住:和本章中介绍的其他C#类型不同,string不是值类型,而是引用类型,这一点前面已经提到过。这里仅做简单介绍,到13章才讨论string作为引用类型的意义所在。一个string类型变量,表示一系列Unicode字符。有数种方法可以创建和初始化string类型变量。最简单和常用的方法是声明一个类型为string变量

optop的专栏 931

Beginning C# Objects课后习题1

Beginning C# Objects From Concepts to code课后练习第四章: 对象互操作Page 116 3 根据代码判断违反OO约定的地方第一个例子:A 不应该声明一个public的attribute, 这破坏了OO的封装性B private string address 应该有相应的取值赋值方法,除非姿势自己内部用,但是地址这个值应该是需要被引用的C numberOf...

weixin_33912445的博客 133
上一篇: Beginning C# Objects从概念到代码——1.5 预定义类型
下一篇: Beginning C# Objects从概念到代码——1.7 字符串
optop
博客等级 码龄22年 8粉丝 31原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值