C#基础语法与控制台操作

1. 控制台操作基础

控制台程序是学习C#的起点。以下是一些常用的控制台操作方法:

1.1. 清除控制台
Console.Clear(); // 清除控制台内容
1.2. 输出字符串
Console.WriteLine("Hello World!"); // 在屏幕的当前位置换行输出字符串
Console.Write("hello"); // 在屏幕的当前位置输出字符串,不换行

Console是控制台类,WriteLine是方法,"Hello World!"是参数。

1.3. 输入数据
Console.ReadLine();//等待用户输入一行数据,直到回车为止
string s = Console.ReadLine(); //string获取返回值,console是类,readline是方法;
1.4. 等待按键输入
Console.ReadKey(); //暂停当前程序,等待用户按下任意键继续,按下的任意键将显示在控制台当中
1.5. 让计算机发出蜂鸣声
Console.Beep();//让计算机发出蜂鸣声
Console.Beep(200,1000);//是指定频率、持续时长(毫秒)
1.6. 设置光标位置
Console.SetCursorPosition(5, 10); // 设置光标的坐标,横坐标为5,纵坐标为10
1.7. 设置前景色和背景色
Console.ForegroundColor = ConsoleColor.Red; // 设置前景颜色为红色
Console.BackgroundColor = ConsoleColor.Gray; // 设置背景颜色为灰色
Console.ResetColor(); //设置成默认颜色
1.8. 设置控制台标题
Console.Title = "Hello"; // 设置控制台标题
1.9. 程序暂停
System.Threading.Thread.Sleep(3000); // 程序暂停3000毫秒(3秒)

2. 字符串与转义字符

在C#中,字符串可以包含转义字符,例如

  • \n:表示换行,\r\n表示windows系统换行
  • \" :表示一个英文半角的双引号
  • \t:表示制表符tab键。
  • \b:表示一个退格键backspace,删除前面一个字符
  • \\: 表示一个\
  • 如果不想让\具有转义作用,可以使用@符号:
Console.WriteLine(@"C:\aa\bb\c.txt"); // @符号表示后面的\不具有转义作用

3. 数据类型转换

C#提供了丰富的数据类型转换方法,例如:

char ch1 = 'a'; // char类型有且只有一个字符
Console.WriteLine("int最大值: " + int.MaxValue); // 输出int的最大值
Console.WriteLine("int最小值: " + int.MinValue); // 输出int的最小值int i = 9;
string s = Convert.ToString(i); // 将int转换为string
string j = "123";
int k = Convert.ToInt32(j); // 将string转换为int

4. 枚举的使用

枚举是一种特殊的数据类型,用于定义一组命名的常量。例如:

enum Dir // 声明枚举类型
{East, West, South, North
}
Dir d = Dir.West; // 在main()方法中调用枚举
Console.WriteLine(d); // 输出:West

5. 字符串拼接与运算符优先级

在C#中,字符串拼接使用+符号。需要注意的是,运算符的优先级会影响输出结果:

Console.WriteLine(5 + 5 + "hello"); // 输出:10hello
Console.WriteLine("hello" + (5 + 5)); // 输出:hello10
Console.WriteLine("hello" + 5 + 5); // 输出:hello55

6. 自增与自减运算符

自增(++)和自减(--)运算符在C#中非常常用。它们的使用方式如下:

int i = 10;
Console.WriteLine(i++); // 输出:10,然后i加1
Console.WriteLine(++i); // 先将i加1,然后输出:12

7. 循环语句

循环语句是编程中常用的控制结构。以下是一个for循环的示例:

for (int i = 1; i < 4; i++) // 初始化表达式(只执行一次);循环条件表达式;循环后的操作表达式
{Console.WriteLine("hello world");
}

8. 时间与日期

C#提供了强大的日期和时间处理功能。以下是如何获取当前时间的示例:

Console.WriteLine(DateTime.Now); // 输出当前时间

9. 数组的使用

数组是存储多个相同类型数据的集合。以下是一些数组操作的示例:

int[] a1 = new int[5]; // 定义一个长度为5的数组
a1[0] = 3; // 往数组指定位置放数据, 没有数据则补0
a1[1] = 8;
a1[2] = 5;
a1[3] = 99;
a1[4] = 33;
int i = a1[3]; // 从数组指定位置取数据
Console.WriteLine(i); // 输出:99int[] a2 = { 3, 5, 2 }; // 初始化数组
Console.WriteLine(a2[1]); // 输出:5
a2[1] = 333;
Console.WriteLine(a2[1]); // 输出:333

