首页 > 编程语言 >c#随笔记01

c#随笔记01

时间:2023-03-06 22:02:46浏览次数:50  
标签:01 const 变量 c# 笔记 int WriteLine 类型 using

C#语言的特点

  • 不允许直接操作内存,去掉了指针操作。
  • 彻底的面向对象设计:封装、继承、多态
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace studyDaily
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("人因梦想而伟大");
            Console.WriteLine("             --雷军");
                Console.ReadLine();
        }
    }
}

image

C#命名空间

存储了不同类型物品的仓库,通过using指令获取所需物品

一种数据结构
可以封装数据成员、方法成员和其他的类
C#支持自定义类

使用类

先声明

class [类名]
{
   [类中的代码]
}

Main方法

一般是创建项目时自动生成的

  • 在类或结构内声明,必须是static的而不是公用public的。
  • 返回类型为:void或int
  • 可以包含命令行参数string[]args,也可以不包括

Console类

控制台应用程序的标准输入输出流和错误流

  • Read
  • ReadLine
  • Write
  • WriteLine

Read和ReadLine区别

  • Read:返回值为int类型,只能记录int类型的数据
  • ReadLine:返回值为string,可以将控制台输入的任何类型数据存储为字符串类型
    经常使用它俩固定控制台窗体

Write和WriteLine区别

  • Write:输出后不换行
  • WriteLine:输出后换行

代码规则

  • 尽量使用接口,然后使用类实现接口,以提高程序的灵活性
  • 生成和构建一个长字符串时,尽量使用StringBuilder类型而不是string类型
  • switch语句一定要有default语句来处理意外情况
  • 接口的名称前加前缀“I”
  • 方法命名为动宾短语
  • 定义成员变量时,最好加前缀“_”

变量

一种技术使用户能够方便地访问到二进制数据的内存地址
主要用来存储特定类型的数据,用户可以根据需要随时改变变量中所存储的数据值。

变量的声明及初始化

  • 对变量命名的过程就是声明一个变量
  • 变量在使用之前,必须进行声明并初始化
  • 变量的初始化实际上就是给变量赋值

成员变量

根据变量的“有效范围”将变量分为成员变量和局部变量

静态变量

class Test
{
	int x=45;
	static int y=90;
}
  • 在类体中定义的变量称为成员变量,成员变量在整个类中都有效。又分为静态变量和实例变量。x:实例变量
    类变量,在成员变量的类型前面加上关键字static
    静态变量的有效范围可以跨类,甚至可达到整个应用程序之内。可使用“类名.静态变量”的方式在其他类中使用

局部变量

局部变量的声明周期取决于方法,当方法被调用时,C#编译器为方法中的局部变量分配内存空间,当该方法的调用结束后,则会释放方法中局部变量占用的内存空间,局部变量也将被销毁。

数据类型

  • 值类型
  • 引用类型

值类型

  • 简单类型
  • 复合类型

简单类型

整数

整数表示方式

十进制、八进制(0开头)、十六进制(0x开头)

整数类型

  • sbyte:8位有符号整数 -128-127
  • short:16位有符号整数
  • int:32位有符号整数
  • long:64位有符号整数
  • byte:8位无符号整数 0-255
  • ushort:16
  • uint:32
  • ulong:64
    有符号可存正数与负数,无符号之恶能存放不带符号的整数

浮点

  • float:精确到7位数
  • double:精确到15-16位数
    包含小数点的数默认是double类型
float Sum=9.2f;
float Sum=9.2F;

浮点类型的变量默认值是0

  • decimal类型
    128位数据类型,精度可达28位。
    用于财务和货币计算
decimal Money=1.2m;

布尔

bool x=true;

字符

C#中使用Char类来表示,主要用来存储单个字符,占用16位(两个字节)的内存空间。

  • 用单引号表示
  • 双引号表示的是字符串
    Char类只能定义一个Unicode字符
Char类的使用

IsDigit:指示某个Unicode字符是否属于十进制数据类别
IsLetter:是否属于字母类别
IsLetterOrDigit:是属于字母还是十进制
IsLower:是否小写字母
IsNumber:
IsPunctuation:是否属于标点符号类型
IsSeparator:是否分隔符
IsUpper:是否大写字母
IsWhiteSpace:是否空白
Parse:将指定字符串的值转换为它的等效Unicode字符
ToLower:转小写
ToString:转字符串
ToUpper:转大写
TryParse:将字符串转Unicode

