项目基本结构

// 引入命名空间
// 命名空间 : 看做是一个范围 , 用来标注一些成员的归属
//using 关键字 用来引入指定的命名空间 , 它可以告诉编译器 , 我们后续的代码中 , 使用的是哪个命名空间
using System ;
using System . Collections . Generic ;
using System . Linq ;
using System . Text ;
using System . Threading . Tasks ;
//namespace 命名空间的名称 定义一个命名空间
namespace _01_ 项目基本结构
{
//internal 访问修饰符 , 设置类能被访问的范围
//class 创建一个类 , 类名是 "Program
namespace _02_ 项目基本结构 {
class Student
{
}
控制台相关常用方法
namespace _02_ 控制台相关常用方法
{
internal class Program
{
static void Main ( string [] args )
{
Console . WriteLine ( " 控制台输出一段内容 " );
// 通过控制台扬声器播放提示音
//Console.Beep();
// 如果 () 中写一个 true, 表示不在控制台显示按下的字符
//Console.ReadKey(true);
//Console.WriteLine(" 用户按下了一个键 ");
// 获取用户输入的一行文本 ( 输入之后敲回车 , 才算输入一行内容 )
//Console.ReadLine();
//Console.WriteLine(" 用户输入了一行内容 , 并且按下了回车 ");
// 输出一段内容并换行
Console . WriteLine ( " 输出内容 " );
Console . WriteLine ( " 输出内容 " );
// 输入一段内容 ( 不会换行 ) \n 表示换行
Console . Write ( " 输出内容 \n" );
Console . WriteLine ( " 获取当前控制台的背景颜色 " );
// 用于获取控制台的背景色
Console . WriteLine ( Console . BackgroundColor );
// 用于设置控制台的背景色
Console . BackgroundColor = ConsoleColor . Red ;
Console . WriteLine ( " 获取当前控制台的前景色 ( 字体颜色 )" );
// 获取字体颜色
Console . WriteLine ( Console . ForegroundColor );
Console . ForegroundColor = ConsoleColor . Yellow ;
C# 标识符
标识符是用来识别类、变量、函数或任何其它用户定义的项目。(通俗的说就是类名、变量名、函数
名等)在 C# 中,命名必须遵循如下基本规则:
1. 标识符由字母、数字、下划线( _ )组成。
2. 标识符必须以字母、下划线或 @ 开头,后面可以跟一系列的字母、数字( 0 - 9 )、下划线( _
)、 @
3. 标识符中的第一个字符不能是数字。
4. 标识符必须不包含任何嵌入的空格或符号,比如 ? - +! # % ^ & * ( ) [ ] { } . ; : " ’ / \
5. 标识符不能是 C# 关键字。除非它们有一个 @ 前缀。 例如, @if 是有效的标识符,但 if 不是,因
if 是关键字。
6. 标识符必须区分大小写。大写字母和小写字母被认为是不同的字母。
7. 不能与 C# 的类库名称相同
C# 关键字
变量和常量
变量
变量就是对程序中某个数据的引用 , 比如 : name 表示一个名字 , x 表示一个数值 .....
变量在程序中只是一个存储数据的地方 , 每一个变量都有一个特定的类型 , 类型决定了变量所
占用的内存空间的大小
常用的类型 :int double bool string char
变量的赋值
int i1 ;
// 使用 = 赋值 (= 赋值运算符 )
// = 右边的值赋值给 = 左边的变量
i1 = 10 ;
// 没有双引号就表示使用该变量存储的值
Console . WriteLine ( i1 );
// 有双引号表示输出 "" 里面的内容
Console . WriteLine ( "i1" );
// 如果变量被再次赋值 , 那么将会将之前保存的值丢失 , 重新保存新的值
i1 = 20 ;
Console . WriteLine ( i1 );
声明变量并赋值
可以在定义变量的时候直接给变量赋值
int i2 = 10 ;
Console . WriteLine ( i2 );
// Console.WriteLine(i3);
// 可以同时定义多个同类型的变量
int i3 , i4 , i5 ;
// 同时定义多个同类型的变量并赋值
int i6 = 100 , i7 = 50 ;
数据类型
C# 中,变量分为以下几种类型:
值类型 ( 基本数据类型 ) Value types
引用类型( Reference types
数据类型
C# 中,变量分为以下几种类型:
值类型 ( 基本数据类型 ) Value types
引用类型( Reference types
分类
数值类型
整数数值类型
有符号数: sbyte,int,short,long
无符号数: byte,ushort,ulong,unit
小数数值 ( 浮点数 ) 类型
单精度 float ,赋值时,要加 f
双精度 double
布尔类型
关键字: bool
内容: true/false
字符类型
关键字: char char c = 'a'; 枚举类型
引用类型( Reference types
引用类型不包含存储在变量中的实际数据,但它们包含对变量的引用。
换句话说,它们指的是一个内存位置。使用多个变量时,引用类型可以指向一个内存位置。如果内存位
置的数据是由一个变量改变的,其他变量会自动反映这种值的变化。内置的 引用类型有: object
dynamic string
对象( Object )类型
object 是所有类型的父类型,也就是说, object 可以存储任意的数据类型 , 对象是 C# 中所有数据类型的终
极基类 ( 父类 )
字符串( String )类型
字符串( String )类型 允许您给变量分配任何字符串值。字符串( String )类型是 System.String 类的别
名。它是从对象( Object )类型派生的。字符串( String )类型的值可以通过两种形式进行分配:引号
@ 引号。
动态 (dynamic) 类型
// string 字符串类型 用于存储多个字符
// 需要使用 "" @"" $"" 包裹
// \n 换行 \t 空格
string name1 = " \n \t " ;
Console . WriteLine ( name1 );
// 字符串中有一些字符不能直接使用 比如 \n 会被解析成换行 \t 会被解析成空格
// 需要使用 \ 进行转义
string str = "\\n 换行 \\t 空格 \"" ;
Console . WriteLine ( str );
//@"" 创建的字符串可以不需要使用转义字符就可以显示这些特殊的字符 ( 写啥就是啥 )
// " 比较特殊 需要使用 "" 进行表示
string name2 = @"某 \n某 \t某 """"" ;
Console . WriteLine ( name2 );
数据类型的区别
栈内存和堆内存
概念
(Heap) :在 c 里面叫堆,在 c# 里面其实叫托管堆。
(Stack) :就是堆栈,简称栈。
托管堆:
托管堆不同于堆,它是由 CLR (公共语言运行库 (Common Language Runtime) )管理,当堆中满了之
后,会自动清理堆中的垃圾。所以,做为 .net 开发,我们不需要关心内存释放的问题。
栈区的特性:先进后出 入栈的时候是 123 按顺序入的,那么出栈的时候就是 321 按顺序出。
当一个栈结束时会把存在栈中的数据依次出栈。
内存堆栈:存在内存中的两个存储区(堆区,栈区)。
      栈区:存放函数的参数、局部变量、返回数据等值,由编译器自动释放
      堆区:存放着引用类型的对象,由 CLR 释放
}
}
// 驼峰命名法 user name
// 大驼峰 UserName 从第一个单词开始 首字母大写
// 小驼峰 userName 从第二个单词开始 首字母大写
// 下划线命名法
//user_name
// 在命名空间 (namespace) 中使用 class 定义一个类 , 类的名字使用大驼峰命名法
// : 不是对象 是对象的模版 就像我们平常所说的 " 人类 " 不是一个人 而是 " " 的模版
class Student
{
// 类的内部的东西 我们称之为类的成员 ( 属性 )
// 声明一个类的成员的格式 : public 成员的类型 成员的名称 ( 一半也使用大驼峰命名法 )
public string Name ;
public int Age ;
public char Sex ;
}
}
堆是一块内存区域,在堆里可以分配大块的内存用于存储某类型的数据对象。与栈不同,堆里的内存能
够以任意顺序存入和移除,除了 string 先进先出。虽然程序可以在堆里保存数据,但并不能显式地删除
它们。 CLR 的自动 GC Garbage Collector ,垃圾收集器)在判断出程序的代码将不会再访问某数据项
时,自动清除无主的堆对象。
值类型和引用类型的区别
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值