C#基础1笔记

Day1:

项目基础理论:
第一个命令行工程
项目平台简介:

.net Framework的第一个版本发布于2002年,.NET Framework是以一种采用系统虚拟机运行的编程平台,以通用的语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB、C++、Python等)的开发。

net core第一个版本在2016年推出 net core有支持跨平台(Windows,Mac OSX、Linux)能力的应用程序开发框架。

项目创建命名规则:

建议使用公司名(自己名字)+项目名称  最好不要使用中文

解决方案名称可以和项目名称一致(后期有需要可以更改)

项目结构分析:

项目的文件列表

1.程序集信息文件(了解)

如何查看程序集信息

(1)AssemblyInfo查看

(2)程序集信息查看

(3)程序编译通过的程序集文件查看

2.引用

当前项目中可以使用的系统默认模块,

自己写的模块或者第三方提供的模块

3.App.config配置文件(了解)

项目的框架等配置信息,项目需要使用的特点数据信息

获取配置文件信息

(1)在引用中导入Configuration

(2)引入Configuration模块

(3)使用ConfigurationManager管理程序配置的功能类

  1.  <appSettings>
  2.     <add key="MyConfigString" value="Test Config Data"/>
  3.     <add key="Name" value="测试工程"/>
  4.   </appSettings>
  5. using System.Configuration;  // 1.在引用中导入Configuration 2.引入Configuration模块
  6. namespace ConsoleApp_app.config
  7. {
  8.     internal static class AppSettingConfig
  9.     {
  10.         public  static string resultValue = ConfigurationManager.AppSettings["MyConfigString"].ToString();
  11.         public static string resultValue1 = ConfigurationManager.AppSettings["Name"].ToString();
  12.         
  13.     }
  14. }

程序入口文件 program.cs

程序执行的开始

class 类 Program

Main 入口函数

入口文件 - ->入口类 - -> 入口函数

入口函数作用:程序执行后自动执行  其他函数一般都要调用后才能执行

解决方案和项目:

解决方案和项目都是VS提供的用于管理应用程序的容器

一个解决方案可以包含一个或多个项目

这些项目可以利用解决方案,连接在一起,统一编译统一更新

.sln和.csproj文件:

.sln:解决方案文件,里面包含着整个解决方案的信息,可以双击运行

.csproj:项目文件,里面包含着这个项目的信息,可以双击运行

命名空间和类:
命名空间

含义:命名空间是C#组织代码的方式 通常来管理类的方式

分类:系统命名空间和自定义命名空间

关键字:namespace

using关键字:用来引用其他命名空间。不同项目系统会自动添加不同的命名空间

特点:

不能以数字特殊符号开头 不建议使用中文

一个项目中可以根据需要 定义多个命名空间

一个命名空间 可以有多个类 可以解决多个类名字相同的冲突问题

含义:类也是C#组织代码的方式 通常来管理具体数据的方式

分类:系统类和自定义类

关键字:class

特点:类要放在命名空间中

包含:字段 属性 方法 构造函数 析构函数 事件 等......

C#基础规则与代码
C#的3种注释符号:

单行注释://

多行注释:/*要注释的内容*/

文档注释:  多用来解释类或者方法

折叠冗余代码:

#Region 

要折叠的内容

#EndRegion

VS的常用快捷键:

Ctrl+K+D:快速对其选中代码

Ctrl+K+C:注释所选代码或光标所在行

Ctrl+K+U:取消对所选代码的注释或光标所在行

F1:转到帮助文档

Ctrl+S:保存

Ctrl+Shift+B:生成解决方案

Ctrl+F:在文件中查找

Ctrl+E,D:格式化全部代码

F5:启动调试

Ctrl+Shift+E:显示资源管理器

Ctrl+Shift+G:显示源代码管理器

Ctrl+Shift+O:内置导航

Ctrl+L:删除光标所在行(只需将光标移至该行,不需要选中整行)

Ctrl+C:复制光标所在行

Ctrl+X:剪切光标所在行

标识符

标识符是用来识别类、变量、函数或任何其他用户定义的项目。在C#中,类的命名必须遵循如下基本规则:

  • 标识符必须以字母、下划线或@开头,后面可以跟一系列的字母、数字(0 - 9)、下划线(_)、@。
  • 标识符中的第一个字符不能是数字。
  • 标识符必须不包含任何嵌入的空格或符号,比如? - + ! # % ^ & * ( ) [ ] { } . ; : " ' / \。
  • 标识符不能是C#关键字。除非它们有一个@前缀。例如,@if是有效的标识符,但if不是,因为if是关键字。
  • 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
  • 不能与C#的类库名称相同。
