欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#基础知识梳理(一)

程序员文章站 2022-07-11 08:08:43
一、C#简介 C#是微软公司发布的一种面向对象的、运行于.NET Framework之上的高级程序设计语言。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM ......

一、c#简介

  c#是微软公司发布的一种面向对象的、运行于.net framework之上的高级程序设计语言。c#看起来与java有着惊人的相似;它包括了诸如单一继承、接口、与java几乎同样的语法和编译成中间代码再运行的过程。但是c#与java有着明显的不同,它借鉴了delphi的一个特点,与com(组件对象模型)是直接集成的,而且它是微软公司 .net windows网络框架的主角。
  c#是一种安全的、稳定的、简单的、优雅的,由c和c++衍生出来的面向对象的编程语言。它在继承c和c++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。c#综合了vb简单的可视化操作和c++的高运行效率,以其强大的操作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为.net开发的首选语言。

二、创建一个新的c#工程

  开发工具:visual studio (vs)

  1、启动 visual studio,在菜单栏上选择 file -> new -> project,从模板中选择 visual c#,然后选择 windows,选择 console application,为您的项目制定一个名称,然后点击 ok 按钮;
  2、新项目会出现在解决方案资源管理器(solution explorer)中,在代码编辑器(code editor)中编写代码,点击 run 按钮或者按下 f5 键来运行程序。会出现一个命令提示符窗口(command prompt window),显示 输出结果。

三、c# 代码

  using system;
  namespace helloworldapplication
  {
    /* 类名为 helloworld */
    class helloworld
    {
      /* main函数 */
      static void main(string[] args)
      {
        /* 我的第一个 c# 程序 */
        console.writeline("hello world!");
        console.readkey();
      }
    }
  }
  1.using system:using 关键字用于在程序中包含 system 命名空间,一个程序一般有多个using 语句;

  2.namespace声明:一个 namespace 是一系列的类,helloworldapplication 命名空间包含了类 helloworld;

  3.class 声明:类 helloworld 包含了程序使用的数据和方法声明,类一般包含多个方法,方法定义了类的行为,在这里helloworld 类只有一个 main 方法;

  4.main 方法:是所有 c# 程序的 入口点,main 方法说明当执行时 类将做什么动作,main 方法通过语句 console.writeline("hello world"); 指定了它的行为。

  5.writeline 是一个定义在 system 命名空间中的 console 类的一个方法,该语句会在屏幕上显示消息 “hello,world!”;

四、c# 基本语法
  1.using 关键字
    在任何 c# 程序中的第一条语句都是:using system
    using 关键字用于在程序中包含命名空间,一个程序可以包含多个 using 语句

  2. class 关键字
    class 关键字用于声明一个类

  3. c# 注释
    多行注释以 /* 开始,并以字符 */ 终止,如下所示:
    /* this program demonstrates
     the basic syntax of c# programming
     language */
    单行注释是用 '//' 符号表示。例如:
    //end class rectangle

  4.成员变量: 变量是类的属性或数据成员,用于存储数据;
     成员函数: 函数是一系列执行指定任务的语句,类的成员函数是在类内声明的;
     标识符: 标识符是用来识别类、变量、函数或任何其它用户定义的项目。

  5.c#关键字
    关键字是 c# 编译器预定义的保留字,这些关键字不能用作标识符

五、c# 数据类型

  在 c# 中,变量分为以下几种类型: 值类型(value types) 引用类型(reference types) 指针类型(pointer types)

  1.值类型(value types)

    值类型(value types):

bool 布尔值
byte 8 位无符号整数
char 16 位 unicode 字符 
decimal 128 位精确的十进制值
double 64 位双精度浮点型
float 32 位单精度浮点型
int 32 位有符号整数类型
long 64 位有符号整数类型
sbyte 8 位有符号整数类型
short 16 位有符号整数类型
uint 32 位无符号整数类型
ulong 64 位无符号整数类型
ushort  16 位无符号整数类型

2.引用类型(reference types)

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

  内置的引用类型有:object、dynamic 和 string

  -> 对象(object)类型

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

    装箱操作: 当一个值类型转换为对象类型时
    拆箱操作: 当一个对象类型转换为值类型时

    object obj;
    obj = 100; // 这是装箱

  -> 动态(dynamic)类型
    可以存储任何类型的值在动态数据类型变量中,这些变量的类型检查是在运行时发生的声明动态类型的语法:dynamic <variable_name> = value;

    例如:dynamic d = 20;
    动态类型与对象类型相似,但是对象类型变量的类型检查是在编译时发生的,而动态类型变量的类型检查是在运行时发生的

  ->字符串(string)类型
    字符串(string)类型 允许您给变量分配任何字符串值,字符串(string)类型是 system.string 类的别名。它是从对象(object)类型派生的,字符串(string)类型的值可以通过两种形式进行分配:引号和 @引号

    例如:
      string str = "baidu.com";
      一个 @引号字符串:@"baidu.com";

      c# string 字符串的前面可以加 @(称作"逐字字符串")将转义字符(\)当作普通字符对待
      比如:
        string str = @"c:\windows";
        等价于:string str = "c:\\windows";
  用户自定义引用类型有:class、interface 或 delegate

六、c# 类型转换方法

  c# 提供了下列常用的内置类型转换方法

序号 方法 描述
1 tochar 把类型转换为单个 unicode 字符类型
2 todatetime 把类型(整数或字符串类型)转换为 日期-时间 结构
3 todecimal 把浮点型或整数类型转换为十进制类型
4 todouble 把类型转换为双精度浮点型
5 toint16/toint32/toint64 把类型转换为 16/32/64 位整数类型
6 tostring 把类型转换为字符串类型
7 totype 把类型转换为指定类型
8 touint16 把类型转换为 16 位无符号整数类型

七、下期预告 -

  -> 变量
  -> 常量
  -> 运算符
  -> 判断
  -> 循环

原文链接:

第一次发表文章,心里情绪万千。。。。多多指教!