第一部分 了解C#

C#是微软公司在2000年7月发布的一种全新且简单、安全、面向对象的程序设计语言,是专门为.NET的应用而开发的。体现了当今最新的程序设计技术的功能和精华。.NET框架为C#提供了一个强大的、易用的、逻辑结构一致的设计环境。其特点:

  • 语言简洁
  • 保留了C++的强大功能;
  • 快速应用开发功能;
  • 语言的的自由性;
  • 强大的Web服务器控件;
  • 支持跨平台;
  • 与XML相融合;

第二部分 C#语言基础;

一、C#项目的组成结构;

1、项目后缀

.config——配置文件(存放配置参数文件)

.csproj——项目文件(管理文件项)

.sln——解决方案文件(管理项目)

.cs——源文件(程序代码)

注:后缀不同代表文件类型也不同,这些文件后缀类型会在“解决方案资源管理器”中看到。

2、函数的四要素:名称,输入,输出,加工。

3、主函数,输出语句,输入语句:

namespace ConsoleApplication1           //命名空间

{

class Program                                 //类

{

static void Main(string[] args)          //方法

{

Console.Write("字符串");                //输出语句,打印不换行

Console.WriteLine("字符串");        //输出语句,打印完成换行

//输入语句,等待直到接收到回车命令为止,获取一整行内容

string s = Console.ReadLine();      //一个等号表示赋值号

Console.WriteLine(s);

Console.ReadLine();

}

}

}

●输出:

Console.WriteLine("字符串");             //换行

Console.Write("字符串");                   // 没有换行

  • 1.大小写敏感
  • 2.所有的符号全都用英文
  • 3.不要漏掉

●输入:

string s = Console.ReadLine();                  //输入的字符串放到s这个容器里面

Console.WriteLine("你刚刚输入的是:"+s);   //字符串相加是把字符串拼接

string -字符串类型

s -变量名

= -赋值

4、快捷键的使用

● Alt + →提示,需要执行程序时点击启动或Ctrl+F5;

● ctrl + K(ctrl + E), 然后按ctrl + C,注释本行(软件工具栏中有快捷图标);

● ctrl + K /E+C , 选中部分全部注释

● ctrl + K(ctrl + E), 然后按ctrl + U,取消注释(软件工具栏中有快捷图标);

● ctrl + K/E +U , 选中部分全部解除注释

● Shift + delete,一删删一行;

● Ctrl + X,剪切一行;Ctrl + Z,回复;

● Ctrl + Shift + Space,将光标放在方法函数括号里面时使用,显示重载

● Ctrl + K + D ,格式调整

5、注意事项

(1)、注释:

● //注释一整行

● /* */注释其中一段区域

● ///放在函数上面使用,给函数加注解

技巧:

● 写的代码尽量使用智能感知功能;

● 先写总体,再完善细节;

● 自动完成单词功能。Alt+→

(2)、在一行中声明相同类型的多个变量之间用逗号分开。

例:int a, b;//声明变量类型,用逗号隔开

(3)、同一语句中,不能对同一个变量名声明成同一类型两次。

例:int a = 4; int a = 5;//错误

二、数据类型

大类

小类

C#语言

.net语言(通用语言)

说明

大小(字节)

值区间

基本数据类型(值类型)

整型

sbyte

SByte

8位有符号整数

1

-128~127(负的2的7次方~正的2的7次方减1)

short

Int16

16位有符号整数

2

-32768~32767(负的2的15次方~正的2的15次方减1)

int

Int32

32位有符号整数

3

(负的2的31次方~正的2的31次方减1)

long

Int64

64位有符号整数

4

(负的2的63次方~正的2的63次方减1)

byte

Byte

8位无符号整数

1

0~255 (0~2的8次方减1)

ushort

UInt16

16位无符号整数

2

(0~2的16次方减1)

uint

UInt32

32位无符号整数

3

(0~2的32次方减1)

ulong

UInt64

64位无符号整数

4

(0~2的64次方减1)

浮点型

float

Single

32位单精度浮点数

4

1.5 × 10−45 到 3.4 × 1038

double

Double

64位双精度浮点数

8

5.0 × 10−324 到 1.7 × 10308

decimal

Decimal

128精确浮点数

16

1.0 × 10−28 到大约 7.9 × 1028

字符型

char

Char