char a='a';
Console.WriteLine("IsLetter方法判断a是否为字母:{0}",Char.IsLetter(a));
转义字符
  • \n:回车换行
  • \t:横向跳到下一制表位置
  • \":双引号
  • \b:退格
  • \r:回车
  • \f:换页
  • \:反斜杠
  • \':单引号
  • \uxxxx:四位十六进制所表示的字符

复合类型

  • 枚举类型
  • 结构类型

引用类型

  • 预定义引用类型
  • 自定义引用类型

预定义引用类型

  • object
  • string

自定义引用类型

  • 数组
  • 接口
  • 委托

常量

程序运行过程中,值不能改变的量。

  • const
  • readonly

const

静态常量:在编译时就已经确定了的值
在声明时就进行初始化,而且之后不可以再进行更改

readonly

动态常量:可以进行动态赋值
只能在构造函数中赋值

const与readonly区别

  • const必须在声明时初始化,而readonly可以延迟到构造函数中初始化。
  • const在编译时就被解析,即将常量的值替换成了初始化的值,而readonly常量的值需要在运行时确定。
  • const可以在类或方法体中定义,而readonly只能在类中定义。

运算符

  • 自增自减
    ++x;--x;前置表示:x自身先加一或减一,其运算结果是自身修改后的值,再参与其他运算
    x--;x++;后置表示:自身加一或减一,运算结果是自身未修改的值。先参与其他运算,再自增自减1。
b=a++;

相当于:

b=a;
a++;
//先取值后自增
b=--a;

相当于:

--a;
b=a;

自增自减操作符只能作用于变量。
如果程序中不需要操作原来的值,可选用前置。
后置必须要先保存原来的值。

低精度类型自增

byte a=1;//创建byte变量a
a=a+1;//让a的值加1:无法将int数转换为byte

a+1的结果没进行强制类型转换时,结果是一个int值,无法直接赋值给byte变量

btye a=1;
a+=1;

数据类型转换

标签:01,const,变量,c#,笔记,int,WriteLine,类型,using
From: https://www.cnblogs.com/flyall/p/17185608.html

相关文章

  • Serializer高级用法之source和SerializerMethodField
    __str__实例化对象效果1:    __str__实例化对象效果2:    Serializer高级用法总结:    序列化中的source用法_1.重定义返回前端字段名:  ......
  • error: main.moc: No such file or directory
    error:main.moc:Nosuchfileordirectory这个错误通常是由于Qtmoc工具无法自动生成moc文件导致的。请确保以下几点:在.pro文件中正确地添加了相关的moc源文件qmake......
  • 73-企业级云服务阿里云-ECS建立网站案例
    云计算定义:云计算是一种按使用量付费的模式,这种模式提供可用的、便捷的、按需的网络访问,进入可配置的计算资源共享池(资源包括网络,服务器,存储,应用软件,服务),这些资源能够被快......
  • 10,docker基础之---Harbor+阿里云+本地镜像仓库
    什么是镜像仓库?存放着很多镜像的仓库。为什么要使用镜像仓库?例如我们之前使用的pull下载mysql镜像的时候下载的镜像就是存放在他人的镜像仓库之上,公司内部部署镜像仓库即可......
  • 构建之法阅读笔记01
        在第一章的学习中,我了解到了软件=程序+软件工程,程序,指的是源程序,也就是一行行代码,软件工程的核心部分是和软件开发活动相关的内容,还有一个推论就是软件企业=软件+商......
  • Could not install packages due to an EnvironmentError
    以selenium为例,直接在terminal里执行python3-mpipinstallselenium可能会出现权限不够的报错解决方法是,在安装代码后面加--userpython3-mpipinstallselenium-......
  • 动态树(Link Cut Tree)
    动态树(LinkCutTree)简介Link/CutTree是一种数据结构,我们用它来解决动态树问题。Link/CutTree又称\(Link-CutTree\),简称\(LCT\),但它不叫动态树,动态树是指一类问......
  • WARNING: A newer version of conda exists.
    问题已经win10下安装完anaconda之后,在新建一个Python虚拟环境的时候出现问题condacreate-npy3.6python=3.6报错==>WARNING:Anewerversionofcondaexists.<==......
  • ESC/POS命令集(转摘)
    ESC/POS命令集(转摘)切纸指令:发送:十六进制:1B694.1基本控制指令4.1.1ESC@[名称]初始化打印机[格式]ASCII码ESC@十六进制码1B40十进制码2764[描述......
  • 容斥定理 AtCoder——FizzBuzz Sum Hard
    题目传送门ProblemStatementFindthesumofintegersbetween 1 and N(inclusive)thatarenotmultiplesof Aor B.Constraints1≤N,A,B≤109 Allvalue......