C#学习笔记 - C#基础知识 - C#从入门到放弃

C#

  • 第1节 C# 简单介绍
    • 1.1 C# 是什么
    • 1.2 C# 强大的编程功能
    • 1.3 C# 发展史
    • 1.4 C#与Java区别
  • 第2节 C#程序结构
    • 2.1 'Hello world'
    • 2.2 C# 结构解析
  • 第3节 C#基本语法
    • 3.1

第1节 C# 简单介绍

1.1 C# 是什么

C# 的发音为“C Sharp”,是一门由微软开发并获得了 ECMA(欧洲计算机制造商协会)和 ISO(国际标准组织)批准的现代的、通用的、面向对象的编程语言。

C# 之所以能称为一门被广泛应用的编程语言,原因有以下几点:

  • C# 是一种现代的通用的编程语言;
  • C# 是面向对象的; C# 是面向组件的;
  • C# 简单易学;
  • C# 是一种结构化语言;
  • 使用 C# 开发效率很高;
  • C# 可以在各种计算机平台上进行编译;
  • C# 是 .Net Framework 的一部分。

1.2 C# 强大的编程功能

一开始没接触C#的时候,我觉得它可能跟C、C++语言相似,后来发现一点也不像???它与 Java 非常相似,有很多强大的编程功能:

以下是 C# 的一些重要功能的列表:

  • 布尔条件;
  • 自动垃圾回收;
  • 标准库;
  • 组件版本;
  • 属性和事件;
  • 委托和时间管理;
  • 易于使用的泛型;
  • 索引器;
  • 条件编译;
  • 简单的多线程;
  • LINQ 和 Lambda 表达式;
  • 集成 Windows。

借助 C# 编程语言,我们可以开发不同类型且安全可靠的应用程序,例如:
1、桌面应用程序;
2、网络应用程序;
3、分布式应用程序;
4、Web 服务应用程序;
5、数据库应用程序等。

1.3 C# 发展史

在这里插入图片描述

1.4 C#与Java区别

在这里插入图片描述

第2节 C#程序结构

2.1 ‘Hello world’

“Hello, World”程序历来都用于介绍编程语言。 下面展示了此程序的 C# 代码:

using System;class Hello
{static void Main(){Console.WriteLine("Hello, World");}
}

输出:

Hello, World

“Hello, World”程序始于引用 System 命名空间的 using 指令。 命名空间提供了一种用于组织 C# 程序和库的分层方法。命名空间包含类型和其他命名空间。例如,System 命名空间包含许多类型(如程序中引用的 Console 类)和其他许多命名空间(如 IOCollections)。 借助引用给定命名空间的 using 指令,可以非限定的方式使用作为相应命名空间成员的类型。 由于使用 using 指令,因此程序可以使用 Console.WriteLine 作为 System.Console.WriteLine 的简写。

“Hello, World”程序声明的 Hello 类只有一个成员,即 Main 方法。 Main 方法使用 static 修饰符进行声明。 实例方法可以使用关键字 this 引用特定的封闭对象实例,而静态方法则可以在不引用特定对象的情况下运行。 Main 静态方法是 C# 程序的入口点

程序的输出是由 System 命名空间中 Console 类的 WriteLine 方法生成。 此类由标准类库提供。默认情况下,编译器会自动引用标准类库。

2.2 C# 结构解析

有如下一个C# 程序代码:

using System;
namespace c.biancheng.net
{class Program{static void Main(string[] args){/*第一个C#程序*/Console.WriteLine("Hello World!");Console.ReadKey();}}
}

