C#语言特点及基础

C#是一种面向对象的编程语言,运行于.NETFramework和.NETCore,具备安全性、稳定性和优雅的语法。基础包括CS文件结构、基本语法如关键字、注释和变量,进阶语法涉及表达式、运算符、分支语句和循环。文章还讨论了数组和强制类型转换的概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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会产生异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

暴风雨中的白杨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值