.NET C# 学习 C#环境解析 C#基本数据类型 & 引用数据类型(JAVA对比学习) DAY2

安装 C# 的编译器(学JAVA的可以了解原理,初学者可以跳过)

csc.exe 是 C# 的编译器,直接用 VisualStudio 用 .NET 先 build 后 run 心里总是不踏实,学习 C# 难道不应该是循序渐进的嘛

第一步:安装.Net Framework

别着急,你电脑里边可能就有 .Net Framework 这玩意

  • 搜索 Windows10 控制面板
  • 点击程序和功能

image.png

  • 勾选

image.png

  • 看看文件夹是不是有这个应用程序

image.png

  • 把这个加入到全局变量中(和 JAVA JDK 全局变量一样)

image.png

Hello Word

打开我们的VSCode编辑器,我选择的是VSCode,可以直接用文本编辑。

创建一个文件Day2.cs

using System;

namespace HelloWorld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World");
        }
    }
}

DOS窗口运行:

csc .\Day2.cs

出现

image.png

源文件中出现一个 exe 文件

image.png

运行这个exe文件,OK你的 Hello World 就运行成功了。

image.png

创建控制台项目(学习时候适用)

命令行方式创建:

1. 创建项目:创建文件夹作为你的项目,在终端中运行以下命令初始化一个新的C#项目

dotnet new console

image.png

2、编译和运行

dotnet build 
dotnet run

image.png

image.png

3、Program.cs

这个文件就是你要编写的代码。

VisualStudio创建项目

image.png

一个解决方案可以有多个项目(同一套环境可以创建多个项目)

image.png

项目上右键生成就可直接编译(也就是 dotnet build ),下图为编译好的项目

image.png

dll文件和exe文件都是编译好的类和程序,dll文件和exe文件的区别就是exe有main的主入口,dll没有。json不用多说了吧,配置啥的。

大概原理就是这样,想要在细致的了解,建议直接看官方文档。

语法

总体来看和JAVA的差别不大

结构体

//引用System命名空间
using System;

//声明命名空间 一个命名空间可以包含多个类
namespace HelloWorld
{
    //声明一个类
    class Program
    {
        //main方法是C#程序的切入点
        static void Main(string[] args)
        {
            //打印语句
            System.Console.WriteLine("Hello World nihao");
        }
    }
}
 

基本数据类型

自己理解 : java中式存储在栈的方法区的常量池中,C#差不多,也就是存储在栈中的的数据。

就是凡是struct、enum 类型的都是值类型。

以下类型为比较常用的类型,源码都是 struct 类型

// 声明 char 初始值为null
char? char1;

// 声明 char 初始值为'\0'
char char2;

// 声明 char 初始值为'a'
char char3 = 'a';

// 声明 byte 初始值为null
byte? byte1;

// 声明 byte 初始值为0
byte byte2;

// 声明 byte 初始值为1
byte byte3 = 1;

// 声明 short 初始值为null
short? short1;

// 声明 short 初始值为0
short short2;

// 声明 short 初始值为1
short short3 = 1;

// 声明 int 初始值为null
int? int1;

// 声明 int 初始值为0
int int2;

// 声明 int 初始值为1(整数默认都是int)
int int3 = 1;

// 声明 long 初始值为null
long? long1;

// 声明 long 初始值为0L
long long2;

// 声明 long 初始值为1L
long long3 = 1L;

// 声明 float 初始值为null
float? float1;

// 声明 float 初始值为0.0F
float float2;

// 声明 float 初始值为1.22F
float float3 = 1.22F;

// 声明 double 初始值为null
double? double1;

// 声明 double 初始值为0.0D
double double2;

// 声明 double 初始值为1.33 (小数默认都是double)
double double3 = 1.333D;

// 声明 decimal 初始值null
decimal? decimal1;

// 声明 decimal 初始值0.0M
decimal decimal2;

// 声明 decimal 初始值1.1M
decimal decimal3 = 1.1M;

// 声明 bool 初始值为null
bool? bool1;

// 声明 bool 初始值为false
bool bool2;

// 声明 bool 初始值为true
bool bool3  = true;·

// 很意外的一个DateTime
// java是引用数据类型  .net是值数据类型
// 这个在网上了解了一下 是C#的优化,而且比java的性能提高很多。
DateTime y = DateTime.Now;

引用数据类型

顾名思义,凡是存储在堆中,需要程序指向引用的都是引用数据类型。

至于什么是堆,引用是什么? 百度

String

// 声明字符串 初始值null
string s1;

// 声明字符串
string s2 = "is le le";

// 插值字符串 $ {}
string s3 = $"my mame {s2}";
Console.WriteLine(s2);// is le le
Console.WriteLine(s3);// my mame is le le

// 插入数字
Console.WriteLine($"这是数字:{500}");//这是数字:500
// 货币
Console.WriteLine($"这是数字:{500:c}");//这是数字:¥500.00
// 默认小数点后保留两位
Console.WriteLine($"这是数字:{3.1415926535:f}");//这是数字: 3.14
// 小数点后保留4位
Console.WriteLine($"这是数字:{3.1415926535:f4}");//这是数字: 3.1416

//转义
string str = @"C:\Windows";

Object

Object o = new Object();

指针

char* c;

觉得作者写的不错的,值得你们借鉴的话,就请点一个免费的赞吧!这个对我来说真的很重要。૮(˶ᵔ ᵕ ᵔ˶)ა

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值