文章目录
- .NET
- C# (C Sharp)的特点
- C# 的应用范围
- .NET Framework
- 1.2 创建简单的C#程序
- 结构和书写规则
- 类型的声明和使用
- 类型的声明和使用
- 命名空间
* - 使用方法
- 命名空间举例
- 注释
- Main方法
* - 命令行参数
- Main返回值
- 控制台输入和输出
* - 例子
–
.NET
由微软公司提供的免费、跨平台的开源通用开发平台,可用于开发许多不同类型的应用,如:Web,移动设备,PC桌面端等
C# (C Sharp)的特点
- 是一种现代的、简洁而类型安全的面向对象编程语言
- C#源于C 语言系列,采用与C、C++或Java一致的花括号({和})语法
- 能与.NET Framework完美结合
C# 的应用范围
- 控制台应用
- 桌面应用
- UWP应用
- Web应用开发:ASP.NET、Web服务等
- Windows Presentation Foundation(WPF)应用程序开发
- 跨平台:移动应用、智能手机应用开发
- Windows服务
……
.NET Framework
- C# 程序在 .NET Framework 上运行
- .NET Framework是一个开发和运行环境,可以使不同的编程语言(如C#、VB.net等)和运行库能够无缝地协同工作,简化开发和部署各种网络集成应用程序或独立应用程序
; 1.2 创建简单的C#程序
- 引用命名空间
- 定义命名空间
- 自定义类
- 定义静态Main方法
- 调用Console类的静态方法输出
02
03 using System;
04 namespace CSharpBook. Chapter01
05 {
06 class HelloWorld
07 {
08 static void Main()
09 {
10 Console.WriteLine("Hello World!");
11 }
12 }
13 }
结构和书写规则
; 类型的声明和使用
声明类的基本语法为:
[类修饰符] class 类名
{
类体
}[;]
声明字段和方法:
[字段修饰符] 类型 字段名
[方法修饰符] 返回值类型 方法名 ([形参列表])
{
方法体
}[;]
类名 对象名= new 类名 ([参数表]);
对象名.属性
对象.方法名([实参列表])
类型的声明和使用
using System;
namespace CSharpBook.Chapter01
{
public class Point
{
public int x, y;
public Point(int x, int y)
{
this.x = x; this.y = y;
}
public double Distance(Point p)
{
return Math.Sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y));
}
}
class PointTest
{
static void Main()
{
Point p1 = new Point(0, 4);
Point p2 = new Point(3, 0);
double dist = p1.Distance(p2);
Console.WriteLine("点p1的坐标为:(" + p1.x + "," + p1.y + ")");
Console.WriteLine("点p2的坐标为:(" + p2.x + "," + p2.y + ")");
Console.WriteLine("两点之间的距离为:" + dist); Console.ReadKey();
}
}
}
命名空间
- C#程序是利用命名空间组织起来的。为了有效地组织C#程序中的类型并保证其唯一性,C#引入了命名空间的概念,从而最大限度地避免类型重名错误。
- 命名空间是一种逻辑组合。C#程序中类型由指示逻辑层次结构的完全限定名(fully qualified name)描述。例如,CSharpBook. Chapter01. HelloWorld表示CSharpBook命名空间的子命名空间Chapter01中的HelloWorld类
- 声明格式如下:
*
namespace 命名空间名称
- 一个源程序文件中可以包含多个命名空间;同一命名空间可以在多个源程序文件中定义。命名空间可以嵌套。同一命名空间中不允许定义重名的类型
使用方法
- 访问命名空间:[.].类型
using 命名空间 可以非限定方式直接引用该命名空间中的类型 - 命名空间别名:using 别名 = 命名空间或类型名;
分别用”别名::类型”,”别名.方法”进行调用 - 全局命名空间:使用全局命名空间限定符global::
命名空间举例
using AliasNS = System;
using AliasClass = System.Console;
namespace CSharpBook.Chapter01
{
class AliasNSTest
{
static void Main()
{
AliasNS::Console.WriteLine("Hi 2");
AliasClass.WriteLine("Hi 4");
AliasClass.ReadKey();
}
}
}
using System;
namespace CSharpBook.Chapter01
{
class GlobalNSTest
{
public class System { }
const int Console = 7;
const int number = 66;
static void Main()
{
global::System.Console.WriteLine(number);
global::System.Console.ReadKey();
}
}
}
注释
- C#使用传统的C风格注释方式
单行注释使用”// … ”
多行注释使用”/ … /”
内联注释:多行注释放在一行代码中,该行中置于”/“和”/”字符之间 - XML文档注释
以3个斜杠(///)开头的单行注释
Main方法
- Main方法声明
- C#的可执行程序必须包含一个Main方法,用于控制程序的开始和结束
- C#中所有的Main方法都是静态的,使其不必依赖于类的实例对象而执行
- 如果有多个Main方法,可以使用/main选项,其后跟Main方法所属类的全名(包括命名空间),明确告诉编译器将哪个方法作为程序的入口点
; 命令行参数
Main方法的参数是表示命令行参数的String数组
通过测试args.Length属性来检查参数是否存在
args[0]表示第一个参数,args[1]表示第二个参数
Main返回值
Main方法可以是void类型,也可以返回整型值int。如不需Main返回值,可用void使代码变简洁
控制台输入和输出
- System.Console类
表示控制台应用程序的标准输入流、输出流和错误流 - 格式化输出:
Console.WriteLine(复合格式字符串, 输出对象列表); - System. Console类常用方法
; 例子
using System;
namespace CSharpBook.Chapter01
{
class ConsoleIO
{
static void Main(string[] args)
{
Console.Clear();
Console.Write("请输入您的姓名:");
String s = Console.ReadLine();
Console.Beep();
Console.WriteLine("欢迎您!" + s);
Console.Read();
}
}
}
格式化
using System;
namespace CSharpBook.Chapter01
{
class ComFormat
{
static void Main(string[] args)
{
Console.WriteLine("{0:C3}", 12345.6789);
Console.WriteLine("{0:D8}", 12345);
Console.WriteLine("{0:E10}", 12345.6789);
Console.WriteLine("{0:F3}", -17843);
Console.WriteLine("{0:00000.000}", 123.45);
Console.WriteLine("{0:#####.###}", 123.45);
DateTime date1 = new DateTime(2014, 4, 10, 6, 30, 0);
Console.WriteLine(date1.ToString("yyyy/MM/dd hh:mm:ss"));
Console.ReadKey();
}
}
}
Original: https://blog.csdn.net/weixin_51422230/article/details/127681857
Author: 醉卧考场君莫笑
Title: .net技术第一章
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/657036/
转载文章受原作者版权保护。转载请注明原作者出处!