C#_基本语法,数据类型,变量与常量

Posted 过往将来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#_基本语法,数据类型,变量与常量相关的知识,希望对你有一定的参考价值。

C#_简介

  1. C# 是一个现代的、通用的、面向对象的编程语言
  2. C# 是专为公共语言基础结构(CLI)设计的。CLI 由可执行代码和运行时环境组成,允许在不同的计算机平台和体系结构上使用各种高级语言。
  3. C# 是一种面向现代的,通用的编程语言,面向对象,面向组件的一种结构化语言,可以在多种计算机平台上运行,并且C#是.net的一部分

C#_ .Net 框架(.Net Framework)

  1. .Net 框架是一个创新的平台,可以编写Windows应用程序,web应用程序,web服务
  2. .Net 框架应用程序是多平台的应用程序。

c#_程序简介

C#程序主要包含以下部分

  1. 命名空间声明(Namespace declaration)
  2. 一个clss
  3. class 方法
  4. class 属性
  5. 一个main方法
  6. 语句(Statements)& 表达式(Expressions)
  7. 注释
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace helloworld
{
    class Sayhello
    {

        static void Main(string[] args)
        {
            /* HelloWorld */
            Console.WriteLine("Hello World");
            Console.ReadKey();
        }
    }
}

C#_程序的组成部分详解:

  1. using System; - using 关键字用于在程序中包含 System命名空间。 一个程序一般有多个 using语句。
  2. namespace声明。一个 namespace 是一系列的类,helloworld命名空间包含了类 Sayhello
  3. class 声明。类helloworld包含了程序使用的数据和方法声明。类一般包含多个方法。方法定义了类的行为。在这里,helloworld类只有一个 Main 方法。
  4. Main方法,是所有C#程序的 入口点。Main方法说明当执行时 类将做什么动作
  5. /*...*/是注释,将会被编译器忽略,且它会在程序中添加额外的 注释。
  6. Console.WriteLine("Hello World");输出语句,
  7. Console.ReadKey();:暂停语句.使得程序会等待一个按键的动作,防止程序从 Visual Studio .NET启动时屏幕会快速运行并关闭。

注意:

  1. C#是大小写敏感的,所有语句和表达式必须以(;)结尾
  2. C#程序的执行都是从Main()开始的
  3. C#的文件名可以不同于类的名称

C#_基本语法

  1. C# 是一种面向对象的编程语言。在面向对象的程序设计方法中,程序由各种相互交互的对象组成。
  2. 相同种类的对象通常具有相同的类型,或者说,是在相同的 class 中。
namespace SumData
{
    // 计算三角形的面积
    class Data
    {
        // 成员变量
        double length;
        double width;
        public void Acceptdetails()
        {
            length = 4.5;
            width = 3.5;
        }
        public double GetArea()
        {
            return length * width;
        }
        public void Display()
        {
            Console.WriteLine("Length: {0}", length);
            Console.WriteLine("Width: {0}", width);
            Console.WriteLine("Area: {0}", GetArea());
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            Data D = new Data();
            D.Acceptdetails();
            D.Display();
            Console.ReadKey();
        }
    }
}

成员变量:变量是类的属性或数据成员,用于存储数据,在上面的程序中,Data类有两个成员变量,名为 length 和 width。
成员函数:函数是一系列执行指定任务的语句。类的成员函数是在类内声明的。我们举例的类Data包含了三个成员函数: AcceptDetails、GetArea 和 Display。

类的实例化:在上面的程序中,类 Program是一个包含 Main() 方法和实例化 Data类的类。
C# 类的实例化:通过已有的类(class)创建出该类的一个对象(object),这一过程就叫做类的实例化。 Data D = new Data()
标识符:标识符是用来识别类、变量、函数或任何其它用户定义的项目

在 C# 中,类的命名必须遵循如下基本规则:

  1. 标识符必须以字母开头,后面可以跟一系列的字母、数字( 0 - 9 )或下划线( _ )。标识符中的第一个字符不能是数字。
  2. 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! @ # % ^ & * ( ) [ ] { } . ; : " ’ / \\。但是,可以使用下划线( _ )。
  3. 标识符不能是 C# 关键字。

