C#基本语法简介

一、系统数据类型和C#简化符号

  和各任何编程语言一样,C#定义了一组内建数据类型。每种类型都有对应的C#关键字、取值范围和作用,如系统类型中表示真实的或者虚假的类型为 System.Boolean,C#简化符号为bool,范围true或false;又如uint对应的系统类型是System.UInt32,范围 0~4294967295,代表一个无符号的32位数。其中bool是遵循CLS(公共语言规范),而uint则不遵循CLS(符合CLS的.NET代码可以被任何托管编程语言使用,不止是C#,还有VB.NET和托管C++等)。

  C#内建的系统型有15个,请查看.NET Framework 3.5文档来熟悉它们。

二、变量声明和初始化。

  如果要声明一个数据类型作为变量,可以通过在变量名之前指定类型来实现,还可以使用全名分配数据类型。如:

bool mybool = false;

string myString;

myString = "This is a string.";

System.Int32 i1 = 0, i2, i3 = 56;

  在使用变量前必须先对变量赋值,否则会收到一个编译错误(如上文加上" i2 = i2 +5 ",是不能通过编译的)。内建数据类型还支持构造函数(对于构造函数,后面章节会有介绍),
这不允许我们使用new关键字来创建变量,它将变量自动设置为其默认值:

int i4 = new int(); // i4设置为0。

i4 = i4 + 5 ; // i4现在的值为5。

三、数据转换

  不同类型的数据是可以转换的。

  按转换前后的数据的位数变化可分为窄化转换和宽化转换:当一种类型的值转换为
大小相等或更大的另一类型时,则发生宽化转换(也叫扩大转换);当一种类型的值转换为较小的另一种类型时,则发生窄化转换(也叫收缩转换)。宽化转向不会导致数据丢失,因此允许隐式进行。但窄化转换因为有数据丢失的风险(称为溢出),将导致编译错误。如果希望通知编译器我们想要处理窄化运算引起的可能的数据丢失,就必须使用C#强制转换运算符()来进行显式强制转换:

byte myByte = 0;

int myInt = 200;

myByte = (byte)myInt;

  如果我们在构建一个不能接受数据丢失的应用程序,C#提供的checked关键字将确保数据丢失
肯定会被检测到。

myByte = checked(byte)myInt;

  如果发生数据丢失,将发生一个运行时异常(对于异常,后面将
深入讨论)。另外,C#编译器还提供/checked标志,可以设定项目级别的溢出检测。与checked相对的还有unchecked关键字,请查阅相关文档进行了解。

四、运算符

  C# 提供
大量运算符,这些运算符是指定在表达式中执行哪些操作的符号。通常允许对枚举进行整型运算,
例如 ==、!=、<、>、& lt;=、>=、^、&、|、~、++、-- 和 sizeof()。此外,很多运算符可被用户重载,由此在应用到用户定义的类型时更改这些运算符的含义。各运算符的用法及优先级,请查阅相关文档。

  新增的运算符??:如果 ?? 运算符的左操作数非 null,该运算符将返回左操作数,否则返回右操作数。

  另一个新增的Lambda运算符(=>)会在后面章节中讲述。

五、流程控制

  1.C#迭代结循环构

  除了基本的for循环,while循环及do/while循环,C#还允许通过使用foreach关键字遍历数组中的所有项:

string[] carTypes = {"Ford","BMW","Yugo","Honda"};

foreach(string c in carTypes)

Console.WriteLine(c);

  2.C#条件结构

  if/else语句。C和C++的程序员要注意,C#中的if/else语句只能作用于布尔表达式,不能用于诸如-1、0这样的值。

  switch语句。C#switch语句一个不错的特性是,除了数值数据之处,我们还可以运算字符串数据:

static void ExecuteSwitchOnString()

{

Console.WriteLine("C# or VB");

Console.Write("Please pick your language preference: ");

string langChoice =
Console.ReadLine();

switch (langChoice)

{

case "C#":

Console.WriteLine("Good choice, C# is a fine language.");

break;

case "VB":

Console.WriteLine("VB .NET: OOP, multithreading and more!");

break;

default:

Console.WriteLine("Wellgood luck with that!");

break;

}

}

时间: 2024-12-23 06:21:36

C#基本语法简介的相关文章

