C# 编程新手入门, 看看你就会了!
liuian 2025-05-15 19:07 29 浏览
目录
C#简介
C#是由微软开发的一种面向对象的编程语言,它继承了C++的强大功能,同时提供了更简单易用的语法。C#主要用于开发:
- Windows桌面应用程序
 - Web应用程序
 - 移动应用程序
 - 游戏开发(Unity3D)
 - 企业级应用程序
 
开发环境搭建
- 下载安装Visual Studio(推荐使用Visual Studio Community版本)
 - 在安装时选择”.NET开发”工作负载
 - 安装完成后创建第一个控制台应用程序
 
基础语法
第一个C#程序
using System; 
namespace HelloWorld { 
class Program { 
  static void Main(string[] args) { 
    Console.WriteLine("Hello World!"); 
  } } } 基本语法规则
- 大小写敏感
 - 所有语句以分号(;)结束
 - 程序从Main方法开始执行
 - 花括号{}定义代码块
 
变量和数据类型
基本数据类型
 int number = 10; // 整数 
double price = 23.99; // 双精度浮点数 
char grade = 'A'; // 字符 
string name = "张三"; // 字符串 
bool isValid = true; // 布尔值 变量声明和初始化
int age; // 声明变量
string city = "北京"; //声明并初始化 
var count = 100; // var关键字(类型推断) // 自动推断为int类型 
var message = "Hello"; // 自动推断为string类型 运算符
算术运算符
 int a = 10; int b = 3; int sum = a + b; // 加法 
int diff = a - b; // 减法 
int product = a * b; // 乘法 
int quotient = a / b; // 除法
int remainder = a %b;// 取余 比较运算符
 bool isEqual = (a == b); // 等于 
bool notEqual = (a != b); // 不等于
bool greater = (a > b); // 大于 
bool less = (a < b); // 小于 控制流程
if-else条件语句
int score = 85; 
if (score >= 90) { 
  Console.WriteLine("优秀"); 
} else if (score >= 60) { 
  Console.WriteLine("及格"); }
else { 
  Console.WriteLine("不及格"); 
} switch语句
char grade = 'B'; 
switch (grade) {
  case 'A': Console.WriteLine("优秀"); break;
  case 'B': Console.WriteLine("良好"); break; 
  case 'C': Console.WriteLine("及格"); break; 
  default: Console.WriteLine("不及格"); break;
} 循环语句
 // for循环 