C# 关键字:

  1. 关键字是C# 编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上 @字符作为前缀。
  2. 在 C# 中,有些标识符在代码的上下文中有特殊的意义,如get 和 set,这些被称为上下文关键字

C#_数据类型

C#种.变量分为:值类型,引用类型,指针类型

C#_值类型

  1. 值类型变量可以直接分配给一个值。值类型是从类System.ValueType中派生的。
  2. 值类型直接包含数据。比如 int、char、float,分别存储数字、字母、浮点数。当声明一个 int 类型时,系统分配内存来存储值。
  3. 常见的值类型包含:bool(布尔值),byte(8 位无符号整数),char(16 位 Unicode 字符),double(64位双精度浮点类型),float(32位单精度浮点类型),int(32位有符号整数类型),short(16位有符号整数类型)

如需得到一个类型或一个变量在特定平台上的准确尺寸,可以使用 sizeof 方法,表达式 sizeof(type) 产生以字节为单位存储对象或类型的存储尺寸: Console.WriteLine("Size of int: {0}", sizeof(int));

C#_引用类型

  1. 引用类型不包含存储在变量中的实际数据,但是引用数据类型包含对变量的引用
  2. 引用数据类型指的是一个内存位置,使用多个变量时,引用数据类型可以指向一个内存位置。如果内存位置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的 引用类型有:objectstring

C#_对象(Object)类型

  1. 对象(Object)类型 是 C# 通用类型系统中所有数据类型的终极基类。
  2. Object 是 System.Object类的别名。所以对象(Object)类型可以被分配任何其他类型(值类型、引用类型、预定义类型或用户自定义类型)的值。但是,在分配值之前,需要先进行类型转换。

装箱:值类型转换为对象类型.
拆箱:对象类型转换为值类型

装箱和拆箱示例:
装箱:值类型转换为对象类型
int val = 8;
object obj = val;//整型数据转换为了对象类型(装箱)
拆箱:之前由值类型转换而来的对象类型再转回值类型,**只有装过箱的数据才能拆箱。**
int val = 8;
object obj = val;//先装箱
int nval =int)obj;//再拆箱

C#_动态(Dynamic)类型

  1. 可以存储任何类型的值在动态数据类型变量中,动态类型的变量检查是在运行时发生的
  2. 声明动态类型的语法:dynamic d = 20;
  3. 动态类型与对象类型相似,但是对象类型变量的类型检查是在编译时发生的,而动态类型变量的类型检查是在运行时发生的。

C#_字符串(String)类型

  1. 字符串(String)类型 允许您给变量分配任何字符串值。字符串(String)类型是System.String类的别名。
  2. String类型是从对象(Object)类型派生的,字符串(String)类型的值可以通过两种形式进行分配:引号和 @引号。
String str = "baidu.com";
String strA = @"baidu.com";
Console.WriteLine("{0},{1}", str, strA);
两种分配方式效果相同
  1. C# string字符串的前面可以加 @(称作"逐字字符串")将转义字符(\\)当作普通字符对待,例如:string str = @"C:\\Windows"; 等价于:string str = "C:\\\\Windows";
  2. @ 字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。
string str = @"<script type=""text/javascript"">
    <!--     -->
    </script>";

C#_指针类型(Pointer types)

  1. 指针类型变量存储另一种类型的内存地址。C# 中的指针与 C 或 C++ 中的指针有相同的功能。
  2. 声明指针类型的语法:char* cptr; int* iptr;

C#_类型转换

  1. 类型转换从根本上说是类型铸造,或者说是把数据从一种类型转换为另一种类型。

  2. 在 C# 中,类型铸造有两种形式:隐式类型转换和显示类型转换

  3. 隐式类型转换:是 C# 默认的以安全方式进行的转换,例如,从小的整数类型转换为大的整数类型,从派生类转换为基类。

  4. 显示类型转换:是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符

class Program
    {
        static void Main(string[] args)
        {
            int i = 75;
            float f = 53.005F;
            double d = 2345.7652;
            bool b = true;

            Console.WriteLine(i.ToString());
            Console.WriteLine(f.ToString());
            Console.WriteLine(d.ToString());
            Console.WriteLine(b.ToString());
            Console.ReadKey();
        }
    }