Android系统Recovery工作原理之使用update.zip升级过程---updater-script脚本语法简介以及执行流程(转)

  目前update-script脚本格式是edify,其与amend有何区别,暂不讨论,我们只分析其中主要的语法,以及脚本的流程控制. 一.update-script脚本语法简介:           我们顺着所生成的脚本来看其中主要涉及的语法.         1.assert(condition):如果condition参数的计算结果为False,则停止脚本执行,否则继续执行脚本.         2.show_progress(frac,sec):frac表示进度完成的数值,sec表示整

《企业级ios应用开发实战》一第3章 Objective-C 语法简介

第3章 Objective-C 语法简介 本书不是一本关于Objective-C编程语言的专著,但仍然会介绍一些Objective-C语言的语法基础和有趣特性.这对于刚刚接触到iPhone编程的人来说,会是一个很好的开始. Objective-C兼具C语言和面向对象语言的特性.因此本章会从两个方面来介绍Objective-C(简称O-C). 首先,由于Objective-C具有C语言背景(它仍然是一种C),它从C语言中继承了一些C语言特性,例如:Objective-C全面支持C的数据类型(包括简

Razor基础语法简介

原文:Razor基础语法简介Razor的出现,使页面看起更加简洁,Razor的页面后缀为:.cshtml Razor基础语法: 1.代码注释:       多行注释: @*注释信息*@      单行注释: // 注释 1.代码体{...} @{ var x=100; var y=100; string str="this is string": } 在代码体中,没一行都需要用";"结束,代码区中,字母区分大小写.字符类型常量必须用""括起来,

SixSix翻译的XAML教程 语法简介_WML教程

[This topic is pre-release documentation and is subject to change in future releases. Blank topics are included as placeholders.]  XAML 语法简介 本文介绍了如何使用几种不同的方法在XAML中创建对象和设置他们的属性. 主题包括以下几个部分: 什么是XAML?   声明对象  设置属性  其他相关主题 什么是XAML XAML是一种陈述性语言.你可以使用XAML标

PostgreSQL修炼之道:从小工到专家. 3.1 SQL语句语法简介

3.1 SQL语句语法简介 3.1.1 语句的分类 SQL命令一般分为DQL.DML.DDL几类. DQL:数据查询语句,基本就是SELECT查询命令,用于数据查询. DML:Data Manipulation Language的简称,即数据操纵语言,主要用于插入.更新.删除数据,所以也分为INSERT.UPDATE.DELETE三种语句. DDL:Data Definition Language的缩写,即数据定义语言,主要用于创建.删除,以及修改表.索引等数据库对象语言. 3.1.2 词法结构

PHP中的替代语法简介_php技巧

替代语法是PHP程序设计中不常见到,有时却又很重要的一个概念.今天本文就以实例形式展示了这一概念的用法. 查看一下wordpress的代码,里面可以见到有些少见的php替代语法,如下所示: <?php else : ?> <div class="entry-content"> <?php the_content( __( 'Continue reading <span class="meta-nav">→</span&

XSL 语法简介(一)

语法 XSL语法介绍 首先注意到的是,XSL文件本身即是一份 XML文件,所以在XSL文件的开头,一样有和XML文件相同的声明.W3C这个XML的标准机构为XSL定义了很多标记(元素),XSL文件就是这些标记和HTML标记的组合.在XSL文件中,必须有如下一行的代码:  <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">  这里,xsl:stylesheet是XSL文件的根元素,在根元素中包含了所有的排版样式,样

Python程序设计入门(1)基本语法简介_python

Python是当今日趋流行的一种脚本语言,它比Java更简单,比php更强大,并且还适用于做桌面应用的开发,在ubuntu中,更加是必须的一种脚本引擎,所以有必要去学习一下,这里的文章只针对有一定编程基础,最好是比较熟悉php或javascript的用户,如果没任何基础的新手建议找更详细的教程去学习. Python的变量是不需要定义的,这方面和php一样,它比javascript还是宽松,不过它是用缩进作为段落标识的,作为习惯了C语言风格语法的人,可能一开始会很不习惯使用,但细一想,其实也是很正

高效搜索 Google搜索语法简介

目前,Internet 上有两种搜索引擎.一种是The Searchable Subject http://www.aliyun.com/zixun/aggregation/16666.html">Index,索引式搜索.这种搜索引擎只搜索站点的Title和Meta描述信息而无法搜索个人主页,Yahoo就是一个索引式搜索引擎.第二种是The Full-Text Search Engine完全内容搜索引擎,通过Spider(蜘蛛) 技术搜索数百万个甚至数十亿个页面,而且可以搜索页面的Titl