DotNet的基本认识
微软官网:https://dotnet.microsoft.com/zh-cn/
C#与DotNet
-
DotNet
- DOTNET就是.NET, 严格说是:.NET Framework框架 。.NET是一个微软开发的编程环境,里面可以使用C#,VB等多种编程语言 -
C#
-. NET
是一个微软开发的编程环境,里面可以使用C#,VB等多种编程语言。
这些较为官方的定义都可以百度到,自行百度,我这里只做一个大概的的比喻来理解
- 第一,
.Net
也就是DotNet就是一个平台,这里比作Steam游戏平台 - 第二,
C#
就是众多游戏中的一位,依托于平台运行
C# 基础
概述
C#
是一种安全的,稳定的,简单的,优雅的 ,由C
和C++
衍生出来的面向对象的语言
程序结构
//命名空间声明
using System;
namespace TestTwo
{
//类声明
internal class Class2
{
//Main方法,也是C# 程序的入口点
static void Main()
{
/* 我的第一个 C# 程序*/
Console.WriteLine("Hello World");
Console.ReadKey();
}
}
}
基本数据类型
类型 | 例子 |
---|---|
常用整数类型 | byte short int long |
对比Java新增整数类型 | sbyte unint ulong ushort |
浮点类型 | float double |
十进制 | decimal |
布尔值 | bool |
对上面的表格做出说明:
docimal
是对比Java新增的一个基本类型,它的主要特点就是精度高,长度是不比double
长的,double的长度为(+/-)5.0 x 10-324 到 (+/-)1.7 x 10308
,docimal
的长度为(-7.9 x 1028 到 7.9 x 1028) / 100 到 28
,此外float
的长度为-3.4 x 1038 到 + 3.4 x 1038
- 新增的整数类型都是无符号的,也就是都是 >=0 的数
- 以下是部分基本类型的举例:
bool flag = false;
decimal d = 13.14M;
sbyte b = 127;
ushort s = 65535;
uint i = 4294967295;
ulong l = 18446744073709551615;
分支语句以及循环语句
- 分支语句
//if语句
String name = "Mike";
if(name == "Mike")
{
Console.WriteLine("我是:{0}",name);
}
else
{
Console.WriteLine("我不是Mike");
}
//swich语句
switch (number)
{
case 1 :
Console.WriteLine(1);
break;
case 2:
Console.WriteLine(2);
break;
/* 您可以有任意数量的 case 语句 */
default: /* 可选的 */
Console.WriteLine("默认");
break;
}
- 循环语句
//班级找张三
public static String Search(String str)
{
int i = 0;
String[] students = new String[] { "张三","李四","王五","赵六","田七","周八"};
//for循环实现
for(int i = 0; i < students.Length; i++)
{
if (str.Equals(students[i]))
{
return students[i];
}
}
//while循环实现
String student = "";
while (!student.Equals(str))
{
if (i >= students.Length)
{
Console.WriteLine("没有找到要找的人");
break;
}
string v = students[i];
student = v;
i++;
}
//do while循环实现
do
{
i++;
if (i >= students.Length)
{
Console.WriteLine("没有找到要找的人");
break;
}
string v = students[i];
student = v;
} while (!student.Equals(str));
return i >= students.Length ? "没有找到": student;
}
数组的简单使用
using System;
namespace ArrayApplication
{
class MyArray
{
static void Main(string[] args)
{
int [] n = new int[10]; /* n 是一个带有 10 个整数的数组 */
int i,j;
/* 初始化数组 n 中的元素 */
for ( i = 0; i < 10; i++ )
{
n[ i ] = i + 100;
}
/* for循环输出每个数组元素的值 */
for (j = 0; j < 10; j++ )
{
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
/* foreach输出每个数组元素的值 */
foreach (int j in n )
{
int i = j-100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
Console.ReadKey();
}
}
}
一些关键词的解释
-
命名空间
- 命名空间的设计目的是提供一种让一组名称与其他名称
分隔开
的方式。在一个命名空间中声明的类的名称与另一个命名空间中声明的相同的类的名称不冲突
- 命名空间的设计目的是提供一种让一组名称与其他名称
-
面向对象
C#
是面向对象的语言,那什么是面向对象
呢,我个人的理解是对于一件事的代码处理方法不同,比如典型的把大象放到冰箱里,面向对象的处理方法就是,建立大象类,冰箱类,放入者类等,然后在这里类中定义行为和属性,这样来处理问题,与之相对的面向过程
,拆分为几个步骤,把门打开,放进去,关上门等
-
方法
- 一个方法是把一些相关的语句组织在一起,用来执行一个任务的
语句块
,每一个 C# 程序至少有一个带有 Main 方法的类
- 一个方法是把一些相关的语句组织在一起,用来执行一个任务的
有待补充…
备注:本人之前学过Java,所以记的比较简略
详细学习推荐 :C#/.Net 6 零基础