码迷,mamicode.com
首页 > Windows程序 > 详细

WEB前端学习——C#初识(一)

时间:2018-04-07 19:06:33      阅读:277      评论:0      收藏:0      [点我收藏+]

标签:web   指定   console   输出参数   初识   png   text   使用方法   种类   

  一.关于C#程序结构

技术分享图片

 

        这是小生的第一个C#程序,用于了解初步了解程序结构足够。

       程序的第一行 using System; - using 关键字用于在程序中包含 System 命名空间。 一个程序一般有多个 using  语句。

下一行是 namespace 声明。一个 namespace 是一系列的类。HelloWorldApplication 命名空间包含了类 HelloWorld。

下一行是 class 声明。类 HelloWorld 包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。在这里,HelloWorld 类只有一个 Main 方法。

下一行定义了 Main 方法,是所有 C# 程序的 入口点。Main 方法说明当执行时 类将做什么动作。

下一行 /*...*/ 将会被编译器忽略,且它会在程序中添加额外的 注释。

Main 方法通过语句 Console.WriteLine("Hello World"); 指定了它的行为。

WriteLine 是一个定义在 System 命名空间中的 Console  类的一个方法。该语句会在屏幕上显示消息 "Hello, World!"。
最后一行 Console.ReadLine(); 是针对 VS.NET 用户的。这使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET 启动时屏幕会快速运行并关闭。


以下几点值得注意:

   C# 是大小写敏感的。
所有的语句和表达式必须以分号(;)结尾。
程序的执行从 Main 方法开始。


二.标识符(变量的“命名”)

标识符是用来识别类、变量、函数或任何其它用户定义的项目。在 C# 中,类的命名必须遵循如下基本规则:

标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _ )、@。
标识符中的第一个字符不能是数字。
标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ‘ / \。
标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字。
标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
 
 
三.关键字
关键字是 C# 编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上 @ 字符作为前缀。

在 C# 中,有些关键字在代码的上下文中有特殊的意义,如 get 和 set,这些被称为上下文关键字(contextual keywords)。
      C#中保留的关键字:
技术分享图片

上下文关键字:

技术分享图片

 

四.数据类型

1.值类型(value types)

值类型变量可以直接分配给一个值。它们是从类 System.ValueType 中派生的。
值类型直接包含数据。比如 int、char、float,它们分别存储数字、字母、浮点数。当您声明一个 int 类型时,系统分配内存来存储值。

2.引用类型(Reference types)

引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。

换句话说,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的  引用类型有:object、dynamic 和 string。
 
3.指针类型(Pointer types)
指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。
 
 
五.类型转换
类型转换也叫类型铸造,或者说是把数据从一种类型转换为另一种类型。在 C# 中,类型铸造有两种形式:

1.隐式转换

隐式转换不需要做任何工作,也不需要另外编写代码。如将int型数据转换成double型数据:

int a = 10;
double b = a;/*隐式转换*/
隐式转换规则是:任何类型A,只要其取值范围完全包含在类型B的取值范围内,就可以隐式转换为类型B。基于这个转换规则,C#的隐式转换不会导致数据丢失。需要注意的是我们最常用的简单类型bool和string没有隐式转换。

2.显式式转换(强制)

显式转换:从类型A到类型B的转换只能在某些情况下进行,转换规则比较复杂,应进行某种类型的额外处理。显式转换又叫强制类型转换,显式转换需要用户明确的指定转换类型。如将double类型数据转换成int类型数据:

            double c = 10.5;
            int d = (int)c;/*显示转换*/

提醒:

显式转换可能会导致错误。进行这种转换时编译器将对转换进行溢出检测。如果有溢出说明转换失败,就表明源类型不是一个合法的目标类型。无法进行类型转换。

强制类型转换会造成数据丢失,如上面的例子中,最终得到的d值为10。

 

3.使用方法转换

(1)、通过int.Parse()方法转换,参数类型只支持string类型。注意:使用该方法转换时string的值不能为为NULL,不然无法通过转换;另外string类型参数也只能是各种整型,不能是浮点型,不然也无法通过转换 (例如int.Parse("2.0")就无法通过转换)。

            int i;
            i = int.Parse("100");

(2)、使用ToString()方法。所有类型都继承了Object基类,所以都有ToString()这个方法(转化成字符串的方法)。

(3)、通过int.TryParse()方法转换,该转换方法与int.Parse()转换方法类似,不同点在于int.Parse()方法无法转换成功的情况该方法能正常执行并返回0。也就是说int.TryParse()方法比int.Parse()方法多了一个异常处理,如果出现异常则返回false,并且将输出参数返回0。

            int i;
            string s = null;
            int.TryParse(s,out i);

(4)、通过Convert类进行转换,Convert类中提供了很多转换的方法。使用这些方法的前提是能将需要转换的对象转换成相应的类型,如果不能转换则会报格式不对的错误。注意:使用Convert.ToInt32(double value)时,如果 value 为两个整数中间的数字,则返回二者中的偶数;即 4.5 转换为 4,而 5.5 转换为 6。

(5)、实现自己的转换,通过继承接口IConventible或者TypeConventer类,从而实现自己的转换。

六.变量变量是内存或寄存器中用一个标识符命名的存储单元,可以用来存储一个特定类型的数据,并且数据的值在程序运行过程中可以进行修改。

1.C# 中的变量定义
C# 中变量定义的语法:
数据类型  变量名1,变量名2,变量名3……;
在这里,数据类型必须是一个有效的 C# 数据类型,可以是 char、int、float、double 或其他用户自定义的数据类型。变量名  可以由一个或多个用逗号分隔的标识符名称组成。
 
2.变量初始化(赋值):
 变量可以在声明时被初始化(指定一个初始值)。初始化由一个等号后跟一个常量表达式组成。
初始化可接受来自用户的值:
System 命名空间中的 Console 类提供了一个函数 ReadLine(),用于接收来自用户的输入,并把它存储到一个变量中。
 
七.运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C# 有丰富的内置运算符,分类如下:
1.算术运算符
假设A=10,B=20
技术分享图片

 

 2.关系运算符(输出“bool”值)
假设A=10,B=20
技术分享图片

 


3.逻辑运算符(输出“bool”)

假设变量 A 为布尔值 true,变量 B 为布尔值 false

技术分享图片

 

 

4.位运算符
技术分享图片

 

5.赋值算符

技术分享图片

 


6.其他运算符
技术分享图片

7.运算符优先级

技术分享图片

 


 

 

 

 

WEB前端学习——C#初识(一)

标签:web   指定   console   输出参数   初识   png   text   使用方法   种类   

原文地址:https://www.cnblogs.com/xhh776554/p/8733902.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!