16位Unicode字符,放在''里的是字符

2

任意字符

布尔型

bool

Boolean

表示true或者false

1

True或Flase

日期时间

datetime

DateTime

     

结构体

struct

Struct

     

枚举类型

enum

Enum

     

引用类型

字符串类型

string

String

   

字符序列

         

数组

         

集合

         

1、基本数据类型:值类型

⑴、整数类型:int(最常用)

⑵、浮点型:double(最常用)是C#默认小数类型,float用需加后缀f,decimal用需加后缀m。    整数与浮点转换    a = (int)b

⑶、布尔型:用于判断,只允许放TRUE或者FALSE。

2、引用类型:字符串型string,长度较长,定义时用双引号。

三、C#转义字符

\’ 单引号     \” 双引号     \\ 反斜杠   \0 空

\a 警告(产生峰鸣)   \b 退格    \f 换页   \n 换行

\r 回车     \t 水平制表符         \v 垂直制表符

四、变量、常量

1、变量名的命名规则:

●变量名组成:字母,数字,下划线,@,汉字。

●首字母只能用字母,下划线,@,汉字

●不能与关键字重名

2、变量的定义:

数据类型  变量名 [=值];   //[]内的值可以不写

例子:int  a=1;

注意:int a, b;//声明变量类型,用逗号隔开

int a = 4; int a = 5;//错误

3、常量:只能够取值,不能重新赋值

const int f = 5;

f = 7;错误,不能重新赋值

4、变量名前加关键字(不能赋值,只能取值):const

例子:const  int a=1;

五、基本的类型转换

1、自动转换(隐式转换)--从值类型转换到引用类型时候

2、强制转换(显式转换)--从引用类型转换到值类型时候,或者从浮点型转换到整形

当从一个引用类型转换到值类型时,必须引用类型中的数据元素,能够转换成值类型的容量范围内的数据才行,否则不能转。

⑴、用(),注:在被转换的数据左边加上小括号:(要被转换成的数据类型);     例子:int a;double b=12.3;a=(int)b;

⑵、用convert;           a=convert.ToInt32(b);

c=convert.Tosingle(b);           ●建议使用

⑶、用parse;              a=int.parse(b);

int a = 2;

string s = a.ToString();

例子:输入三个数,求它们的和、差、积、商。

六、运算符

分类

符号

解释

优先级

算数

++   --

加加   减减

由高到低,即执行顺序由上到下.(圆括号的优先级最高)

*/%

乘  除  取余

+  -

加  减

关系

>    <    >=     <=

大于 小于 大于等于   小于等于

==     !=

等于  不等于

逻辑

&&

与(并且)

||

!

非(注:优先级在此表的最顶层)

条件运算符

?:

惟一的一个三元运算符  如果

赋值

=    +=  -=    *=    /=   %=

如:x-=4.即x=x-4;

1、算数运算符:

●做除法运算的时候,如果两个操作都是整数,则运算之后的结果也是整数。

●做算数运算的时候,如果两个被操作的数不是同一类型,则会在运算的时候会自动进行类型转换。

●判断a是不是b的倍数(是否能够整除)====>a%b是否==0

●判断a的个位是不是b====>a%10是否==b

●把数变成某个范围之内的数(利用余数一定比除数小的定理,比如十六进制里面最大的单个数是F(15))

⑶、++  --

int a =5;

int b= a++;  ====>可以写成int b =a; a = a+1;

int c = ++a;====>可以写成a = a+1; int c =a;

运算出来的结果就是

b = 5;

c = 6;

注意:●++  --这两种运算只能应用于变量(5++是不对的!!常量也是不可以使用的!!)

●前++和后++的区别:加加在前,先运算再赋值;加加在后,先赋值再运算。

2、关系运算符:

==  !=  >  <  >=  <=

●关系运算符运算结果统统是bool型(结果不是Ture就是False)

●==    不能写成 =(一个=是赋值的意思)

3、逻辑运算符:

⑴、&&====>两个条件都成立,结果为True,否则False

⑵、||====>两个条件只要有一个成立,结果为True,两个都不成立为False

⑶、!====>将原来的结果取相反的(若本来为True,取反就是False)

4、其他运算

= 赋值运算,将后面的值赋给左侧的变量。(注意:只能是变量)

+=  -=  *=  /=  %=  复合运算符(例:a += b;(意思是a = a +b;))

