当前位置: 移动技术网 > IT编程>开发语言>.net > c#基础知识梳理(一)

c#基础知识梳理(一)

2019年05月08日  | 移动技术网IT编程  | 我要评论

腾讯 面试,蝶兰,南雄太君

一、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 位无符号整数类型

七、下期预告 -

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

原文链接:

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

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网