10. 条件语句

条件语句用于根据条件执行不同的代码块。以下是一个简单的if语句示例:

char c = 'a';
if (!char.IsDigit(c)) // 判断char是否是十进制数字
{Console.WriteLine("不能包含有字符");return;//退出当前函数(方法)
}

11. 消息框的使用

在Windows应用程序中,可以使用MessageBox显示消息框:

MessageBox.Show(int.MaxValue.ToString()); // 显示int的最大值,int的最大值为2147483647(10位)

12. 接口的使用

接口是一种定义方法和属性的契约,实现接口的类必须实现接口中定义的所有方法。以下是一个接口的示例:

interface ISpeakable
{void Speak();
}

13. 数据库操作

C#提供了强大的数据库操作功能,通过System.DataSystem.Data.SqlClient命名空间可以方便地操作数据库:

using System.Data; // 包含DataTable、DataSet、DataRow等
using System.Data.SqlClient; // 用于操作ADO.NET

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

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

相关文章

100.Complex[]同时储存实数和虚数两组double的数组 C#例子

在信号处理中&#xff0c;IQ 数据&#xff08;In-phase and Quadrature&#xff09;通常表示复数形式的信号&#xff0c;其中实部表示同相分量&#xff0c;虚部表示正交分量。Complex[] data 是一个包含 IQ 数据的数组&#xff0c;每个元素是一个复数&#xff0c;表示一个信号样…

停止追逐 React 重渲染

大多数开发者都在浪费时间对抗多余的重渲染。真正的 React 架构师根本让问题无从产生——下面就来揭开他们的思路&#xff0c;以及为何大多数所谓的性能优化技巧反而拖慢了你的应用。 重渲染的无尽轮回 先来直击痛点&#xff1a;如果还在项目里到处撒 useMemo、useCallback&…

流水线的安全与合规 - 构建可信的交付链

流水线的安全与合规 - 构建可信的交付链 “安全左移 (Shift-Left Security)”的理念 “安全左移”是 DevSecOps 的核心理念,指的是将安全测试和考量,从软件开发生命周期 (SDLC) 的末端(发布前),尽可能地向左移动到更早的阶段(如编码、构建、测试阶段)。 为何对 SRE 至…

​​​​​​​神经网络基础讲解 一

​​一.神经网络 ​ ​​1. 全连接神经网络&#xff08;Fully Connected Network, FCN&#xff09;​​ ​​核心概念&#xff1a;​​ ​​输入层​​&#xff1a;接收原始数据&#xff08;如数字、图片像素等&#xff09; 数字矩阵 。​​隐藏层​​&#xff1a;对数据…

MySQL 8.0 OCP 英文题库解析(二十二)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题201~210 试题2…

【大模型推理】PD分离场景下decoder负载均衡,如何选取decoder

https://mp.weixin.qq.com/s?__bizMzg4NTczNzg2OA&mid2247507420&idx1&sn4b32726abd205c7f94144bcb9105330f&chksmce64b9fc7f1d8de04a40b0153302dee52262c6f104c67195e2586e75c8093b8be493f252c8a3#rd 在非 Local 场景下&#xff0c;Prefill 定时获取 Decode …

【IP地址】IP应用场景的使用方向

网络安全领域 通过IP地址查询&#xff0c;安全系统能够实时监控网络流量&#xff0c;识别异常访问行为。例如&#xff0c;当某个IP地址在短时间内频繁发起大量请求&#xff0c;且访问模式与正常用户存在明显差异时&#xff0c;系统可将其标记为可疑IP&#xff0c;触发风险预警…

3-18 WPS JS宏 颜色设置实例应用(按条件设置单元格颜色)学习笔记

前面讲解了关于单元格的一些格式的设置&#xff0c;本节课再讲解一下各种清除方法。 1.函数解析与用法 Range().clear()//清除全部 Range().Value2null //清除内容 Range().ClearContents()//清除内容 Range().ClearFormats()//清除格式 Range().EntireRow.Range()//以Ra…

从零开始的云计算生活——第二十天,脚踏实地,SSH与Rsync服务

目录 一.故事背景 二.SSH带外管理 1.概述 2. 配置文件 3.命令解析 4.登录方式配置 a.用户名密码登录 b.公钥验证登录 5.实操生成密钥对 三.Rsyncsersync实现数据实时同步 1.rsync概述 2.rsync运行原理 3.rsync部署 4.备份测试 配置备份目录 5.rsyncsersync 实现…