类型之间的转换方法-Convert和Parse:

			string locstr = 123.ToString();

            //如果要将"locstr"转成整型数

            //方法一: 用 Convert 
            int locA = Convert.ToInt16(locstr);
            Console.WriteLine(locA);

            //方法二: 用 Parse
            int locB = int.Parse(locstr);
            Console.WriteLine(locB);

            Console.ReadKey();

C#_变量

  1. 变量是一个供程序操作的存储区的名字, C# 中,每个变量都有一个特定的类型,类型决定了变量的内存大小和布局。范围内的值可以存储在内存中,可以对变量进行一系列操作

C#_中的基本值类型

  1. 整数类型:byte,short,int,char,long
  2. 浮点类型:float,double
  3. 十进制类型:decimal
  4. 布尔类型:true,false
  5. 空类型:可为空值的数据类型

C# 中变量定义的实例:

	int i, j, k;
	char c, ch;
	float f, salary;
	double d;
	// 在定义变量时初始化
	int i = 100;
 class Program
    {
        static void Main(string[] args)
        {
            short a;
            int b ;
            double c;

            /* 实际初始化 */
            a = 10;
            b = 20;
            c = a + b;
            Console.WriteLine("a = {0}, b = {1}, c = {2}", a, b, c);
            Console.ReadLine();
        }
    }

C#_常量

枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为枚举类型。

  1. 常量时固定值,程序执行期间不会改变,常量可以是任何基本数据类型,比如整数常量、浮点常量、字符常量或者字符串常量,还有枚举常量。
  2. 常量可以被当作常规的变量,只是它们的值在定义后不能被修改。

C#_整数常量

  1. 整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,没有前缀则表示十进制。
212         /* 合法 */
215u        /* 合法 */
0xFeeL      /* 合法 */
078         /* 非法:8 不是一个八进制数字 */

C#_浮点常量

  1. 浮点常量由整数部分,小数点,小数部分和指数部分组成,可以使用小数形式或者指数形式来表示浮点常量。
3.14159       /* 合法 */
314159E-5L    /* 合法 */
  1. 使用小数形式表示浮点常量时,必须包含小数点、指数或同时包含两者。
  2. 使用指数形式表示浮点常量时,必须包含整数部分、小数部分或同时包含两者。
  3. 有符号的指数是用 e 或 E 表示的。

C#_字符常量

字符常量是括在单引号里,例如,‘x’,且可存储在一个简单的字符类型变量中。一个字符常量可以是一个普通字符(例如 ‘x’)、一个转义序列(例如 ‘\\t’)或者一个通用字符(例如 ‘\\u02C0’)。

常见的转义字符码:
C# 中有特定的字符,当它们的前面带有反斜杠时有特殊的意义:\\" "字符,\\n换行符

C#_字符串常量

  1. 字符常量是括在双引号 “” 里,或者是括在 @"" 里。
  2. 字符串常量可以是:普通字符、转义序列和通用字符
  3. 使用字符串常量时,可以把一个很长的行拆成多个行,可以使用空格分隔各个部分。

定义常量:

class Program
    {
        static void Main(string[] args)
        {
            const double pi = 3.14159; // 常量声明
            double r;
            Console.WriteLine("Enter Radius: ");
            r = Convert.ToDouble(Console.ReadLine());
            double areaCircle = pi * r * r;
            Console.WriteLine("Radius: {0}, Area: {1}", r, areaCircle);
            Console.ReadLine();
        }
    }

以上是关于C#_基本语法,数据类型,变量与常量的主要内容,如果未能解决你的问题,请参考以下文章

求C语言代码

2. Go 语言基本语法

java基本语法——常量变量数据类型

go语言学习笔记 — 基础 — 基本语法 — 常量与变量 — 变量作用域:能够使用变量的代码范围

go语言学习笔记 — 基础 — 基本语法 — 常量与变量 — 变量的数值类型转换

go语言学习笔记 — 基础 — 基本语法 — 常量与变量 — 常量变量的声明:常量的初始化定义