C#语言特点及基础

简介: 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会产生异常
相关文章
|
6月前
|
前端开发 Java C#
java/C#语言开发的医疗信息系统11套源码
java/C#语言开发的医疗信息系统11套源码
111 2
|
3月前
|
存储 开发框架 .NET
C#语言究竟隐藏了哪些秘密?一文带你揭开编程界的神秘面纱
【8月更文挑战第22天】C#是微软推出的面向对象编程语言,以其简洁的语法和强大的功能,在软件开发领域占据重要地位。作为一种强类型语言,C#确保了代码的可读性和可维护性。它支持多种数据类型,如整型、浮点型及复合类型如类和结构体。类是核心概念,用于定义对象的属性和行为。C#还包括方法、异常处理、集合类型如列表和字典,以及泛型和LINQ等高级特性,支持异步编程以提高应用响应性。.NET Core的推出进一步增强了C#的跨平台能力。
73 3
|
27天前
|
JSON C# 开发者
C#语言新特性深度剖析:提升你的.NET开发效率
【10月更文挑战第15天】C#语言凭借其强大的功能和易用性深受开发者喜爱。随着.NET平台的演进,C#不断引入新特性,如C# 7.0的模式匹配和C# 8.0的异步流,显著提升了开发效率和代码可维护性。本文将深入探讨这些新特性,助力开发者在.NET开发中更高效地利用它们。
33 1
|
1月前
|
存储 开发框架 .NET
C#语言如何搭建分布式文件存储系统
C#语言如何搭建分布式文件存储系统
69 2
|
2月前
|
前端开发 Java C#
C#语言的优缺点?
C#语言的优缺点?
100 3
|
2月前
|
安全 IDE Java
C#语言的
C#语言是一种面向对象的编程语言
30 1
|
2月前
|
IDE C# 开发工具
C# 语言的主要优势是什么?
C# 语言的主要优势是什么?
96 2
|
2月前
|
监控 安全 C#
C# 语言助力员工监控系统的完善
在数字化时代,企业日益重视员工管理的效率与精准度,员工监控系统因此成为提升管理水平的有效工具。C# 语言凭借其简洁、高效和安全的特点,在开发此类系统中扮演了重要角色,可实现实时监控员工电脑操作、网络行为及工作时间统计等功能,从而提高工作效率并保障企业利益。同时,企业在应用这些技术时也需关注员工隐私权的保护。
26 6
|
3月前
|
JSON C# 开发者
💡探索C#语言进化论:揭秘.NET开发效率飙升的秘密武器💼
【8月更文挑战第28天】C#语言凭借其强大的功能与易用性深受开发者喜爱。伴随.NET平台演进,C#持续引入新特性,如C# 7.0的模式匹配,让处理复杂数据结构更直观简洁;C# 8.0的异步流则使异步编程更灵活高效,无需一次性加载全部数据至内存。通过示例展示了模式匹配简化JSON解析及异步流实现文件逐行读取的应用。此外,C# 8.0还提供了默认接口成员和可空引用类型等特性,进一步提高.NET开发效率与代码可维护性。随着C#的发展,未来的.NET开发将更加高效便捷。
59 1
|
4月前
|
存储 Oracle 关系型数据库
PACS源码,C#语言数字医学影像系统成品源码
**数字医学影像系统(RIS/PACS)**采用C#开发,基于C/S架构,配Oracle数据库,具备自主版权,适用于项目实施。系统包含分诊、超声、放射、内镜、病理等工作站,支持基本信息维护、报表查询和系统维护。功能亮点有:WorkList管理、影像采集传输、存储检索、图像处理、多序列浏览、流程控制、报告录入与审核、支持多种影像设备及高级影像处理。RIS与PACS数据库同步,并集成HIS、电子病历等系统接口。全面遵循DICOM3.0标准。
PACS源码,C#语言数字医学影像系统成品源码