.net技术第一章

文章目录

.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等)和运行库能够无缝地协同工作,简化开发和部署各种网络集成应用程序或独立应用程序
    .net技术第一章
    .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 }

结构和书写规则

.net技术第一章

.net技术第一章

; 类型的声明和使用

声明类的基本语法为:

[类修饰符] 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方法所属类的全名(包括命名空间),明确告诉编译器将哪个方法作为程序的入口点

.net技术第一章

; 命令行参数

Main方法的参数是表示命令行参数的String数组
通过测试args.Length属性来检查参数是否存在
args[0]表示第一个参数,args[1]表示第二个参数

.net技术第一章

Main返回值

Main方法可以是void类型,也可以返回整型值int。如不需Main返回值,可用void使代码变简洁

控制台输入和输出

  • System.Console类
    表示控制台应用程序的标准输入流、输出流和错误流
  • 格式化输出:
    Console.WriteLine(复合格式字符串, 输出对象列表);
  • System. Console类常用方法
    .net技术第一章

; 例子

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/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球