C#基础知识
2017-09-18 22:45
525 查看
解决方案的组成部分
解决方案包含项目文件,项目文件包含cs文件。
C#程序结构
空间命名的别名+输出语句
标识符
例如 String username;
区分大小写。
大小字母,数字,下划线组成,不能以数字开头。
想使用关键字作为标识符,需要在前面加”@”。
winForm程序
文件目录分析
窗体显示窗口和窗体控件代码快速切换
1. 在窗体显示窗口,按F7查看
2. 在窗体控件代码,按shift+F7切换
Winform界面分析
查看源代码
选中代码,按F12进行查看
操作窗体
点击项目名,右键->添加->新建项->窗体。
点击Form.cs文件,删除即可。
窗体属性
如果不希望用户更改窗体大小,就将最大化与最小化的值设置为相同。
常量
*转义字符 反斜杠:*
使转义字符失效
字符串换行
数据类型
值类型:int a = 1; 存储在栈中
引用类型:String s = “你”; 存储在堆中
整数类型
浮点类型
布尔类型
占用4个字节,32位在存储空间,不能用0和1代替。
字符类型
char类型
每个字符对象与Unicode字符集的字符相对应。
引用类型
字符串
1. 字符串的不可变性,当一个变量被重新赋值时,原来的值并没有被销毁,而是重新开辟一块新的存储空间。当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即被销毁。
2. 字符串可以看做时char类型的一个只读数组。
读取控制台输入数据以及在控制台输出数据
使用数组下标的方式将值传输到输出语句中,将多个变量按顺序在输出语句后面排序
运算符
顺序
文件后缀名 | 含义 |
---|---|
.Sln:解决方案 | |
.csproj:项目文件 | 项目 |
.cs:类文件 | 类文件中的C#代码 |
C#程序结构
代码 | 含义 |
---|---|
using System; | 引用命名空间 |
namespace DemoOne; | 项目名或者命名空间 |
Class name{} | 类 |
static void Main(String[] args){} | 程序主入口或是Main函数 |
using mmkj = System.Console; namespace nn{ class c{ static void Main(String[] args){ Console.WriteLine("正常输出"); mmkj.WriteLine("使用别名输出"); } } }
标识符
例如 String username;
区分大小写。
大小字母,数字,下划线组成,不能以数字开头。
想使用关键字作为标识符,需要在前面加”@”。
winForm程序
文件目录分析
文件 | 存放 |
---|---|
bin | exe程序和pdb调试程序 |
obj | debug子目录,含有编译过程中产生的中间代码 |
properties | 包含AssemblyInfo.cs文件,此文件包含程序集属性的设置,创建项目时自动添加的。 |
App.config | 资源文件,存放字符串、图标等 |
Form1.cs | 窗体代码 |
Form.Designer.cs | 面板控件的生成和显示 |
Program.cs | 应用程序代码 |
WinForm1.csproj | 项目文件 |
1. 在窗体显示窗口,按F7查看
2. 在窗体控件代码,按shift+F7切换
Winform界面分析
//partial 分布类 //当前类继承 System.Windows.Forms.Form类 public partial class Form1 : Form{}
查看源代码
选中代码,按F12进行查看
操作窗体
点击项目名,右键->添加->新建项->窗体。
点击Form.cs文件,删除即可。
窗体属性
属性名 | 含义 |
---|---|
BackColor | 背景色 |
BackgroundImage | 背景图片 |
Cursor | 鼠标形状 |
HelpButton | 帮助按钮,不能与最大化、最小化同时存在 |
Icon | 图标 |
MainMenuStrip | 主菜单 |
MaximumBox | 最大化 |
MaximumSize | 最大化时窗体大小(0,0)x,y像素 |
MinimumBox | 最小化 |
MinimumSize | 最小化时窗体大小(0,0)x,y像素 |
Name | 唯一标示名 |
ShowIcon | 是否显示图标 |
ShowInTaskbar | 是否在任务栏显示 |
Size | 窗体大小 |
Text | 标题 |
StartPosition | 启动时,窗体显示的位置 |
TopMost | 是否居顶显示,不被别的窗体挡住 |
常量
//常量必须在声明的同时赋值 const int a = 1;
*转义字符 反斜杠:*
Console.WriteLine("我\n好");
使转义字符失效
Console.log(@"我\n是");
字符串换行
String str = @"select * from user where name = 'zichen' "; Console.WriteLine();
数据类型
值类型:int a = 1; 存储在栈中
引用类型:String s = “你”; 存储在堆中
整数类型
数据类型 | 说明 | 值范围 | 对应System程序集中的结构 |
---|---|---|---|
sbyte | 有符号8位整数 | -128~127 | SByte |
byte | 无符号8位整数 | 0~255 | Byte |
short | 有符号16位整数 | -32768~32767 | Int16 |
ushort | 无符号16位整数 | 0~65535 | UInt16 |
Int | 有符号32位整数 | -2147489648~2147483647 | Int32 |
UInt | 无符号32位整数 | 0~42994967295 | UInt32 |
long | 有符号64位整数 | -2的63次方~2的63次方 | Int64 |
ulong | 无符号64位整数 | 0~2的64次方 | UInt64 |
数据类型 | 说明 | 取值范围 | 适用范围 |
---|---|---|---|
float | 32位单精度实数 | 1.5*10的-45次方~3.4*10的38次方 | 不常用 |
double | 64位双精度实数 | 5.0*10的-324次方~1.7*10的308次方 | 常用 |
demcimal | 128位十进制实数 | 1.0*10的-28次方~7.9*10的28次方 | 适用于财务 |
占用4个字节,32位在存储空间,不能用0和1代替。
字符类型
char类型
每个字符对象与Unicode字符集的字符相对应。
引用类型
字符串
1. 字符串的不可变性,当一个变量被重新赋值时,原来的值并没有被销毁,而是重新开辟一块新的存储空间。当程序结束后,GC扫描整个内存,如果发现有的空间没有被指向,则立即被销毁。
2. 字符串可以看做时char类型的一个只读数组。
读取控制台输入数据以及在控制台输出数据
Console.WriteLine("你喜欢什么水果啊?"); String fruit = Console.ReadLine(); if ("香蕉".Equals(fruit)) { Console.WriteLine("这么巧,我也喜欢"+fruit); }else{ Console.WriteLine("我不喜欢。"); }
使用数组下标的方式将值传输到输出语句中,将多个变量按顺序在输出语句后面排序
String name = "紫宸"; int age = 21; String sex = "先生"; Console.WriteLine("尊敬的{0}{1},您好,您今年{2}岁了?这么年轻就做董事长了啊?鄙人佩服佩服!",name,sex,age); Console.ReadKey();
运算符
运算符 | 描述 | 实例 |
---|---|---|
+-*/ | 二元 | 普通运算 |
+ | 一元 | var1= +var2;var2乘以1 |
- | 一元 | var1= -var2;var2乘以-1 |
++ | 一元 | ++在前先加后用,++在后先用后加 |
– | 一元 | –在前先加后用,–在后先用后加 |
< <= > >= | 二元 | 关系运算符 |
= += -= *= /= %=>>= <<= &= ^= |= | 二元 | 赋值运算 |
sizeof() | 返回改数组类型占用的字节数 | sizeof(int);返回4 |
typeof() | 返回class的类型 | typeof(StreamReader); |
& | 返回变量的地址 | &a;获得变量的实际地址 |
* | 变量的指针 | *a将指向一个变量 |
? | 条件表达式 | var1?true:false; |
is | 判断对象是否是某一类型 | if(Person is Car)//检查Person是否是Car类 |
as | 强制类型转换,即使转换失败也不会抛出异常 | Object obj = new StringReader(“hello”);StringReader sr = obj as StringReader; |
类别 | 运算符 | 结合性 |
---|---|---|
后缀 | () [] -> . ++ - - | 从左到右 |
一元 | + - ! ~ ++ - - (type)* & sizeof | 从右到左 |
乘除 | * / % | 从左到右 |
加减 | + - | 从左到右 |
移位 | << >> | 从左到右 |
关系 | < <= > >= | 从左到右 |
相等 | == != | 从左到右 |
位与 | AND & | 从左到右 |
位异或 | XOR ^ | 从左到右 |
位或 | OR | | 从左到右 |
逻辑与 | AND && | 从左到右 |
逻辑或 | OR || | 从左到右 |
条件 | ?: | 从右到左 |
赋值 | = += -= *= /= %=>>= <<= &= ^= |= | 从右到左 |
逗号 | , | 从左到右 |
相关文章推荐
- C# 基础知识
- C#基础知识整理:写在前面的话
- C#基础知识系列之——for循环
- C#基础知识梳理系列十四:序列化
- C#基础知识之六
- C#基础知识整理:.NET知识
- C#——基础小知识
- C#基础知识整理:C#基础(1)
- [C# 基础知识系列]专题九: 深入理解泛型可变性
- C#基础知识梳理系列十:异常处理 System.Exception
- C#基础知识记录一
- c#基础知识---文件属性与文件路径操作
- C#基础知识总结
- C#接口基础知识实例讲解
- c# 正则表达式基础知识
- [C# 基础知识系列]专题十六:Linq介绍
- C#基础知识整理:C#基础(2)
- C#基础知识七之const和readonly关键字
- [C# 基础知识系列]专题二:委托的本质论
- [C# 基础知识梳理系列]专题六:泛型基础篇——为什么引入泛型