C#语言特点及基础

C#语言特点及基础

面向对象,运行于.NET Framework 和 .NET Core(完全开源,跨平台)

C#是安全的,稳定的,简单的,优雅的

C#语法基础

CS文件结构

using Microsoft.AspNetCore;
using Microsoft.AspNetCore.Hosting;  // 引用命名空间

// 项目命名空间,大多数时候也是项目本身的名称
namespace WebApplication{
    // 类名称
	public class Program{
		// 方法或者函数
        public static void Main(string[] args){
            
        }
    }    
}

类包含了程序使用的数据和方法声明,类一般包含了多个方法,方法定义了类的行为。

Main方法是程序的入口

C#基本语法

  • C# 区分大小写
  • 所有的语句和表达式必须以分号结尾
  • 与Java不同的是,文件名可以不同于类的名称

C#是一种面向对象语言,在面向对象的程序设计方法中,程序由各种对象组成,相同种类的对象通常具有相同的类型。

关键字

关键字,是对编译器有特殊意义的预定义保留标识符,不能在程序中用作标识符

注释

注销和解释

/*
	多行注释
*/

// 单行注释

// 文档注释
// 在声明和方法和类上使用文档注释
/// <summary>
///
/// </summary>
变量

变量是一个供程序存储的数据盒子,在C#中,每一个变量都有一个特定的类型,不同类型的变量其内存大小也不尽相同。

类型 说明
整数类型 byte,short,int,long
浮点型 float 和 double
十进制类型 decimal
布尔类型 bool
字符类型 string,char
空类型 null

byte: 0-255

默认小数是double类型, 加f则是float类型。

decimal类型 和 小数类型差不多, 后缀是m, decimal不是基础类型, 精度比float类型高,常常用于财务系统。

decimal 和 double类型不能相互转换。

bool类型: true 和 false

string str = "hello,world";
char a = 'a';
MessageBox.Show(str);

null 类型,不可以声明变量,本身就是一个值,表示空

C#进阶语法

表达式
  • 表达式由操作数 和 运算符 构成,运算符包含 +, - , * , /等

  • 表达式包含多个运算符时,运算符的优先级控制各运算符的计算顺序。

  • 大多数运算符都可以重载(overload), 运算符允许指定用户定义的运算符实现来执行运算。

运算符
++x  x++  x--  --x
+ - * / %
<<  >>
> < <= >= 
is  as
== !=
& | 
&& || !
x??y  如果x为null, 则计算结果为y,否则计算结果为x
x?y:z
(T x) => y 匿名函数 lambda表达式

整数相除是整除

字符串使用+, 是字符串拼接

分支语句
if(){

}else{

}
/*****************/
if(){
    
}else if() {
    
}else{

}
// 可以使用字符串
switch(i){
    case 1:
        break;
    case 2:
        break;
    default:
        break;
}
循环语句
for(int i = 0;i<10;i++){

}
int i =0;
while(i<10){
    i++;
}
int i = 0;
do{
    i++;
    
}while(i<10);
int[] arr={10,6,5,9};
for(int i:arr){
    System.out.println(i);
}
break;
continue;
数组
  • 一组相同类型的数据, 数组中元素的类型一致
  • 数组中的数据需要通过索引来访问

声明

  • 数组的声明需要使用new 关键字
  • 在声明数组时,可以使用{}来初始化数组中的元素
  • 如果在数组声明之初没有使用大括号来初始化数组中的元素,则需要指定数组的大小
  • 在声明初始化有元素的数组时,也可以指定数组的大小。
int[] ints = new int[8];
int[] ints = new int[]{1,3,2,4};
string[] strings = new int[5]{"H","E","L","L","O"};
// 获取数组长度
int len = strings.Length;
// 声明时更简便的方式
string[] strs = {
    
    "111","222","444"};

通过索引获取元素

  • 给数组指定长度时,数组准备存放多少元素,长度就设置为多少
  • 用索引获取数组内的元素时,索引从0开始
  • 最大索引为 长度-1
int[] ints = new int[]{1,2,3};
int i1 = ints[0];
强制类型转换
  • (int) 表示使用显示强制转换,C#默认整形是int32

  • Int.Parse() 只支持将string类型转换成int

  • Convent.ToInt32(double value), 不完全遵循四舍五入,如果value为两个整数中间的数字,则返回二者间的偶数

    Convert.ToInt32(4.5);  // 4
    
  • Convert.ToInt32() 对于null返回0,不会产生异常, Int.Parse会产生异常

猜你喜欢

转载自blog.csdn.net/first_bug/article/details/129277637
今日推荐