C#基础 阶段总结
第一部分 了解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#基础 阶段总结的更多相关文章
- JavaScript 基础阶段测试题
JavaScript 基础阶段测试题,试试你能得多少分? 一.选择题1.分析下段代码输出结果是( ) var arr = [2,3,4,5,6]; var sum =0; for(v ...
- PHP程序员的技术成长规划 第一阶段:基础阶段
第一阶段:基础阶段(基础PHP程序员) 重点:把LNMP搞熟练(核心是安装配置基本操作)目标:能够完成基本的LNMP系统安装,简单配置维护:能够用PHP源码做基本的简单系统的PHP开发:能够在PHP中 ...
- java基础阶段几个必会面试题
摘自:https://www.cnblogs.com/zn19961006/p/11869182.html java基础阶段几个必会面试题 目录 1.说出你对面向对象的理解 在我理解,面向对象是向现实 ...
- #Java学习之路——基础阶段二(第九篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第八篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第七篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第六篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第五篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第四篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
- #Java学习之路——基础阶段二(第三篇)
我的学习阶段是跟着CZBK黑马的双源课程,学习目标以及博客是为了审查自己的学习情况,毕竟看一遍,敲一遍,和自己归纳总结一遍有着很大的区别,在此期间我会参杂Java疯狂讲义(第四版)里面的内容. 前言: ...
随机推荐
- 小程序json字符串转为对象
小程序里json字符串转为对象使用JSON.parse()方法转变无效, 看报错提示有单引号“ ' ” 因为单引号而无效, 将单引号全改双引号即可. 报错如下: VM11050:1 thirdScri ...
- 配置 npm 缓存目录,防止占满系统版
通过命令编辑缓存的路径配置: npm config edit 内如如: 指定到系统盘之外的路径,如 d: 盘:然后将原来目录中已缓存的内如剪切过来~ Notice(2019.3.15): 截图中路径含 ...
- Visual Studio 2013 配置多个Release版本,并为每个版本配置预编译的宏
最近开发过程中,需要将同一份工程编译成两个版本,分别为ReleaseA和ReleaseB. ReleaseB比ReleaseA少了部分功能,所以希望在编译的时候,根据不同的版本编译工程中相应的代码. ...
- 【手记】解决VS发布asp.net项目报错“该项目中不存在目标GatherAllFilesToPublish”及后续问题
办法在最后. 用VS2017打开一个以前用VS2010写的asp.net项目后,设置好发布选项(发布到文件夹),发布的时候报错如图: 搜索一番,找到的办法是: 在项目文件(xxx.csproj)中,在 ...
- LCA(最近公共祖先)——Tarjan
什么是最近公共祖先? 在一棵没有环的树上,每个节点肯定有其父亲节点和祖先节点,而最近公共祖先,就是两个节点在这棵树上深度最大的公共的祖先节点. 换句话说,就是两个点在这棵树上距离最近的公共祖先节点. ...
- 一篇入门 -- Git
一. Git 介绍 Git作为一款分布式的==版本控制==工具,作为一名程序员,是必须要掌握的. 最初由林纳斯·托瓦兹(Linus Torvalds)创作,于2005年以GPL发布.最初目的是为更好地 ...
- Android Studio在项目中添加assets资源目录
第一步: 切换到"Project"视图,找到app --> src --> main目录 第二步: 右键点击main目录,New --> Directory -- ...
- 《http权威指南》读书笔记2
概述 最近对http很感兴趣,于是开始看<http权威指南>.别人都说这本书有点老了,而且内容太多.我个人觉得这本书写的太好了,非常长知识,让你知道关于http的很多概念,不仅告诉你怎么做 ...
- PHP、JS、Python,数据库 获取今天是星期几了?[开发篇]
额,这个看起来是一个好简单的问题,但是真正到自己去一行行写的时候,又给忘了,妈蛋.有空就看看吧.今天是星期几?下面就来看看几种不同语言的实现吧! PHP语言 输出当前时间: echo date('Y- ...
- Swift 里 Set(五)Adding & Removing Elements
Adding Elements internal func _unsafeInsertNew(_ element: __owned Element) { _internalInvariant(coun ...