C#关键字

关键字是C#编译器预定义的保留字。这些关键字不能用作标识符,但是,如果您想使用这些关键字作为标识符,可以在关键字前面加上@字符作为前缀。

在C#中,有些关键字在代码的上下文中有特殊的意义,如get和set,这些被称为上下文关键字(contextual keywords)。

下表列出了C#中的保留关键字(Reserved Keywords)和上下文关键字(Contextual Keywords):

保留关键字
abstractasbaseboolbreakbytecase
catchcharcheckedclassconstcontinuedecimal
defaultdelegatedodoubleelseenumevent
explicitexternfalsefinallyfixedfloatfor
foreachgotoifimplicitin

in

(genericmodifier)

int
interfaceinternalislocklongnamespacenew
nullobjectoperatorout

out

(genericmodifier)

overrideparams
privateprotectedpublicreadonlyrefreturnsbyte
sealedshortsizeofstackallocstaticstringstruct
switchthisthrowtruetrytypeofuint
ulonguncheckedunsafeushortusingvirtualboid
volatilewhile
上下文关键字
addallasascendingdescendingdynamicfromget
globalgroupintojoinletorderby

partial

(type)

paryial

(method)

removeselectset
数据类型

数据类型分类

C#数据类型分为两大类:值类型和引用类型

整形类型 浮点型 字符型 布尔类型 struct(结构)、enum(枚举)

字符串,类、接口、数组、集合,委托为引用类型

//整数类型,对应各种不同的取值范围,整数类型一共有八种
//位(bit):也叫比特,是计算机存储数据的最小单位,表示一个二进制位
//字节:计算机存储数据的单位,一字节等于八位
//有无符号:表示可否存储负数,有符号表示可以存储负数,无符号则只能存储正数
//8种不同的整数类型
byte byteValue = 1;
sbyte sbyteValue = -1;
short shortValue = -1;
ushort ushortValue = 1;
int intValue = -1;//对应C#    System.Int32结构  详解  C#数据类型对应的.Net结构图
uint uintValue = 1;
//c语言中,long类型是4个字节,但在C#中为8个字节
long longValue = -1;
ulong ulongValue = 1;
//可以使用sizeof方法。表达式sizeof(type)
//产生以字节为单位存储对象或类型的存储尺寸
Console.WriteLine("{0},{1}", sizeof(ulong), ulongValue);

//2 浮点数类型
//小数类型被称为浮点数类型,浮点数类型一共有三种。
//一般默认为double类型
//float:单精度浮点数,占4个字节
//double:双精度浮点数,占8个字节
//decimal:精确的十进制数值,占16个字节
float floatValue = 3.141592699999f;//float后加上f,float即可精确到小数点后7位数
Console.WriteLine(floatValue);
double doubleValue = 3.14159269998876543;//double可精确到小数点后15位。
Console.WriteLine(doubleValue);
decimal decimalValue = 3.141592512345678901234567m;//decimal类型后加上m  保留精准位数
Console.WriteLine(decimalValue);
Console.WriteLine("{0},{1}", sizeof(decimal), decimalValue);

//字符类型
//特点:只能存放一个字符或一个汉字  用单引号表示  C#中占2字节
char charValue = 'a';
Console.WriteLine("{0},{1}", sizeof(char), charValue);
//字符串
//特点:引用类型   可以存储多个字符
//表示方式:
//字符串(string)类型是System.String类的别名。
string str = "runoob.com";//单行显示
//@字符串中可以任意换行,换行符及缩进空格都计算在字符串长度之内。
string str21
    = @"<script type=""text/javascript"">
    <!--
    -->
    </script>";

//特殊字符串 --转义字符
//@将转义字符(\)当做普通字符对待
string str1 = @"C:\nWindows";
Console.WriteLine(str1);
string str2 = "www\\naaaa";
Console.WriteLine(str2);

//字符串是特殊的引用类型
//特殊原因:字符串赋值时 和值类型数据赋值是深拷贝
//后续引用类型 赋值是浅拷贝
int number1 = 10;
int number2 = number1;
number1 = 20;
Console.WriteLine("number1:{0},number2:{1}", number1, number2);


string temp1 = "abc";
string temp2 = temp1;
temp1 = "xxx";
Console.WriteLine("temp1:{0},temp2:{1}", temp1, temp2);

//布尔类型
//包含两个值 true和false  后续进行条件判断是   常用
bool boolValue = false;
bool bool2Value = true;
//日期类型
DateTime datetimeValue = DateTime.Now;
Console.WriteLine(datetimeValue);
 

 Day2:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值