SpringAI + DeepSeek大模型应用开发 - 初识篇

一、认识AI 1. AI的发展 AI&#xff0c;人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;使机器能像人类一样思考、学习和解决问题的技术。 2. 大模型及其原理 在自然语言处理&#xff08;Natural Language Processing, NLP&#xff09;中&#xff0c;…

c++第八天-多态

虚函数虚析构函数纯虚函数与抽象类 多态实现的条件&#xff1a;&#xff08;1&#xff09;公有继承 &#xff08;2&#xff09;派生类重写基类虚函数 &#xff08;3&#xff09;基类指针/引用指向派生类对象 虚函数不能是构造函数&#xff0c;不能是静态函数&#xff0c;不能…

全景图渲染Vue3+TS使用Photo Sphere Viewer插件实现

1.Photo Sphere Viewer插件安装: title=插件安装 体验AI代码助手 代码解读复制代码npm install photo-sphere-viewer -S 或 yarn add photo-sphere-viewer -S 2.原始全景图展示 初始化标签容器 体验AI代码助手 代码解读复制代码 // 全景图的根节点必须要具备宽高 TS引用,创建…

Redis之分布式锁(3)

这篇文章我们来详细介绍一下如何正确地基于Redis实现分布式锁。 基于Redis的分布式锁实现 组件依赖 首先通过Maven引入Jedis开源组件&#xff0c;在pom.xml文件加入下面的代码&#xff1a; <dependency><groupId>redis.clients</groupId><artifactId&g…

Java课堂笔记11

三个修饰符 一、abstract&#xff08;抽象&#xff09; 1.抽象方法只能在抽象的类里&#xff0c;只有方法的声明&#xff0c;没有方法的实现。&#xff08;没有{}直接&#xff1b;结尾&#xff09;。 2.abstract修饰的类称为抽象类。 注意&#xff1a;&#xff08;1&#x…

Linux 核心知识点整理(高频考点版)

一、编译与工具链 GCC 编译流程 四阶段&#xff1a;预处理&#xff08;-E&#xff0c;处理头文件 / 宏&#xff09;→ 编译&#xff08;-S&#xff0c;生成汇编&#xff09;→ 汇编&#xff08;-c&#xff0c;生成目标文件&#xff09;→ 链接&#xff08;生成可执行程序&…

轻量化社交管理方案:Skout与云手机的巧妙搭配

在移动社交时代&#xff0c;许多用户开始尝试通过多账号管理来拓展社交圈层。近期测试了Skout社交平台与亚矩阵云手机的搭配使用&#xff0c;发现这个组合为轻量级社交账号管理提供了一个值得关注的解决方案。 基础功能介绍 这套组合的核心优势在于&#xff1a; 通过云手机实…

ETL连接器好用吗?如何实现ETL连接?

目录 一、ETL连接器的功能和优势 1. 数据抽取能力 2. 数据转换功能 3. 数据加载功能 4. 优势总结 二、实现ETL连接的步骤 1. 需求分析 2. 选择合适的ETL连接器 3. 配置数据源和目标系统 4. 设计ETL流程 5. 开发和测试ETL任务 6. 部署和监控ETL任务 三、ETL连接器在…

uniapp实现聊天中的接发消息自动滚动、消息定位和回到底部

前言 前言无需多言&#xff0c;想必大家对聊天软件的功能已经很熟悉&#xff0c; 这里不做过多赘述&#xff0c;笔者通过uniapp实现聊天中的接发消息自动滚动、消息定位和回到底部。 代码实现 <template><view class"chat-container"><!-- 消息列表…

MyBatisMyBatis plus

整合 MyBatis 到 Spring 或 Spring Boot 项目中&#xff0c;可以极大地简化开发流程&#xff0c;尤其是当使用 Spring Boot 时&#xff0c;它提供了自动配置功能&#xff0c;使得集成更加简便。 在 Spring Boot 中整合 MyBatis 1. 添加依赖 首先&#xff0c;在 pom.xml 文件中…

Stable Diffusion 实战-手机壁纸制作 第二篇:优化那些“崩脸”和“马赛克”问题,让图像更加完美!

欢迎回来!在《StableDiffusion实战-手机壁纸制作》系列的第一篇中,我们成功完成了基础操作,制作出了令人炫目的手机壁纸。 今天,我们将进入一个更高阶的领域——优化处理。因为谁不想让生成的艺术品更完美呢?尤其是避免“崩脸”和“马赛克”这种让人抓狂的问题! 创作的路…