● a += 7;//a=a+7;

●a *= 2;//a=a*2;

●a %= 4;//a=a%4;

5、条件运算符    ?:   

●例题:键盘键入三个数,找出来最大的数。

Console.Write("输入一个a值");

double a = double.Parse(Console.ReadLine());

Console.Write("输入一个b值");

double b = double.Parse(Console.ReadLine());

Console.Write("输入一个c值");

double c = double.Parse(Console.ReadLine());

//double  d =a>b ? a:b;

//double e = d > c ? d : c;

double e = (a > b ? a : b) > c ? (a > b ? a : b) : c;

Console.WriteLine("最大的数是"+e);

Console.ReadLine();

C#基础 阶段总结的更多相关文章

  1. JavaScript 基础阶段测试题

    JavaScript 基础阶段测试题,试试你能得多少分? 一.选择题1.分析下段代码输出结果是( )    var arr = [2,3,4,5,6];    var sum =0;    for(v ...

  2. PHP程序员的技术成长规划 第一阶段:基础阶段

    第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作)目标:能够完成基本的LNMP系统安装,简单配置维护:能够用PHP源码做基本的简单系统的PHP开发:能够在PHP中 ...

  3. java基础阶段几个必会面试题

    摘自:https://www.cnblogs.com/zn19961006/p/11869182.html java基础阶段几个必会面试题 目录 1.说出你对面向对象的理解 在我理解,面向对象是向现实 ...

  4. #Java学习之路——基础阶段二(第九篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  5. #Java学习之路——基础阶段二(第八篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  6. #Java学习之路——基础阶段二(第七篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  7. #Java学习之路——基础阶段二(第六篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  8. #Java学习之路——基础阶段二(第五篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  9. #Java学习之路——基础阶段二(第四篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

  10. #Java学习之路——基础阶段二(第三篇)

    我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...

随机推荐

  1. numpy版本查看以及升降

     如题,参考:https://zhuanlan.zhihu.com/p/29026597 pip show numpy 查看numpy版本; pip install -U numpy==1.12.0, ...

  2. 2019.02.28 bzoj4199: [Noi2015]品酒大会(sam+线段树)

    传送门 题意:给一个串,每个位置有一个权值,当S[s...s+len−1]=S[t...t+len−1]&&S[s...s+len]̸=S[t..t+len]S[s...s+len-1 ...

  3. Jersey RESTful WebService框架学习(八)文件下载防乱码

    最近在做下载时候  不同浏览器下载的文件一直出现乱码,不知道怎么设置文件的编码,百度许久,找到一个解决办法如下 /** * 文件下载 * @param request * @return */ @GE ...

  4. leetcode437--Path Sum III

    https://leetcode.com/problems/path-sum-iii/ 理解比较困难,可以先看https://www.cnblogs.com/albert67/p/10416402.h ...

  5. 内置函数_range()

    range() range()语法格式为 range([start,] stop [,step])# 有三种用法range(stop)range(start,stop)range(start,stop ...

  6. 内置函数_map()、reduce()、filter()

    map().reduce().filter() map()内置函数把一个函数func依次映射到序列或迭代器对象的每个元素上,并返回一个可迭代的map对象作为结果,map对象中每个元素是原序列中元素经过 ...

  7. Vuejs——(13)组件——杂项

    版权声明:出处http://blog.csdn.net/qq20004604   目录(?)[+]   本篇资料来于官方文档: http://cn.vuejs.org/guide/components ...

  8. 2018.09.22 上海大学技术分享 - An Introduction To Go Programming Language

    老实说笔者学习 Go 的时间并不长,积淀也不深厚,这次因缘巧合,同组的同事以前是上海大学的开源社区推动者之一,同时我们也抱着部分宣传公司和技术分享的意图,更进一步的,也是对所学做一个总结,所以拟定了这 ...

  9. Yii2 三层设计模式:SQL Command、Query builder、Active Record(ORM)

    用Yii2也有一段时间了,发现Yii2 Framework对Database的操作有非常良好的结构和弹性. 接下来介绍三种数据库操作方式. SQL Command Level: // Get DB c ...

  10. 往github提交代码流程

    一 首先在Github新建一个仓库,回到首页,点击右上角的New repository新建仓库. 二  在本地依次使用下面命令 …or create a new repository on the c ...