在次程序中:
1、 using System;
using 关键字用来在程序中引入 System 命名空间,一个程序中可以有多个 using 语句。
2、namespace c.biancheng.net
namespace 关键字用来声明一个命名空间,“c.biancheng.net”则是命名空间的名字。命名空间是类的集合,上面代码中名为“c.biancheng.net”的命名空间中包含了一个名为“Program”的
3、class Program
class 关键字用来定义一个类,“Program”则是类的名,类中通常用来存放程序中要使用的数据和函数(也叫方法)。
4、static void Main(string[ ] args)
此行代码中,Main 为定义的函数名称,Main 函数是整个 C# 程序的入口,其中包含了程序运行时需要执行的操作。static 和 void 都是用来修饰 Main 函数的关键字,具体含义后面我们会详细介绍。
5、 / 第一个C#程序 /
这是程序的注释,当程序运行时被/* */包裹的内容将被编译器忽略,不会执行。注释主要用来对所写的代码进行说明。
6、Console.WriteLine(“Hello World!”);
此行代码用来在命令行窗口中输出“Hello World!”。WriteLineSystem 命名空间中定义的 Console 类里面的方法,用来输出一些消息。
7、Console.ReadKey( );
此行代码是针对 VS.NET 用户的,它会使程序进入等待状态,敲击键盘上的任意一个按键即可让程序继续运行。需要这行代码是因为命令行窗口会在程序运行结束后自动关闭,导致要输出的内容一闪而过,加入此行代码则可以避免这种情况。

另外,还有以下几点需要注意:
1、C# 区分大小写;
2、所有语句和表达式都必须以英文的分号;结尾;
3、程序从 Main 函数开始执行;
4、与 Java 不同,程序文件名可以与类名不同;
5、代码中出现的{}都是成对出现的,用来标记代码块,{ }中包裹的代码可以看作是一个整体。

第3节 C#基本语法

3.1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/218894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【算法通关村】链表反转经典问题解析

🚩本文已收录至算法学习之旅 一.基础反转 我们通常有两种方法反转链表,一种是直接操作链表实现反转操作,一种是建立虚拟头节点辅助实现反转操作。 力扣习题链接:206. 反转链表 (1) 直接操作实现反转 我们需要一个变量pre来保…

Jmeter接口自动化测试 —— Jmeter变量的使用

​在使用jmeter进行接口测试时,我们难免会遇到需要从上下文中获取测试数据的情况,这个时候就需要引入变量了。 定义变量 添加->配置元件->用户自定义的变量 添加->配置元件->CSV 数据文件设置 变量的调用方式:${变量名} 变量的…

课上复制。。。。

文件权限的管理。 (1)创建目录 test ,进入 test 目录,创建普通文件 test . txt 。 root localhost # mkdir / Test [ root localhost ]# touch / Test / test . txt (2)为 test . txt 设置权限,使得任何人对这个文…

Qt6.5类库实例大全:QWidget

哈喽大家好,我是20YC小二!欢迎扫码关注公众号,现在可免费领取《C程序员》在线视频教程哦! ~下面开始今天的分享内容~ 1. QWidget介绍 QWidget 是 Qt 框架中的一个核心类,用于创建图形用户界面(GUI)应用程序的基本可视…

FS sip/sdp

fs主要的信令是sip,sip默认的端口是5060 软电话bria sip的官网:https://www.sipforum.org/ sip协议是信令协议,用于建立会话,它需要其他协议配合使用,比如rtp协议,用来传输数据。sdp协议,用来描述媒体信息 web的sip软电话:https://flashphoner.com/ 25个常用免费SIP软…

Abaqus许可证错误代码问题

在使用Abaqus工程设计和仿真软件时,您可能会遇到许可证错误代码问题。这些问题可能会让您感到困惑和无助,为了帮助您解决这些问题,我们特别撰写了这篇文章,以提供全面、有效的解决方案。 一、Abaqus许可证错误代码问题及原因 1.…

iic应用篇

一.iic的优点 1. IIC总线物理链路简单,硬件实现方便,扩展性非常好(1个主机控制器可以根据需求增加从机数量,同时删减从机数量也不会影响总线通信);IIC总线只需要SDA和SCL两条信号线,相比于PCI/…

融了超24亿一分钱不花,放银行吃利息,这家存储创企厉害了

​引言:AI与大模型风起云涌,催生了这匹存储“黑马” 【全球存储观察 | 科技热点关注】 这家总部设在美国的存储初创公司,真的赶上AI与大模型时代的风口了。Vast Data公司最新再次获得E轮融资1.18亿美元,但是这个存储…

