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

七、下期预告 - https://www.cnblogs.com/liu-jinxin/p/10824638.html

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

原文链接:https://blog.csdn.net/lairikeqi/article/details/84617737

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

c#基础知识梳理(一)的更多相关文章

  1. [SQL] SQL 基础知识梳理(一)- 数据库与 SQL

    SQL 基础知识梳理(一)- 数据库与 SQL [博主]反骨仔 [原文地址]http://www.cnblogs.com/liqingwen/p/5902856.html 目录 What's 数据库 ...

  2. [SQL] SQL 基础知识梳理(二) - 查询基础

    SQL 基础知识梳理(二) - 查询基础 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5904824.html 序 这是<SQL 基础知识梳理( ...

  3. [SQL] SQL 基础知识梳理(三) - 聚合和排序

    SQL 基础知识梳理(三) - 聚合和排序 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5926689.html 序 这是<SQL 基础知识梳理 ...

  4. [SQL] SQL 基础知识梳理(四) - 数据更新

    SQL 基础知识梳理(四) - 数据更新 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5929786.html 序 这是<SQL 基础知识梳理( ...

  5. [SQL] SQL 基础知识梳理(五) - 复杂查询

    SQL 基础知识梳理(五) - 复杂查询 [博主]反骨仔 [原文]http://www.cnblogs.com/liqingwen/p/5939796.html 序 这是<SQL 基础知识梳理( ...

  6. Anliven - 基础知识梳理汇总 - 软件测试

    基础知识梳理 - 软件测试 - 概念 基础知识梳理 - 软件测试 - 分类 基础知识梳理 - 软件测试 - 流程 基础知识梳理 - 软件测试 - 用例 基础知识梳理 - 软件测试 - 方法 基础知识梳 ...

  7. [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型

    引言: 前面专题主要介绍了C#1中的2个核心特性——委托和事件,然而在C# 2.0中又引入一个很重要的特性,它就是泛型,大家在平常的操作中肯定会经常碰到并使用它,如果你对于它的一些相关特性还不是很了解 ...

  8. java基础知识梳理

    java基础知识梳理 1 基本数据类型

  9. C#基础知识梳理索引

    C#基础知识梳理索引 一 引子 之前曾写了一篇随笔<.NET平台技术体系梳理+初学者学习路径推荐+我们的愿景与目标> 三个月过去了,目标使更多的编程初学者,轻松高效地掌握C#开发的基础,重 ...

  10. [SQL] SQL 基础知识梳理(六)- 函数、谓词、CASE 表达式

    SQL 基础知识梳理(六)-  函数.谓词.CASE 表达式 目录 函数 谓词 CASE 表达式 一.函数 1.函数:输入某一值得到相应输出结果的功能,输入值称为“参数”,输出值称为“返回值”. 2. ...

随机推荐

  1. OptaPlanner 试验

    OptaPlanner - Constraint satisfaction solver (Java™, Open Source)https://www.optaplanner.org/ jboss/ ...

  2. android studio 运行按钮为灰色的解决办法之一

    sync project with gradle files按钮(如下图)同步一下就好了 3.2的  3.3同步按钮变成了一只大象+箭头

  3. openresty开发系列21--lua的模块

    openresty开发系列21--lua的模块 从lua5.1开始,Lua 加入了标准的模块管理机制,Lua 的模块是由变量.函数等已知元素组成的 table, 因此创建一个模块很简单,就是创建一个 ...

  4. 解决:error: Cannot find libmysqlclient_r under /usr/local/mysql.

    libodb-mysql-2.4.0.tar.gz 解压完安装libodb-mysql时,执行完./cofigure后,出现如下错误: checking for libmysqlclient_r... ...

  5. xshell连接中标麒麟

    中标麒麟: 1.首先肯定需要给虚拟机配置静态ip,让虚拟机作为独立的ip存在 https://www.cnblogs.com/judes/p/11776872.html 2.输入rpm -qa | g ...

  6. Python - Django - ORM 自定义 char 类型字段

    用 CharField 定义的字段在数据库中存放为 verchar 类型 自定义 char 类型字段需要下面的代码: class FixedCharField(models.Field): " ...

  7. IIS+PHP本地开发环境配置

    打开Win7系统自带IIS.如图只要点击两下,CGI一定要勾选上!完成后打开浏览器输入127.0.0.1测试一下,如果能打开页面说明iis开启成功. 安装PHP.不同版本的PHP会有所不同,这里使用的 ...

  8. jQuery 控制網頁捲軸移動 & Ignore link '#' method jump action

    $('a.gotoheader').click(function(){ // 讓捲軸移動到 0 的位置 $(); // ignore link "#" method return ...

  9. 模仿系统C键功能菜单

    1.可以拖拽C键 2.依赖zepto 3.点击弹出菜单 效果预览:

  10. 单位rem 触屏适配总结

    总结过的:定宽320 缩放适配手机屏幕 参考文章:web app变革之rem 先了解一下rem css3 中引入了新的长度单位,rem. 官方定义 font size of the root elem ...