for (int i = 0; i < 5; i++) { 
  Console.WriteLine(#34;第{i+1}次循环"); } 
// while循环 
int count = 0; 
while (count < 3) { 
  Console.WriteLine("while循环"); 
  count++; } 
// foreach循环 
string[] fruits = {"苹果", "香蕉", "橙子"}; 
foreach (string fruit in fruits) {
  Console.WriteLine(fruit);
} 数组和集合
数组
// 声明并初始化数组 
int[] numbers = {1, 2, 3, 4, 5}; 
// 创建指定大小的数组 
string[] names = new string[3]; 
names[0] = "张三";
names[1] = "李四"; 
names[2] = "王五"; List集合
 using System.Collections.Generic; 
// 创建List集合 
List<string> cities = new List<string>(); 
// 添加元素 
cities.Add("北京"); 
cities.Add("上海"); 
// 访问元素 
Console.WriteLine(cities[0]); 
// 遍历集合 
foreach (string city in cities) {
  Console.WriteLine(city); 
} 面向对象编程基础
类的定义
 public class Student {
   // 字段 
   private string name; 
   private int age; 
   // 属性 
   public string Name { 
     get { return name; }
     set { name = value; } 
   } 
public int Age { 
  get { return age; } 
  set { age = value; } 
} 
// 构造函数 
public Student(string name, int age) {
  this.name = name; this.age = age; 
} 
// 方法 
public void Study() {
  Console.WriteLine(#34;{name}正在学习"); 
}
} 对象的创建和使用
// 创建对象 
Student student = new Student("张三", 18); 
// 访问属性 
Console.WriteLine(#34;姓名:{student.Name}"); 
Console.WriteLine(#34;年龄:{student.Age}"); 
// 调用方法 
student.Study(); 常用类库 字符串处理
string text = "Hello, C#"; 
// 字符串长度 
int length = text.Length; 
// 字符串分割
string[] words = text.Split(','); 
// 字符串替换 
string newText = text.Replace("Hello", "Hi"); 
// 字符串查找 
bool contains = text.Contains("C#"); 日期时间处理
 // 获取当前日期时间 
DateTime now = DateTime.Now; 
// 格式化日期 
string dateStr = now.ToString("yyyy-MM-dd"); 
// 日期计算
DateTime tomorrow = now.AddDays(1); 
DateTime nextMonth = now.AddMonths(1); 文件操作
 using System.IO; 
// 读取文件 
string content = File.ReadAllText("test.txt"); 
// 写入文件 
File.WriteAllText("output.txt", "Hello, C#"); 
// 检查文件是否存在 
总结
本教程介绍了C#编程的基础知识,包括:
- 基本语法和数据类型
 - 控制流程语句
 - 数组和集合的使用
 - 面向对象编程基础
 - 常用类库的使用
通过学习这些基础知识,你已经可以开始编写简单的C#程序了。要成为一名优秀的C#开发者,还需要: 
- 多练习,编写更多的代码
 - 学习更多高级特性(如委托、事件、LINQ等)
 - 了解.NET框架的其他组件
 - 实践实际项目开发
祝你学习愉快! 
相关推荐
- MySQL慢查询优化:从explain到索引,DBA手把手教你提升10倍性能
 - 
        
数据库性能是应用系统的生命线,而慢查询就像隐藏在系统中的定时炸弹。某电商平台曾因一条未优化的SQL导致订单系统响应时间从200ms飙升至8秒,最终引发用户投诉和订单流失。今天我们就来系统学习MySQL...
 
- 一文读懂SQL五大操作类别(DDL/DML/DQL/DCL/TCL)的基础语法
 - 
        
在SQL中,DDL、DML、DQL、DCL、TCL是按操作类型划分的五大核心语言类别,缩写及简介如下:DDL(DataDefinitionLanguage,数据定义语言):用于定义和管理数据库结构...
 
- 闲来无事,学学Mysql增、删,改,查
 - 
        
Mysql增、删,改,查1“增”——添加数据1.1为表中所有字段添加数据1.1.1INSERT语句中指定所有字段名语法:INSERTINTO表名(字段名1,字段名2,…)VALUES(值1...
 
- 数据库:MySQL 高性能优化规范建议
 - 
        
数据库命令规范所有数据库对象名称必须使用小写字母并用下划线分割所有数据库对象名称禁止使用MySQL保留关键字(如果表名中包含关键字查询时,需要将其用单引号括起来)数据库对象的命名要能做到见名识意,...
 
- 下载工具合集_下载工具手机版
 - 
        
迅雷,在国内的下载地位还是很难撼动的,所需要用到的地方还挺多。缺点就是不开会员,软件会限速。EagleGet,全能下载管理器,支持HTTP(S)FTPMMSRTSP协议,也可以使用浏览器扩展检测...
 
- mediamtx v1.15.2 更新详解:功能优化与问题修复
 - 
        
mediamtxv1.15.2已于2025年10月14日发布,本次更新在功能、性能优化以及问题修复方面带来了多项改进,同时也更新了部分依赖库并提升了安全性。以下为本次更新的详细内容:...
 
- 声学成像仪:泄露监测 “雷达” 方案开启精准防控
 - 
        
声学成像仪背景将声像图与阵列上配装的摄像实所拍的视频图像以透明的方式叠合在一起,就形成了可直观分析被测物产生状态。这种利用声学、电子学和信息处理等技术,变换成人眼可见的图像的技术可以帮助人们直观地认识...
 
- 最稳存储方案:两种方法将摄像头接入威联通Qu405,录像不再丢失
 - 
        
今年我家至少被4位邻居敲门,就是为了查监控!!!原因是小区内部监控很早就停止维护了,半夜老有小黄毛掰车门偷东西,还有闲的没事划车的,车主损失不小,我家很早就配备监控了,人来亮灯有一定威慑力,不过监控设...
 
- 离岗检测算法_离岗检查内容
 - 
        
一、研发背景如今社会许多岗位是严禁随意脱离岗位的,如塔台、保安室、监狱狱警监控室等等,因为此类行为可能会引起重大事故,而此类岗位监督管理又有一定困难,因此促生了智能视频识别系统的出现。二、产品概述及工...
 
- 消防安全通道占用检测报警系统_消防安全通道占用检测报警系统的作用
 - 
        
一、产品概述科缔欧消防安全通道占用检测报警系统,是创新行业智能监督管理方式、完善监管部门动态监控及预警预报体系的信息化手段,是实现平台远程监控由“人为监控”向“智能监控”转变的必要手段。产品致力于设...
 
- 外出住酒店、民宿如何使用手机检测隐藏的监控摄像头
 - 
        
最近,一个家庭在他们的民宿收到了一个大惊喜:客厅里有一个伪装成烟雾探测器的隐藏摄像头,监视着他们的一举一动。隐藏摄像头的存在如果您住在酒店或民宿,隐藏摄像头不应再是您的担忧。对于民宿,房东应报告所有可...
 
- 基于Tilera众核平台的流媒体流量发生系统的设计
 - 
        
曾帅,高宗彬,赵国锋(重庆邮电大学通信与信息工程学院,重庆400065)摘要:设计了一种基于Tilera众核平台高强度的流媒体流量发生系统架构,其主要包括:系统界面管理模块、服务承载模块和流媒体...
 
- 使用ffmpeg将rtsp流转流实现h5端播放
 - 
        
1.主要实现rtsp转tcp协议视频流播放ffmpeg下载安装(公认业界视频处理大佬)a、官网地址:www.ffmpeg.org/b、gitHub:github.com/FFmpeg/FFmp…c、推...
 
- 将摄像头视频流从Rtsp协议转为websocket协议
 - 
        
写在前面很多通过摄像头拿到的视频流格式都是Rtsp协议的,比如:海康威视摄像头。在现代的浏览器中,已经不支持直接播放Rtsp视频流,而且,海康威视提供的本身的webSdk3.3.0视频插件有很多...
 
- 华芸科技推出安全监控中心2.1 Beta测试版
 - 
        
全球独家支持hdmi在线实时监看摄像机画面,具单一、循环或同时监看四频道视频影像,可透过华芸专用红外线遥控器、airemote或是键盘鼠标进行操作,提供摄像机频道增购服务,满足用户弹性扩增频道需...
 
- 一周热门
 
- 最近发表
 
- 标签列表
 - 
- python判断字典是否为空 (50)
 - crontab每周一执行 (48)
 - aes和des区别 (43)
 - bash脚本和shell脚本的区别 (35)
 - canvas库 (33)
 - dataframe筛选满足条件的行 (35)
 - gitlab日志 (33)
 - lua xpcall (36)
 - blob转json (33)
 - python判断是否在列表中 (34)
 - python html转pdf (36)
 - 安装指定版本npm (37)
 - idea搜索jar包内容 (33)
 - css鼠标悬停出现隐藏的文字 (34)
 - linux nacos启动命令 (33)
 - gitlab 日志 (36)
 - adb pull (37)
 - python判断元素在不在列表里 (34)
 - python 字典删除元素 (34)
 - vscode切换git分支 (35)
 - python bytes转16进制 (35)
 - grep前后几行 (34)
 - hashmap转list (35)
 - c++ 字符串查找 (35)
 - mysql刷新权限 (34)
 
 