【MySQL】:表的约束(上)

表的约束 一.非空约束二.default约束三.列描述四.zerofill五.主键1.单个主键2.复合主键 真正约束字段的是数据类型,但是数据类型约束很单一,需要有一些额外的约束,更好的保证数据的合法性,从业务逻辑角度保证数据的正确性。比如有…

TrustGeo代码理解(一)main.py

代码链接:https://github.com/ICDM-UESTC/TrustGeo 一、导入各种模块和数据库 # -*- coding: utf-8 -*- import torch.nnfrom lib.utils import * import argparse, os import numpy as np import random from lib.model import * import copy from thop import p…

sillyGirl(傻妞机器人)安装以及对接go-cqhttp(2023年12月)

目录 编写的原因 下载傻妞 注意!!注意!!!注意!!!! 同样的下载go-cqhttp 安装以及配置 go-cqhttp 下载screen 创建go-cqhttp窗口 创建sillyGirl窗口 常见错误 编写…

Python玩转PDF:几招搞定的高效操作方法

更多资料获取 📚 个人网站:ipengtao.com 当在Python中操作PDF时,有几种常见的方法,每种方法都有其独特的优点和用例。在本文中,我们将深入探讨这些方法,并提供丰富的示例代码,以帮助大家更好地…

​multiprocessing.shared_memory --- 可跨进程直接访问的共享内存​

源代码: Lib/multiprocessing/shared_memory.py 3.8 新版功能. 该模块提供了一个 SharedMemory 类,用于分配和管理多核或对称多处理器(SMP)机器上进程间的共享内存。为了协助管理不同进程间的共享内存生命周期,multiprocessing.m…

Linux具体命令(二)

1.ls Linux的ls命令是用来列出指定目录下的文件和子目录的命令。该命令在Linux和Unix系统中广泛使用,是一个非常基础且重要的命令行工具。执行ls命令时,它会显示指定目录下的所有文件和子目录的名字,如果是根目录,则默认显示当前…

Java 多线程按顺序执行输出

比如三个线程分别打印 A,B,C,顺序执行5次,最后输出ABCABCABCABCABC 主要依赖线程的join方法 实现代码如下: package com.cn.springboot.bootdemo.controller;import org.springframework.web.bind.annotation.RestC…

查询指定节点和对应的父节点

查询指定节点和对应的父节点 WITH RECURSIVE cte AS (SELECT id, parent_id FROM xxx_dir WHERE id 2 -- 当前节点的 IDUNION ALLSELECT t.id, t.parent_id FROM xxx_dir t JOIN cte c ON t.id c.parent_id ) SELECT DISTINCT id, parent_id FROM cte;

「Verilog学习笔记」可置位计数器

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1nsmodule count_module(input clk,input rst_n,input set,input [3:0] set_num,output reg [3:0]number,output reg zero);reg [3:0] cnt ; always (posed…

3-分布式存储之Ceph

任务背景 虽然使用了分布式的glusterfs存储, 但是对于爆炸式的数据增长仍然感觉力不从心。对于大数据与云计算等技术的成熟, 存储也需要跟上步伐. 所以这次我们选用对象存储. 任务要求 1, 搭建ceph集群 2, 实现对象存储的应用 任务拆解 1, 了解ceph 2, 搭建ceph集群 3, 了…

深度学习 | Pytorch深度学习实践 (Chapter 12 Basic RNN)

十二、Basic RNN —— 实际上就是对线性层的复用 使用RNN最重要的两点: 了解序列数据的维度;循环过程所用的权重共享机制; 一般就是自己写个循环,权重层重复用就行了; 回顾:-----------------------------…

【源码复现】《Simple and Deep Graph Convolutional Networks》——GCNII模型

目录 1、论文简介2、论文核心介绍2.1、研究动机2.2、创新点2.3、具体实现2.3.1、初始残差链接2.3.2、恒等映射2.3.3、模型 3、源码复现3.1、Torch复现3.2、DGL复现 1、论文简介 论文题目——《Simple and Deep Graph Convolutional Networks》论文作者——Ming Chen&#xff0…